5e19dad469a474e57b7cb626278d2d62363d507a
[vid.git] / vid-app-common / src / main / java / org / onap / vid / mso / rest / MsoRestClientNew.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 package org.onap.vid.mso.rest;
22
23 import static org.onap.vid.logging.Headers.PARTNER_NAME;
24 import static org.onap.vid.utils.Logging.ONAP_REQUEST_ID_HEADER_KEY;
25
26 import com.google.common.collect.ImmutableMap;
27 import com.google.common.collect.Maps;
28 import io.joshworks.restclient.http.HttpResponse;
29 import io.joshworks.restclient.http.JsonNode;
30 import java.text.DateFormat;
31 import java.text.SimpleDateFormat;
32 import java.util.Date;
33 import java.util.HashMap;
34 import java.util.Map;
35 import javax.ws.rs.core.HttpHeaders;
36 import javax.ws.rs.core.MediaType;
37 import org.apache.commons.codec.binary.Base64;
38 import org.eclipse.jetty.util.security.Password;
39 import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
40 import org.onap.portalsdk.core.util.SystemProperties;
41 import org.onap.vid.aai.HttpResponseWithRequestInfo;
42 import org.onap.vid.changeManagement.MsoRequestDetails;
43 import org.onap.vid.changeManagement.RequestDetailsWrapper;
44 import org.onap.vid.changeManagement.WorkflowRequestDetail;
45 import org.onap.vid.client.SyncRestClient;
46 import org.onap.vid.logging.Headers;
47 import org.onap.vid.model.RequestReferencesContainer;
48 import org.onap.vid.model.SOWorkflowList;
49 import org.onap.vid.mso.MsoInterface;
50 import org.onap.vid.mso.MsoProperties;
51 import org.onap.vid.mso.MsoResponseWrapper;
52 import org.onap.vid.mso.MsoResponseWrapperInterface;
53 import org.onap.vid.mso.MsoUtil;
54 import org.onap.vid.mso.RestObject;
55 import org.onap.vid.utils.Logging;
56 import org.onap.vid.utils.SystemPropertiesWrapper;
57 import org.springframework.http.HttpMethod;
58
59
60 /**
61  * Created by pickjonathan on 21/06/2017.
62  */
63 public class MsoRestClientNew implements MsoInterface {
64
65     /**
66      * The Constant dateFormat.
67      */
68     public static final String X_FROM_APP_ID = "X-FromAppId";
69     final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS");
70     private static final String START = " start";
71     private final SyncRestClient client;
72     private final String baseUrl;
73     private final SystemPropertiesWrapper systemProperties;
74     private final Map<String, String> commonHeaders;
75
76     /**
77      * The logger.
78      */
79     EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(MsoRestClientNew.class);
80
81     public MsoRestClientNew(SyncRestClient client, String baseUrl, SystemPropertiesWrapper systemPropertiesWrapper) {
82         this.client = client;
83         this.baseUrl = baseUrl;
84         this.systemProperties = systemPropertiesWrapper;
85         this.commonHeaders = initCommonHeaders();
86     }
87
88     @Override
89     public MsoResponseWrapper createSvcInstance(RequestDetails requestDetails, String endpoint) {
90         String methodName = "createSvcInstance ";
91         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
92         String path = baseUrl + endpoint;
93
94         return createInstance(requestDetails, path);
95     }
96     
97     @Override
98     public MsoResponseWrapper createE2eSvcInstance(Object requestDetails, String endpoint) {
99         String methodName = "createE2eSvcInstance ";
100         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
101         String path = baseUrl + endpoint;
102
103         return createInstance(requestDetails, path);
104     }
105
106     @Override
107     public MsoResponseWrapper createVnf(RequestDetails requestDetails, String endpoint) {
108
109         String methodName = "createVnf";
110         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
111         String path = baseUrl + endpoint;
112
113         return createInstance(requestDetails, path);
114     }
115
116     @Override
117     public MsoResponseWrapper createNwInstance(RequestDetails requestDetails, String endpoint) {
118
119         String methodName = "createNwInstance";
120         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
121         String path = baseUrl + endpoint;
122
123         return createInstance(requestDetails, path);
124     }
125
126     @Override
127     public MsoResponseWrapper createVolumeGroupInstance(RequestDetails requestDetails, String endpoint) {
128         String methodName = "createVolumeGroupInstance";
129         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
130         String path = baseUrl + endpoint;
131
132         return createInstance(requestDetails, path);
133     }
134
135     @Override
136     public MsoResponseWrapper createVfModuleInstance(RequestDetails requestDetails, String endpoint) {
137         String methodName = "createVfModuleInstance";
138         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
139         String path = baseUrl + endpoint;
140
141         return createInstance(requestDetails, path);
142     }
143
144     @Override
145     public MsoResponseWrapper scaleOutVFModuleInstance(RequestDetailsWrapper requestDetailsWrapper, String endpoint) {
146         String methodName = "scaleOutVFModuleInstance";
147         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
148         String path = baseUrl + endpoint;
149         return createInstance(requestDetailsWrapper, path);
150     }
151
152     @Override
153     public MsoResponseWrapper createConfigurationInstance(org.onap.vid.mso.rest.RequestDetailsWrapper requestDetailsWrapper, String endpoint) {
154         String methodName = "createConfigurationInstance";
155         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
156         String path = baseUrl + endpoint;
157
158         return createInstance(requestDetailsWrapper, path);
159     }
160
161     @Override
162     public MsoResponseWrapper deleteE2eSvcInstance(Object requestDetails, String endpoint) {
163         String methodName = "deleteE2eSvcInstance";
164         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
165         String path = baseUrl + endpoint;
166         return deleteInstance(requestDetails, path);
167     }
168
169     @Override
170     public MsoResponseWrapper deleteSvcInstance(RequestDetails requestDetails, String endpoint) {
171         String methodName = "deleteSvcInstance";
172         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
173         String path = baseUrl + endpoint;
174         return deleteInstance(requestDetails, path);
175     }
176
177     @Override
178     public MsoResponseWrapper unassignSvcInstance(RequestDetails requestDetails, String endpoint) {
179         String methodName = "unassignSvcInstance";
180         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
181         String path = baseUrl + endpoint;
182
183         HttpResponse<String> response = client.post(path, getHeaders(), requestDetails, String.class);
184         return MsoUtil.wrapResponse(response);
185     }
186
187     @Override
188     public MsoResponseWrapper deleteVnf(RequestDetails requestDetails, String endpoint) {
189         String methodName = "deleteVnf";
190         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
191         String path = baseUrl + endpoint;
192
193         return deleteInstance(requestDetails, path);
194     }
195
196     @Override
197     public MsoResponseWrapper deleteVfModule(RequestDetails requestDetails, String endpoint) {
198         String methodName = "deleteVfModule";
199         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
200         String path = baseUrl + endpoint;
201
202         return deleteInstance(requestDetails, path);
203     }
204
205     @Override
206     public MsoResponseWrapper deleteVolumeGroupInstance(RequestDetails requestDetails, String endpoint) {
207         String methodName = "deleteVolumeGroupInstance";
208         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
209         String path = baseUrl + endpoint;
210
211         return deleteInstance(requestDetails, path);
212     }
213
214     @Override
215     public MsoResponseWrapper deleteNwInstance(RequestDetails requestDetails, String endpoint) {
216         String methodName = "deleteNwInstance";
217         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
218         String path = baseUrl + endpoint;
219
220         return deleteInstance(requestDetails, path);
221     }
222
223     @Override
224     public HttpResponseWithRequestInfo<String> getOrchestrationRequest(String endpoint, boolean warpException) {
225         String path = baseUrl + endpoint;
226
227         HttpResponse<String> response = client.get(path, getHeaders(), new HashMap<>(), String.class);
228         return new HttpResponseWithRequestInfo<>(response, path, HttpMethod.GET);
229     }
230
231     @Override
232     public MsoResponseWrapper getOrchestrationRequest(String endpoint) {
233         String path = baseUrl + endpoint;
234
235         HttpResponse<String> response = client.get(path, getHeaders(), new HashMap<>(), String.class);
236         return MsoUtil.wrapResponse(response);
237     }
238
239     @Override
240     public MsoResponseWrapper getManualTasksByRequestId(String t, String sourceId, String endpoint, RestObject restObject) {
241         String methodName = "getManualTasksByRequestId";
242         logger.debug(methodName + START);
243
244         try {
245             String path = baseUrl + endpoint;
246
247             HttpResponse<String> response = client.get(path, getHeaders(), new HashMap<>(), String.class);
248             MsoResponseWrapper w = MsoUtil.wrapResponse(response);
249
250             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " w=" + w.getResponse());
251             return w;
252
253         } catch (Exception e) {
254             logger.error(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
255             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
256             throw e;
257         }
258     }
259
260     @Override
261     public MsoResponseWrapper completeManualTask(RequestDetails requestDetails, String t, String sourceId, String endpoint, RestObject restObject) {
262         String methodName = "completeManualTask";
263         logger.debug(EELFLoggerDelegate.debugLogger, methodName + " calling Complete ");
264         try {
265             String path = baseUrl + endpoint;
266
267             HttpResponse<String> response = client.post(path, getHeaders(), requestDetails, String.class);
268             MsoResponseWrapper w = MsoUtil.wrapResponse(response);
269
270             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " w=" + w.getResponse());
271             return w;
272
273         } catch (Exception e) {
274             logger.error(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
275             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
276             throw e;
277         }
278     }
279
280     @Override
281     public MsoResponseWrapper replaceVnf(org.onap.vid.changeManagement.RequestDetails requestDetails, String endpoint) {
282         String methodName = "replaceVnf";
283         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
284         String path = baseUrl + endpoint;
285         return replaceInstance(requestDetails, path);
286     }
287
288     @Override
289     public MsoResponseWrapper deleteConfiguration(org.onap.vid.mso.rest.RequestDetailsWrapper requestDetailsWrapper, String pmc_endpoint) {
290         String methodName = "deleteConfiguration";
291         logger.debug(EELFLoggerDelegate.debugLogger,
292                 methodName + START);
293         String path = baseUrl + pmc_endpoint;
294
295         return deleteInstance(requestDetailsWrapper, path);
296     }
297
298     @Override
299     public MsoResponseWrapper setConfigurationActiveStatus(RequestDetails request, String endpoint) {
300         String methodName = "setConfigurationActiveStatus";
301         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
302
303         try {
304             String path = baseUrl + endpoint;
305
306             logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== "
307                   + methodName + " calling change configuration active status, path =[" + path + "]");
308             HttpResponse<String> response = client.post(path, getHeaders(), request, String.class);
309             return MsoUtil.wrapResponse(response);
310         } catch (Exception e) {
311             logger.info(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
312             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
313             throw e;
314         }
315     }
316
317     @Override
318     public MsoResponseWrapper setPortOnConfigurationStatus(RequestDetails request, String endpoint) {
319         String methodName = "setPortOnConfigurationStatus";
320         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
321
322         try {
323             String path = baseUrl + endpoint;
324             logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== "
325                 + methodName + " calling change port configuration status, path =[" + path + "]");
326             HttpResponse<String> response = client.post(path, getHeaders(), request, String.class);
327             return MsoUtil.wrapResponse(response);
328         } catch (Exception e) {
329             logger.info(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
330             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
331             throw e;
332         }
333     }
334
335     @Override
336     public MsoResponseWrapperInterface changeManagementUpdate(RequestDetailsWrapper requestDetails, String endpoint) {
337         String path = baseUrl + endpoint;
338         HttpResponse<String> response = client.post(path, getHeaders(), requestDetails, String.class);
339         return MsoUtil.wrapResponse2(response, RequestReferencesContainer.class);
340     }
341
342     public MsoResponseWrapper replaceInstance(org.onap.vid.changeManagement.RequestDetails request, String path) {
343         String methodName = "replaceInstance";
344         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
345
346         try {
347             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " calling Replace VNF, path =[" + path + "]");
348             RequestDetailsWrapper requestDetailsWrapper = new RequestDetailsWrapper();
349             requestDetailsWrapper.requestDetails = new MsoRequestDetails(request);
350
351             HttpResponse<String> response = client.post(path, getHeaders(), requestDetailsWrapper, String.class);
352             MsoResponseWrapper msoResponseWrapperObject = MsoUtil.wrapResponse(response);
353             int status = msoResponseWrapperObject.getStatus();
354             if (status == 202) {
355                 logger.debug(EELFLoggerDelegate.debugLogger, methodName +
356                         ",post succeeded, msoResponseWrapperObject response:" + msoResponseWrapperObject.getResponse());
357             } else {
358                 logger.error(EELFLoggerDelegate.debugLogger, methodName +
359                         ": post failed, msoResponseWrapperObject status" + status + ", response:" + msoResponseWrapperObject.getResponse());
360
361             }
362             return msoResponseWrapperObject;
363
364         } catch (Exception e) {
365             logger.info(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
366             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
367             throw e;
368         }
369
370     }
371
372     @Override
373     public MsoResponseWrapper updateVnf(org.onap.vid.changeManagement.RequestDetails requestDetails, String endpoint) {
374         String methodName = "updateVnf";
375         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
376         String path = baseUrl + endpoint;
377
378         RequestDetailsWrapper wrapper = new RequestDetailsWrapper();
379         wrapper.requestDetails = new MsoRequestDetails(requestDetails);
380         return updateInstance(requestDetails, path);
381     }
382
383     public MsoResponseWrapper updateInstance(org.onap.vid.changeManagement.RequestDetails request, String path) {
384         String methodName = "updateInstance";
385         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
386
387         try {
388             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " calling Delete, path =[" + path + "]");
389
390             RequestDetailsWrapper requestDetailsWrapper = new RequestDetailsWrapper();
391             requestDetailsWrapper.requestDetails = new MsoRequestDetails(request);
392             HttpResponse<String> response = client.put(path, getHeaders(), requestDetailsWrapper, String.class);
393             MsoResponseWrapper w = MsoUtil.wrapResponse(response);
394
395             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " w=" + w.getResponse());
396             return w;
397
398         } catch (Exception e) {
399             logger.info(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
400             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
401             throw e;
402         }
403
404     }
405
406     public MsoResponseWrapper setServiceInstanceStatus(RequestDetails requestDetails,
407         String endpoint) {
408         String methodName = "activateServiceInstance";
409         logger.debug(EELFLoggerDelegate.debugLogger, methodName + " start ");
410         try {
411             String path = baseUrl + endpoint;
412             HttpResponse<String> response = client.post(path, getHeaders(), requestDetails, String.class);
413             MsoResponseWrapper w = MsoUtil.wrapResponse(response);
414             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " w =" + w.getResponse());
415             return w;
416
417         } catch (Exception e) {
418             logger.error(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
419             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
420             throw e;
421         }
422     }
423
424     @Override
425     public MsoResponseWrapper removeRelationshipFromServiceInstance(RequestDetails requestDetails, String endpoint) {
426         String methodName = "removeRelationshipFromServiceInstance";
427         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
428
429         try {
430             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " calling Remove relationship from service instance, path =[" + endpoint + "]");
431             String path = baseUrl + endpoint;
432             HttpResponse<String> response = client.post(path, getHeaders(), requestDetails, String.class);
433             return MsoUtil.wrapResponse(response);
434         } catch (Exception e) {
435             logger.info(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
436             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
437             throw e;
438         }
439     }
440
441     @Override
442     public MsoResponseWrapper addRelationshipToServiceInstance(RequestDetails requestDetails, String addRelationshipsPath) {
443         String methodName = "addRelationshipToServiceInstance";
444         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
445
446         try {
447             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " calling Add relationship to service instance, path =[" + addRelationshipsPath + "]");
448             String path = baseUrl + addRelationshipsPath;
449
450             HttpResponse<String> response = client.post(path, getHeaders(), requestDetails, String.class);
451             return MsoUtil.wrapResponse(response);
452         } catch (Exception e) {
453             logger.info(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
454             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
455             throw e;
456         }
457     }
458
459     @Override
460     public MsoResponseWrapper invokeWorkflow(WorkflowRequestDetail workflowRequestDetail, String invokeWorkflowsPath, Map<String, String> extraHeaders) {
461         String path = baseUrl + invokeWorkflowsPath;
462         Map<String, String> finalHeader = new HashMap<>();
463
464         finalHeader.putAll(getHeaders());
465         finalHeader.putAll(extraHeaders);
466
467         RequestDetailsWrapper<WorkflowRequestDetail> requestDetailsWrapper = new RequestDetailsWrapper<>(workflowRequestDetail);
468
469         HttpResponse<JsonNode> response = client.post(path, finalHeader, requestDetailsWrapper);
470         return MsoUtil.wrapResponse(response);
471     }
472
473     @Override
474     public <T> HttpResponse<T> get(String endpoint, Class<T> responseClass) {
475         String path = baseUrl + endpoint;
476         return client.get(path, getHeaders(), new HashMap<>(), responseClass);
477     }
478
479     @Override
480     public <T> HttpResponse<T> post(String endpoint, RequestDetailsWrapper<?> requestDetailsWrapper, Class<T> responseClass) {
481         String path = baseUrl + endpoint;
482
483         return client.post(path, getHeaders(), requestDetailsWrapper, responseClass);
484     }
485
486     public HttpResponse<SOWorkflowList> getWorkflowListByModelId(String endpoint){
487         String path = baseUrl + endpoint;
488
489         return client.get(path, getHeaders(), Maps.newHashMap(), SOWorkflowList.class);
490     }
491
492     protected MsoResponseWrapper createInstance(Object request, String path) {
493         String methodName = "createInstance";
494         logger.debug(methodName + START);
495
496         try {
497             HttpResponse<String> response = client.post(path, getHeaders(), request, String.class);
498             return MsoUtil.wrapResponse(response);
499         } catch (Exception e) {
500             logger.error(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
501             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
502             throw e;
503         }
504     }
505
506     /**
507      * Delete instance.
508      *
509      * @param request the request
510      * @param path    the path
511      * @return the mso response wrapper
512      * @throws Exception the exception
513      */
514     private MsoResponseWrapper deleteInstance(Object request, String path) {
515         String methodName = "deleteInstance";
516         logger.debug(EELFLoggerDelegate.debugLogger, methodName + START);
517
518         try {
519             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " calling Delete, path =[" + path + "]");
520
521             HttpResponse<String> response = client.delete(path, getHeaders(), request, String.class);
522             MsoResponseWrapper w = MsoUtil.wrapResponse(response);
523
524             logger.debug(EELFLoggerDelegate.debugLogger, methodName + " w=" + w.getResponse());
525             return w;
526
527         } catch (Exception e) {
528             logger.error(EELFLoggerDelegate.errorLogger, "." + methodName + e.toString());
529             logger.debug(EELFLoggerDelegate.debugLogger, "." + methodName + e.toString());
530             throw e;
531         }
532
533     }
534
535     private Map<String, String> getHeaders() {
536         Map<String, String> map = new HashMap<>();
537         map.putAll(commonHeaders);
538         String requestIdValue = Logging.extractOrGenerateRequestId();
539         map.put(SystemProperties.ECOMP_REQUEST_ID, requestIdValue);
540         map.put(ONAP_REQUEST_ID_HEADER_KEY, requestIdValue);
541         map.put(Headers.INVOCATION_ID.getHeaderName(), Headers.INVOCATION_ID.getHeaderValue());
542         return map;
543     }
544
545     private Map<String, String> initCommonHeaders() {
546         String username = systemProperties.getProperty(MsoProperties.MSO_USER_NAME);
547         String password = systemProperties.getProperty(MsoProperties.MSO_PASSWORD);
548         String decrypted_password = Password.deobfuscate(password);
549
550         String authString = username + ":" + decrypted_password;
551
552         byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
553         String authStringEnc = new String(authEncBytes);
554
555         Map<String, String> map = new HashMap<>();
556         map.put(HttpHeaders.AUTHORIZATION,  "Basic " + authStringEnc);
557         map.put(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
558         map.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
559         map.put(X_FROM_APP_ID, systemProperties.getProperty(SystemProperties.APP_DISPLAY_NAME));
560         map.put(PARTNER_NAME.getHeaderName(), PARTNER_NAME.getHeaderValue());
561         return ImmutableMap.copyOf(map);
562     }
563
564 }