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