aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java16
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java193
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceinventory/ServiceInventoryService.java286
-rw-r--r--src/main/resources/jolt/getServiceInventory.json1
4 files changed, 268 insertions, 228 deletions
diff --git a/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java b/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java
index 2414c68..9060249 100644
--- a/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java
+++ b/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java
@@ -30,16 +30,18 @@ public final class OnapComponentsUrlPaths {
// AAI
public static final String AAI_GET_TENANTS_PATH =
- "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/$onap.cloudOwner/$onap.lcpCloudRegionId/tenants";
- public static final String AAI_GET_CUSTOMER_PATH = "/aai/v11/business/customers/customer/";
+ "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/$onap.cloudOwner/$onap.lcpCloudRegionId/tenants";
+ public static final String AAI_GET_CUSTOMER_PATH = "/aai/v14/business/customers/customer/";
public static final String AAI_GET_SERVICES_FOR_CUSTOMER_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions";
+ "/aai/v14/business/customers/customer/$customerId/service-subscriptions";
public static final String AAI_PUT_SERVICE_FOR_CUSTOMER_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/";
- public static final String AAI_GET_SERVICE_FOR_CUSTOMER_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/service-instance/$serviceId";
+ "/aai/v14/business/customers/customer/$customerId/service-subscriptions/service-subscription/";
+ public static final String AAI_GET_SERVICE =
+ "/aai/v14/nodes/service-instances/service-instance/$serviceId";
+ public static final String AAI_GET_SERVICE_CUSTOMER =
+ "/aai/v14/nodes/service-instances/service-instance/$serviceId?format=resource_and_url";
public static final String AAI_GET_SERVICE_INSTANCES_PATH =
- "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/";
+ "/aai/v14/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/";
// MSO
public static final String MSO_CREATE_SERVICE_INSTANCE_PATH = "/onap/so/infra/serviceInstantiation/v7/serviceInstances/";
diff --git a/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java b/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java
index 391cf41..5424db5 100644
--- a/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java
+++ b/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java
@@ -1,17 +1,15 @@
/**
- * Copyright (c) 2018 Orange
+ * Copyright (c) 2018 Orange
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package org.onap.nbi.apis.serviceinventory;
@@ -31,104 +29,129 @@ import org.springframework.stereotype.Service;
@Service
public class AaiClient extends BaseClient {
- public static final String CUSTOMER_ID = "$customerId";
+ public static final String CUSTOMER_ID = "$customerId";
- @Value("${aai.host}")
- private String aaiHost;
+ @Value("${aai.host}")
+ private String aaiHost;
- @Value("${aai.header.authorization}")
- private String aaiHeaderAuthorization;
+ @Value("${aai.header.authorization}")
+ private String aaiHeaderAuthorization;
- @Value("${aai.api.id}")
- private String aaiApiId;
+ @Value("${aai.api.id}")
+ private String aaiApiId;
- @Value("${aai.header.transaction.id}")
- private String aaiTransactionId;
+ @Value("${aai.header.transaction.id}")
+ private String aaiTransactionId;
- private static final String HEADER_AUTHORIZATION = "Authorization";
- private static final String X_FROM_APP_ID = "X-FromAppId";
- private static final Logger LOGGER = LoggerFactory.getLogger(AaiClient.class);
- private static final String X_TRANSACTION_ID = "X-TransactionId";
+ private static final String HEADER_AUTHORIZATION = "Authorization";
+ private static final String X_FROM_APP_ID = "X-FromAppId";
+ private static final Logger LOGGER = LoggerFactory.getLogger(AaiClient.class);
+ private static final String X_TRANSACTION_ID = "X-TransactionId";
- private String aaiServiceUrl;
- private String aaiServicesUrl;
- private String aaiServicesInstancesUrl;
+ private String aaiServiceUrl;
+ private String aaiServiceCustomerUrl;
+ private String aaiServicesUrl;
+ private String aaiServicesInstancesUrl;
- @PostConstruct
- private void setUpAndlogAAIUrl() {
- aaiServiceUrl= new StringBuilder().append(aaiHost).append(OnapComponentsUrlPaths.AAI_GET_SERVICE_FOR_CUSTOMER_PATH).toString();
- aaiServicesUrl= new StringBuilder().append(aaiHost).append(OnapComponentsUrlPaths.AAI_GET_SERVICES_FOR_CUSTOMER_PATH).toString();
- aaiServicesInstancesUrl= new StringBuilder().append(aaiHost).append(OnapComponentsUrlPaths.AAI_GET_SERVICE_INSTANCES_PATH).toString();
+ @PostConstruct
+ private void setUpAndlogAAIUrl() {
+ aaiServiceUrl = new StringBuilder().append(aaiHost)
+ .append(OnapComponentsUrlPaths.AAI_GET_SERVICE).toString();
+ aaiServiceCustomerUrl = new StringBuilder().append(aaiHost)
+ .append(OnapComponentsUrlPaths.AAI_GET_SERVICE_CUSTOMER).toString();
+ aaiServicesUrl = new StringBuilder().append(aaiHost)
+ .append(OnapComponentsUrlPaths.AAI_GET_SERVICES_FOR_CUSTOMER_PATH).toString();
+ aaiServicesInstancesUrl = new StringBuilder().append(aaiHost)
+ .append(OnapComponentsUrlPaths.AAI_GET_SERVICE_INSTANCES_PATH).toString();
- LOGGER.info("AAI service url : "+aaiServiceUrl);
- LOGGER.info("AAI services url : "+aaiServicesUrl);
- LOGGER.info("AAI service instances url : "+aaiServicesInstancesUrl);
+ LOGGER.info("AAI service url : " + aaiServiceUrl);
+ LOGGER.info("AAI services url : " + aaiServicesUrl);
+ LOGGER.info("AAI service instances url : " + aaiServicesInstancesUrl);
- }
+ }
- private HttpHeaders buildRequestHeaderForAAI() {
+ private HttpHeaders buildRequestHeaderForAAI() {
- HttpHeaders httpHeaders = new HttpHeaders();
- httpHeaders.add(HEADER_AUTHORIZATION, aaiHeaderAuthorization);
- httpHeaders.add(X_FROM_APP_ID, aaiApiId);
- httpHeaders.add("Accept", "application/json");
- httpHeaders.add("Content-Type", "application/json");
- httpHeaders.add(X_TRANSACTION_ID, aaiTransactionId);
+ HttpHeaders httpHeaders = new HttpHeaders();
+ httpHeaders.add(HEADER_AUTHORIZATION, aaiHeaderAuthorization);
+ httpHeaders.add(X_FROM_APP_ID, aaiApiId);
+ httpHeaders.add("Accept", "application/json");
+ httpHeaders.add("Content-Type", "application/json");
+ httpHeaders.add(X_TRANSACTION_ID, aaiTransactionId);
- return httpHeaders;
+ return httpHeaders;
- }
+ }
- public Map getCatalogService(String customerId, String serviceSpecName, String serviceId) {
+ public Map getCatalogService(String customerId, String serviceSpecName, String serviceId) {
- String callUrlFormated = aaiServiceUrl.replace(CUSTOMER_ID, customerId);
- callUrlFormated = callUrlFormated.replace("$serviceSpecName", serviceSpecName);
- callUrlFormated = callUrlFormated.replace("$serviceId", serviceId);
+ String callUrlFormated = aaiServiceUrl.replace(CUSTOMER_ID, customerId);
+ callUrlFormated = callUrlFormated.replace("$serviceSpecName", serviceSpecName);
+ callUrlFormated = callUrlFormated.replace("$serviceId", serviceId);
- ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
- if (response != null && response.getStatusCode().equals(HttpStatus.OK)) {
- return (LinkedHashMap) response.getBody();
- }
- return null;
+ ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
+ if (response != null && response.getStatusCode().equals(HttpStatus.OK)) {
+ return (LinkedHashMap) response.getBody();
}
+ return null;
+ }
+
+ public Map getService(String serviceId) {
+ // Retrieve the Service Instance using AAI node query
+ String callUrlFormated = aaiServiceUrl.replace("$serviceId", serviceId);
+ ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
+ if (response != null && response.getStatusCode().equals(HttpStatus.OK)) {
+ return (LinkedHashMap) response.getBody();
+ }
+ return null;
+ }
+ public Map getServiceCustomer(String serviceId) {
- public Map getVNF(String relatedLink) {
-
- StringBuilder callURL = new StringBuilder().append(aaiHost).append(relatedLink);
- try{
- ResponseEntity<Object> response = callApiGet(callURL.toString(), buildRequestHeaderForAAI());
- return (LinkedHashMap) response.getBody();
- } catch (BackendFunctionalException e) {
- LOGGER.error("error on calling {} , {}" , callURL.toString(), e);
- return null;
- }
+ String callUrlFormated = aaiServiceCustomerUrl.replace("$serviceId", serviceId);
+ ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
+ if (response != null && response.getStatusCode().equals(HttpStatus.OK)) {
+ return (LinkedHashMap) response.getBody();
}
-
- public Map getServicesInAaiForCustomer(String customerId) {
- String callUrlFormated = aaiServicesUrl.replace(CUSTOMER_ID, customerId);
- try{
- ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
- return (LinkedHashMap) response.getBody();
- } catch (BackendFunctionalException e) {
- LOGGER.error("error on calling {} , {}" , callUrlFormated, e);
- return null;
- }
+ return null;
+ }
+
+ public Map getVNF(String relatedLink) {
+
+ StringBuilder callURL = new StringBuilder().append(aaiHost).append(relatedLink);
+ try {
+ ResponseEntity<Object> response = callApiGet(callURL.toString(), buildRequestHeaderForAAI());
+ return (LinkedHashMap) response.getBody();
+ } catch (BackendFunctionalException e) {
+ LOGGER.error("error on calling {} , {}", callURL.toString(), e);
+ return null;
}
-
- public Map getServiceInstancesInAaiForCustomer(String customerId, String serviceType) {
- String callUrlFormated = aaiServicesInstancesUrl.replace(CUSTOMER_ID, customerId);
- callUrlFormated = callUrlFormated.replace("$serviceSpecName", serviceType);
-
- try{
- ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
- return (LinkedHashMap) response.getBody();
- } catch (BackendFunctionalException e) {
- LOGGER.error("error on calling {} , {}" , callUrlFormated, e);
- return null;
- }
+ }
+
+ public Map getServicesInAaiForCustomer(String customerId) {
+ String callUrlFormated = aaiServicesUrl.replace(CUSTOMER_ID, customerId);
+ try {
+ ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
+ return (LinkedHashMap) response.getBody();
+ } catch (BackendFunctionalException e) {
+ LOGGER.error("error on calling {} , {}", callUrlFormated, e);
+ return null;
+ }
+ }
+
+ public Map getServiceInstancesInAaiForCustomer(String customerId, String serviceType) {
+ String callUrlFormated = aaiServicesInstancesUrl.replace(CUSTOMER_ID, customerId);
+ callUrlFormated = callUrlFormated.replace("$serviceSpecName", serviceType);
+
+ try {
+ ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
+ return (LinkedHashMap) response.getBody();
+ } catch (BackendFunctionalException e) {
+ LOGGER.error("error on calling {} , {}", callUrlFormated, e);
+ return null;
}
+ }
}
diff --git a/src/main/java/org/onap/nbi/apis/serviceinventory/ServiceInventoryService.java b/src/main/java/org/onap/nbi/apis/serviceinventory/ServiceInventoryService.java
index 1564e9c..0426226 100644
--- a/src/main/java/org/onap/nbi/apis/serviceinventory/ServiceInventoryService.java
+++ b/src/main/java/org/onap/nbi/apis/serviceinventory/ServiceInventoryService.java
@@ -1,14 +1,15 @@
/**
* Copyright (c) 2018 Orange
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package org.onap.nbi.apis.serviceinventory;
@@ -31,163 +32,178 @@ import org.springframework.util.StringUtils;
@Service
public class ServiceInventoryService {
- @Autowired
- NbiClient nbiClient;
+ @Autowired
+ NbiClient nbiClient;
- @Autowired
- AaiClient aaiClient;
+ @Autowired
+ AaiClient aaiClient;
- @Autowired
- GetServiceInventoryJsonTransformer getServiceInventoryJsonTransformer;
+ @Autowired
+ GetServiceInventoryJsonTransformer getServiceInventoryJsonTransformer;
- @Autowired
- FindServiceInventoryJsonTransformer findServiceInventoryJsonTransformer;
+ @Autowired
+ FindServiceInventoryJsonTransformer findServiceInventoryJsonTransformer;
- private static final Logger LOGGER = LoggerFactory.getLogger(ServiceInventoryService.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ServiceInventoryService.class);
- public Map get(String serviceId, MultiValueMap<String, String> params) {
-
- String clientId = params.getFirst("relatedParty.id");
- String serviceSpecId = params.getFirst("serviceSpecification.id");
- String serviceSpecName = params.getFirst("serviceSpecification.name");
-
- if (StringUtils.isEmpty(serviceSpecId) && StringUtils.isEmpty(serviceSpecName)) {
- throw new BackendFunctionalException(HttpStatus.NOT_FOUND,
- "serviceSpecName or serviceSpecId must be provided","serviceSpecName or serviceSpecId must be provided");
- }
-
- String customerId = getCustomerId(clientId);
- String serviceName = getServiceName(serviceSpecName, serviceSpecId);
- Map serviceResponse = aaiClient.getCatalogService(customerId, serviceName, serviceId);
-
- if (serviceResponse != null) {
- addVnfsToResponse(serviceResponse);
- LinkedHashMap serviceInventoryResponse =
- (LinkedHashMap) getServiceInventoryJsonTransformer.transform(serviceResponse);
- addRelatedPartyId(customerId, serviceInventoryResponse);
- return serviceInventoryResponse;
- } else {
- throw new BackendFunctionalException(HttpStatus.NOT_FOUND, "no catalog service found","no catalog service found");
- }
+ public Map get(String serviceId, MultiValueMap<String, String> params) {
+ Map serviceResponse = aaiClient.getService(serviceId);
+ if (serviceResponse != null) {
+ addVnfsToResponse(serviceResponse);
+ LinkedHashMap serviceInventoryResponse =
+ (LinkedHashMap) getServiceInventoryJsonTransformer.transform(serviceResponse);
+ addrelatedPartyIdIdandSpecName(serviceId, serviceInventoryResponse);
+ return serviceInventoryResponse;
+ } else {
+ throw new BackendFunctionalException(HttpStatus.NOT_FOUND, "no catalog service found",
+ "no catalog service found");
}
+ }
- private String getCustomerId(String clientId) {
-
- if (StringUtils.isEmpty(clientId)) {
- return "generic";
- } else {
- return clientId;
- }
-
- }
- private String getServiceName(String serviceSpecificationName, String serviceSpecificationId) {
-
- if (StringUtils.isEmpty(serviceSpecificationName)) {
- Map serviceSpecification = nbiClient.getServiceSpecification(serviceSpecificationId);
- return (String) serviceSpecification.get("name");
- } else {
- return serviceSpecificationName;
- }
+ private String getCustomerId(String clientId) {
+ if (StringUtils.isEmpty(clientId)) {
+ return "generic";
+ } else {
+ return clientId;
}
- private void addRelatedPartyId(String customerId, LinkedHashMap serviceInventoryResponse) {
+ }
- LinkedHashMap relatedParty = (LinkedHashMap) serviceInventoryResponse.get("relatedParty");
- relatedParty.put("id", customerId);
+ private String getServiceName(String serviceSpecificationName, String serviceSpecificationId) {
+ if (StringUtils.isEmpty(serviceSpecificationName)) {
+ Map serviceSpecification = nbiClient.getServiceSpecification(serviceSpecificationId);
+ return (String) serviceSpecification.get("name");
+ } else {
+ return serviceSpecificationName;
}
- private void addVnfsToResponse(Map serviceResponse) {
-
- List<Map> vnfs = new ArrayList<>();
- LinkedHashMap relationShip = (LinkedHashMap) serviceResponse.get("relationship-list");
- if (relationShip != null) {
- List<LinkedHashMap> relationsList = (List<LinkedHashMap>) relationShip.get("relationship");
- if (relationsList != null) {
- for (LinkedHashMap relation : relationsList) {
- String relatedLink = (String) relation.get("related-link");
- Map vnf = aaiClient.getVNF(relatedLink);
- if (vnf != null) {
- vnfs.add(vnf);
- }
- }
- serviceResponse.put("vnfs", vnfs);
- }
+ }
+
+ private void addrelatedPartyIdIdandSpecName(String serviceId,
+ LinkedHashMap serviceInventoryResponse) {
+
+ String customerId;
+ String serviceSpecName;
+ LinkedHashMap relatedParty = (LinkedHashMap) serviceInventoryResponse.get("relatedParty");
+ LinkedHashMap serviceSpecification =
+ (LinkedHashMap) serviceInventoryResponse.get("serviceSpecification");
+ Map servicecustomerResponse = aaiClient.getServiceCustomer(serviceId);
+ if (servicecustomerResponse != null) {
+ List<LinkedHashMap> serviceCustomerResults =
+ (List<LinkedHashMap>) servicecustomerResponse.get("results");
+
+ if (!CollectionUtils.isEmpty(serviceCustomerResults)) {
+ for (LinkedHashMap serviceCustomerResult : serviceCustomerResults) {
+ String url = (String) serviceCustomerResult.get("url");
+ String[] pathObjects = url.split("/");
+ customerId = pathObjects[6];
+ serviceSpecName = pathObjects[9];
+ relatedParty.put("id", customerId);
+ serviceSpecification.put("name", serviceSpecName);
}
+ } else {
+ LOGGER.warn("no service instance found for serviceId {}", serviceId);
+ }
+ } else {
+ LOGGER.warn("no service instance found for serviceId {}", serviceId);
}
-
-
- public List<LinkedHashMap> find(MultiValueMap<String, String> params) {
-
- String clientId = params.getFirst("relatedParty.id");
- String serviceSpecId = params.getFirst("serviceSpecification.id");
- String serviceSpecName = params.getFirst("serviceSpecification.name");
- String customerId = getCustomerId(clientId);
- String serviceName;
- List<LinkedHashMap> serviceInstances = new ArrayList<>();
- if (StringUtils.isEmpty(serviceSpecId) && StringUtils.isEmpty(serviceSpecName)) {
- handleFindWithNoServiceParam(customerId, serviceInstances);
- } else {
- serviceName = getServiceName(serviceSpecName, serviceSpecId);
- buildServiceInstances(serviceInstances, customerId, serviceName);
- }
- List<LinkedHashMap> serviceInventoryResponse = new ArrayList<>();
- if(!CollectionUtils.isEmpty(serviceInstances)){
- serviceInventoryResponse =
- findServiceInventoryJsonTransformer.transform(serviceInstances);
- for (LinkedHashMap serviceInventory : serviceInventoryResponse) {
- LinkedHashMap party = (LinkedHashMap) serviceInventory.get("relatedParty");
- party.put("id", customerId);
- }
- }else {
- LOGGER.warn("no service instance found for customer {} ",customerId);
+ }
+
+ private void addVnfsToResponse(Map serviceResponse) {
+
+ List<Map> vnfs = new ArrayList<>();
+ LinkedHashMap relationShip = (LinkedHashMap) serviceResponse.get("relationship-list");
+ if (relationShip != null) {
+ List<LinkedHashMap> relationsList = (List<LinkedHashMap>) relationShip.get("relationship");
+ if (relationsList != null) {
+ for (LinkedHashMap relation : relationsList) {
+ String relatedLink = (String) relation.get("related-link");
+ Map vnf = aaiClient.getVNF(relatedLink);
+ if (vnf != null) {
+ vnfs.add(vnf);
+ }
}
- return serviceInventoryResponse;
+ serviceResponse.put("vnfs", vnfs);
+ }
+ }
+ }
+
+
+ public List<LinkedHashMap> find(MultiValueMap<String, String> params) {
+
+ String clientId = params.getFirst("relatedParty.id");
+ String serviceSpecId = params.getFirst("serviceSpecification.id");
+ String serviceSpecName = params.getFirst("serviceSpecification.name");
+ String customerId = getCustomerId(clientId);
+ String serviceName;
+ List<LinkedHashMap> serviceInstances = new ArrayList<>();
+ if (StringUtils.isEmpty(serviceSpecId) && StringUtils.isEmpty(serviceSpecName)) {
+ handleFindWithNoServiceParam(customerId, serviceInstances);
+ } else {
+ serviceName = getServiceName(serviceSpecName, serviceSpecId);
+ buildServiceInstances(serviceInstances, customerId, serviceName);
+ }
+ List<LinkedHashMap> serviceInventoryResponse = new ArrayList<>();
+ if (!CollectionUtils.isEmpty(serviceInstances)) {
+ serviceInventoryResponse = findServiceInventoryJsonTransformer.transform(serviceInstances);
+ for (LinkedHashMap serviceInventory : serviceInventoryResponse) {
+ LinkedHashMap party = (LinkedHashMap) serviceInventory.get("relatedParty");
+ party.put("id", customerId);
+ }
+ } else {
+ LOGGER.warn("no service instance found for customer {} ", customerId);
+ }
+ return serviceInventoryResponse;
+
+
+ }
+
+ private void handleFindWithNoServiceParam(String customerId,
+ List<LinkedHashMap> serviceInstances) {
+ Map servicesInAaiForCustomer = aaiClient.getServicesInAaiForCustomer(customerId);
+ if (servicesInAaiForCustomer != null) {
+ List<LinkedHashMap> servicesInAAI =
+ (List<LinkedHashMap>) servicesInAaiForCustomer.get("service-subscription");
+ for (LinkedHashMap service : servicesInAAI) {
+ String serviceType = (String) service.get("service-type");
+ buildServiceInstances(serviceInstances, customerId, serviceType);
+ }
+ } else {
+ LOGGER.warn("no service instance found for customer {} ", customerId);
+ }
+ }
+ private void buildServiceInstances(List<LinkedHashMap> serviceInstances, String customerId,
+ String serviceType) {
- }
+ Map serviceInstancesInAaiForCustomer =
+ aaiClient.getServiceInstancesInAaiForCustomer(customerId, serviceType);
+ if (serviceInstancesInAaiForCustomer != null) {
+ List<LinkedHashMap> serviceInstancesForServiceType =
+ (List<LinkedHashMap>) serviceInstancesInAaiForCustomer.get("service-instance");
- private void handleFindWithNoServiceParam(String customerId, List<LinkedHashMap> serviceInstances) {
- Map servicesInAaiForCustomer = aaiClient.getServicesInAaiForCustomer(customerId);
- if(servicesInAaiForCustomer!=null){
- List<LinkedHashMap> servicesInAAI =
- (List<LinkedHashMap>) servicesInAaiForCustomer.get("service-subscription");
- for (LinkedHashMap service : servicesInAAI) {
- String serviceType = (String) service.get("service-type");
- buildServiceInstances(serviceInstances, customerId, serviceType);
- }
- }else {
- LOGGER.warn("no service instance found for customer {} ",customerId);
+ if (!CollectionUtils.isEmpty(serviceInstancesForServiceType)) {
+ // add service type for jolt
+ for (LinkedHashMap serviceInstanceForServiceType : serviceInstancesForServiceType) {
+ serviceInstanceForServiceType.put("service-type", serviceType);
}
+ serviceInstances.addAll(serviceInstancesForServiceType);
+ } else {
+ LOGGER.warn("no service instance found for customer {} and service type {}", customerId,
+ serviceType);
+ }
+ } else {
+ LOGGER.warn("no service instance found for customer {} and service type {}", customerId,
+ serviceType);
}
- private void buildServiceInstances(List<LinkedHashMap> serviceInstances, String customerId, String serviceType) {
-
- Map serviceInstancesInAaiForCustomer =
- aaiClient.getServiceInstancesInAaiForCustomer(customerId, serviceType);
- if (serviceInstancesInAaiForCustomer != null) {
- List<LinkedHashMap> serviceInstancesForServiceType =
- (List<LinkedHashMap>) serviceInstancesInAaiForCustomer.get("service-instance");
-
- if (!CollectionUtils.isEmpty(serviceInstancesForServiceType)) {
- // add service type for jolt
- for (LinkedHashMap serviceInstanceForServiceType : serviceInstancesForServiceType) {
- serviceInstanceForServiceType.put("service-type", serviceType);
- }
- serviceInstances.addAll(serviceInstancesForServiceType);
- } else {
- LOGGER.warn("no service instance found for customer {} and service type {}",customerId,serviceType);
- }
- } else {
- LOGGER.warn("no service instance found for customer {} and service type {}",customerId,serviceType);
- }
-
- }
+ }
}
diff --git a/src/main/resources/jolt/getServiceInventory.json b/src/main/resources/jolt/getServiceInventory.json
index cb75530..b3751b1 100644
--- a/src/main/resources/jolt/getServiceInventory.json
+++ b/src/main/resources/jolt/getServiceInventory.json
@@ -25,7 +25,6 @@
"operation": "default",
"spec": {
"type": "service-instance",
- "hasStarted": "yes",
"@type": "serviceONAP",
"serviceSpecification" : {
"@type" :"ONAPservice"