X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=sparkybe-onap-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fsparky%2Fdal%2FActiveInventoryAdapter.java;h=ebcc56a5c8fce2cce3a49c9e8994ba34b8d5fc84;hb=206e44d57c0b1800abc2faf313a5c0c1b4945a8a;hp=bd00d20bb6d994f2e07b33a720acbe5670bc05ea;hpb=97d1b45603ad3c860ac733810ff3064990433c50;p=aai%2Fsparky-be.git diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/dal/ActiveInventoryAdapter.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/dal/ActiveInventoryAdapter.java index bd00d20..ebcc56a 100644 --- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/dal/ActiveInventoryAdapter.java +++ b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/dal/ActiveInventoryAdapter.java @@ -69,12 +69,19 @@ public class ActiveInventoryAdapter { private static final String TRANSACTION_ID_PREFIX = "txnId-"; private static final String UI_APP_NAME = "AAI-UI"; + private static final String UI_REQUEST_TYPE = "req"; private OxmModelLoader oxmModelLoader; private OxmEntityLookup oxmEntityLookup; private RestEndpointConfig endpointConfig; private RestClient restClient; + private String domain; + + + private String appPartnerName = ""; + private String syncPartnerName = ""; + private Map> messageHeaders; /** * Instantiates a new active inventory adapter. @@ -83,12 +90,13 @@ public class ActiveInventoryAdapter { */ public ActiveInventoryAdapter(OxmModelLoader oxmModelLoader, OxmEntityLookup oxmEntityLookup, - RestEndpointConfig endpointConfig) + RestEndpointConfig endpointConfig,String domain) throws ElasticSearchOperationException, IOException, RestClientConstructionException { this.oxmModelLoader = oxmModelLoader; this.oxmEntityLookup = oxmEntityLookup; this.endpointConfig = endpointConfig; + this.domain = domain; /* * Add support for de-obfuscating basic auth password (if obfuscated) @@ -107,13 +115,47 @@ public class ActiveInventoryAdapter { this.restClient = RestClientFactory.buildClient(endpointConfig); } + + public String getAppPartnerName() { + return appPartnerName; + } + + public void setAppPartnerName(String appPartnerName) { + this.appPartnerName = appPartnerName; + } + + public String getSyncPartnerName() { + return syncPartnerName; + } + + public void setSyncPartnerName(String syncPartnerName) { + this.syncPartnerName = syncPartnerName; + } protected Map> getMessageHeaders() { Map> headers = new HashMap>(); headers.putIfAbsent(HEADER_FROM_APP_ID, new ArrayList()); - headers.get(HEADER_FROM_APP_ID).add(UI_APP_NAME); + headers.get(HEADER_FROM_APP_ID).add(appPartnerName); + + headers.putIfAbsent(HEADER_TRANS_ID, new ArrayList()); + headers.get(HEADER_TRANS_ID).add(TRANSACTION_ID_PREFIX + NodeUtils.getRandomTxnId()); + + if (endpointConfig.getRestAuthenticationMode() == RestAuthenticationMode.SSL_BASIC) { + headers.putIfAbsent(HEADER_AUTHORIZATION, new ArrayList()); + headers.get(HEADER_AUTHORIZATION).add(getBasicAuthenticationCredentials()); + } + + return headers; + } + + protected Map> getSyncMessageHeaders() { + + Map> headers = new HashMap>(); + + headers.putIfAbsent(HEADER_FROM_APP_ID, new ArrayList()); + headers.get(HEADER_FROM_APP_ID).add(syncPartnerName); headers.putIfAbsent(HEADER_TRANS_ID, new ArrayList()); headers.get(HEADER_TRANS_ID).add(TRANSACTION_ID_PREFIX + NodeUtils.getRandomTxnId()); @@ -150,7 +192,7 @@ public class ActiveInventoryAdapter { throw new RuntimeException("Unable to resolve aai version."); } - return "/aai/" + versionStr.toLowerCase(); + return "/" + domain + "/" + versionStr.toLowerCase(); } @@ -271,7 +313,7 @@ public class ActiveInventoryAdapter { } return queryActiveInventoryWithRetries(link, "application/json", - endpointConfig.getNumRequestRetries()); + endpointConfig.getNumRequestRetries(),"sync"); } @@ -310,9 +352,14 @@ public class ActiveInventoryAdapter { * @return the operation result */ // package protected for test classes instead of private - OperationResult queryActiveInventory(String url, String acceptContentType) { + OperationResult queryActiveInventory(String url, String acceptContentType, String uiRequestType) { - return restClient.get(url, getMessageHeaders(), MediaType.APPLICATION_JSON_TYPE); + if (uiRequestType == UI_REQUEST_TYPE) { + messageHeaders = getMessageHeaders(); + } else { + messageHeaders = getSyncMessageHeaders(); + } + return restClient.get(url, messageHeaders, MediaType.APPLICATION_JSON_TYPE); } @@ -325,7 +372,7 @@ public class ActiveInventoryAdapter { } public OperationResult queryActiveInventoryWithRetries(String url, String responseType, - int numRetries) { + int numRetries,String uiRequestType) { OperationResult result = null; @@ -333,7 +380,7 @@ public class ActiveInventoryAdapter { LOG.debug(AaiUiMsgs.QUERY_AAI_RETRY_SEQ, url, String.valueOf(retryCount + 1)); - result = queryActiveInventory(url, responseType); + result = queryActiveInventory(url, responseType,uiRequestType); /** * Record number of times we have attempted the request to later summarize how many times we @@ -415,5 +462,9 @@ public class ActiveInventoryAdapter { characters such as '?', '&', etc. remain intact as needed by the synchronizer */ return (builder.build().toString() + (includeQueryParams ? queryParams : "")); } + + public String getDomain() { + return domain; + } }