From a95005030698acf9def8849f44e1649d0bcf00d8 Mon Sep 17 00:00:00 2001 From: Alexey Sandler Date: Mon, 16 Sep 2019 13:37:01 +0300 Subject: Add cloud-region and nf-role as an optional search criteria Issue-ID: VID-596 Signed-off-by: Alexey Sandler Change-Id: I72d9c2c9dc3f39fcc3c87e083ac230d20135e979 --- .../src/main/java/org/onap/vid/aai/AaiClient.java | 34 ++++++++++++++++++---- .../java/org/onap/vid/aai/AaiClientInterface.java | 2 +- .../org/onap/vid/controller/AaiController2.java | 3 +- 3 files changed, 32 insertions(+), 7 deletions(-) (limited to 'vid-app-common/src/main/java/org/onap') 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 c82f5485e..644309d95 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 @@ -289,7 +289,7 @@ public class AaiClient implements AaiClientInterface { } @Override - public AaiResponse getVnfsByParamsForChangeManagement(String subscriberId, String serviceType, @Nullable String nfRole, + public AaiResponse getVnfsByParamsForChangeManagement(String subscriberId, String serviceType, @Nullable String nfRole, @Nullable String cloudRegion) { String payloadAsString = ""; ResponseWithRequestInfo response; @@ -302,19 +302,43 @@ public class AaiClient implements AaiClientInterface { ExceptionUtils.rethrow(e); } response = doAaiPut(QUERY_FORMAT_SIMPLE, payloadAsString, false, false); - AaiResponseWithRequestInfo aaiResponse = processAaiResponse(response, JsonNode.class, false); + AaiResponseWithRequestInfo aaiResponse = processAaiResponse(response, AaiGetVnfResponse.class, false); verifyAaiResponseValidityOrThrowExc(aaiResponse, aaiResponse.getAaiResponse().getHttpCode()); return aaiResponse.getAaiResponse(); } private ImmutableMap getMapForAAIQueryByParams(String subscriberId, String serviceType, @Nullable String nfRole, @Nullable String cloudRegion) { - String nfRoleParam = nfRole != null ? "?nfRole=" + nfRole : ""; - String query = "query/vnfs-fromServiceInstance-filter" + nfRoleParam; + // in a case cloudRegion is null using query/vnfs-fromServiceInstance-filter, + // otherwise using query/vnfs-fromServiceInstance-filterByCloudRegion + if (nfRole != null){ + if (cloudRegion != null){ + return ImmutableMap.of( + "start", ImmutableList + .of("/business/customers/customer/" + subscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances"), + "query", "query/vnfs-fromServiceInstance-filterByCloudRegion?nfRole=" + nfRole + "&cloudRegionID=" + cloudRegion + "" + ); + }else { + return ImmutableMap.of( + "start", ImmutableList + .of("/business/customers/customer/" + subscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances"), + "query", "query/vnfs-fromServiceInstance-filter?nfRole=" + nfRole + "" + ); + } + } + + if (cloudRegion != null){ + return ImmutableMap.of( + "start", ImmutableList + .of("/business/customers/customer/" + subscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances"), + "query", "query/vnfs-fromServiceInstance-filterByCloudRegion?cloudRegionID=" + cloudRegion + "" + ); + } + return ImmutableMap.of( "start", ImmutableList .of("/business/customers/customer/" + subscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances"), - "query", query + "query", "query/vnfs-fromServiceInstance-filter" ); } diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/AaiClientInterface.java b/vid-app-common/src/main/java/org/onap/vid/aai/AaiClientInterface.java index 8c3c66d17..af5429c28 100644 --- a/vid-app-common/src/main/java/org/onap/vid/aai/AaiClientInterface.java +++ b/vid-app-common/src/main/java/org/onap/vid/aai/AaiClientInterface.java @@ -103,5 +103,5 @@ public interface AaiClientInterface extends ProbeInterface { Map getCloudRegionAndTenantByVnfId(String vnfId); - AaiResponse getVnfsByParamsForChangeManagement(String subscriberId, String serviceType, String nfRole, String cloudRegion); + AaiResponse getVnfsByParamsForChangeManagement(String subscriberId, String serviceType, String nfRole, String cloudRegion); } diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/AaiController2.java b/vid-app-common/src/main/java/org/onap/vid/controller/AaiController2.java index d1f7a97b5..6431282e7 100644 --- a/vid-app-common/src/main/java/org/onap/vid/controller/AaiController2.java +++ b/vid-app-common/src/main/java/org/onap/vid/controller/AaiController2.java @@ -25,6 +25,7 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; import org.onap.vid.aai.AaiClientInterface; +import org.onap.vid.aai.AaiGetVnfResponse; import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse; import org.onap.vid.aai.model.ModelVer; import org.onap.vid.aai.model.Permissions; @@ -134,7 +135,7 @@ public class AaiController2 extends VidRestrictedBaseController { } @GetMapping(value = "/get_vnf_data_by_globalid_and_service_type/{globalCustomerId}/{serviceType}") - public Object getVnfDataByGlobalIdAndServiceType( + public AaiGetVnfResponse getVnfDataByGlobalIdAndServiceType( @PathVariable("globalCustomerId") String globalCustomerId, @PathVariable("serviceType") String serviceType, @RequestParam(name="nfRole", required = false) String nfRole, -- cgit 1.2.3-korg