From f78df9f30d5b7bda1b291bff34dd85bdd9411c12 Mon Sep 17 00:00:00 2001 From: "PATTANAYAK, SAUMYA SWARUP (sp931a)" Date: Wed, 22 Sep 2021 10:22:53 -0400 Subject: AAI Query optimization for VID Issue-ID: VID-986 Change-Id: Ia3e012c41df4e9049ce9a1ae56ec83b276e11611 Signed-off-by: PATTANAYAK, SAUMYA SWARUP (sp931a) --- .../src/main/java/org/onap/vid/aai/AaiClient.java | 35 +++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java') 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; @@ -918,6 +918,39 @@ public class AaiClient implements AaiClientInterface { } } + @Override + public AaiResponse 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 aaiResponse = processAaiResponse(resp, DSLQuerySimpleResponse.class, rawPayload); + + response = doAaiPut(QUERY_FORMAT_RESOURCE_DSL, payload, false, false); + AaiResponseWithRequestInfo 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); -- cgit 1.2.3-korg