aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java
diff options
context:
space:
mode:
authorPATTANAYAK, SAUMYA SWARUP (sp931a) <sp931a@att.com>2021-09-22 10:22:53 -0400
committerPATTANAYAK, SAUMYA SWARUP (sp931a) <sp931a@att.com>2021-09-29 10:28:22 -0400
commitf78df9f30d5b7bda1b291bff34dd85bdd9411c12 (patch)
tree3bdcae2f31ebdbb6bb2ff21e13a26d83f2e74a00 /vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java
parenta1d209deac01bc0f8f7be96a585bdbef9cc0cdb9 (diff)
AAI Query optimization for VID
Issue-ID: VID-986 Change-Id: Ia3e012c41df4e9049ce9a1ae56ec83b276e11611 Signed-off-by: PATTANAYAK, SAUMYA SWARUP (sp931a) <sp931a@att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java35
1 files changed, 34 insertions, 1 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java b/vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java
index 00137b60c..d37adba7f 100644
--- a/vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java
+++ b/vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java
@@ -109,7 +109,7 @@ public class AaiClient implements AaiClientInterface {
private static final String BUSINESS_CUSTOMER = "/business/customers/customer/";
private static final String SERVICE_INSTANCE = "/service-instances/service-instance/";
private static final String BUSINESS_CUSTOMERS_CUSTOMER = "business/customers/customer/";
-
+ private static final String QUERY_FORMAT_RESOURCE_DSL = "dsl?format=resource&nodesOnly=true&depth=0&as-tree=true";
protected String fromAppId = "VidAaiController";
private PortDetailsTranslator portDetailsTranslator;
@@ -919,6 +919,39 @@ public class AaiClient implements AaiClientInterface {
}
@Override
+ public AaiResponse<DSLQuerySimpleResponse> getServiceInstanceBySubscriberIdAndInstanceIdentifier(String globalCustomerId, String identifierType, String serviceIdentifier) {
+ ResponseWithRequestInfo response;
+ String payload = getDSLQueryPayloadByServiceIdentifier(globalCustomerId,identifierType,serviceIdentifier);
+// Response resp = doAaiPut(QUERY_FORMAT_RESOURCE_DSL, payload, false);
+// resp.bufferEntity();
+// String rawPayload = resp.readEntity(String.class);
+// AaiResponse<DSLQuerySimpleResponse> aaiResponse = processAaiResponse(resp, DSLQuerySimpleResponse.class, rawPayload);
+
+ response = doAaiPut(QUERY_FORMAT_RESOURCE_DSL, payload, false, false);
+ AaiResponseWithRequestInfo<DSLQuerySimpleResponse> aaiResponse = processAaiResponse(response, DSLQuerySimpleResponse.class, false);
+ verifyAaiResponseValidityOrThrowExc(aaiResponse, aaiResponse.getAaiResponse().getHttpCode());
+ return aaiResponse.getAaiResponse();
+ }
+
+ private String getDSLQueryPayloadByServiceIdentifier(String globalCustomerId, String identifierType, String serviceIdentifier) {
+ String query = null;
+ String payLoad = null;
+ if(globalCustomerId != null && identifierType != null && serviceIdentifier != null) {
+ if(identifierType.equalsIgnoreCase("Service Instance Id")) {
+ query = "customer*('global-customer-id','"+globalCustomerId+"')>" +
+ "service-subscription>service-instance*('service-instance-id','"+serviceIdentifier+"')";
+ payLoad = "{\"dsl\":\"" + query + "\"}";
+ } else {
+ query = "customer*('global-customer-id','"+globalCustomerId+"')>" +
+ "service-subscription>service-instance*('service-instance-name','"+serviceIdentifier+"')";
+ payLoad = "{\"dsl\":\"" + query + "\"}";
+ }
+
+ }
+ return payLoad;
+ }
+
+ @Override
public void resetCache(String cacheName) {
cacheProvider.resetCache(cacheName);
}