Add or Delete a PNF to an Active Service
[so.git] / bpmn / MSOCommonBPMN / src / main / java / org / onap / so / bpmn / servicedecomposition / tasks / BBInputSetupUtils.java
index 9205cae..45361f8 100644 (file)
@@ -9,9 +9,9 @@
  * 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.
@@ -36,6 +36,7 @@ import org.onap.aai.domain.yang.GenericVnfs;
 import org.onap.aai.domain.yang.InstanceGroup;
 import org.onap.aai.domain.yang.L3Network;
 import org.onap.aai.domain.yang.L3Networks;
+import org.onap.aai.domain.yang.Pnf;
 import org.onap.aai.domain.yang.ServiceInstance;
 import org.onap.aai.domain.yang.ServiceInstances;
 import org.onap.aai.domain.yang.ServiceSubscription;
@@ -87,7 +88,6 @@ import com.fasterxml.jackson.databind.type.TypeFactory;
 public class BBInputSetupUtils {
 
     private static final Logger logger = LoggerFactory.getLogger(BBInputSetupUtils.class);
-    private ObjectMapper objectMapper = new ObjectMapper();
     private static final String REQUEST_ERROR = "Could not find request.";
     private static final String DATA_LOAD_ERROR = "Could not process loading data from database";
     private static final String DATA_PARSE_ERROR = "Could not parse data";
@@ -190,7 +190,8 @@ public class BBInputSetupUtils {
                                 request.getOriginalRequestId(), PROCESSING_DATA_NAME_EXECUTION_FLOWS);
                 try {
                     ObjectMapper om = new ObjectMapper();
-                    TypeFactory typeFactory = objectMapper.getTypeFactory();
+                    TypeFactory typeFactory = om.getTypeFactory();
+                    om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
                     return om.readValue(requestProcessingData.getValue(),
                             typeFactory.constructCollectionType(List.class, ExecuteBuildingBlock.class));
                 } catch (Exception e) {
@@ -246,6 +247,8 @@ public class BBInputSetupUtils {
         if (requestId != null && !requestId.isEmpty()) {
             InfraActiveRequests activeRequest = this.getInfraActiveRequest(requestId);
             String requestBody = activeRequest.getRequestBody().replaceAll("\\\\", "");
+            ObjectMapper objectMapper = new ObjectMapper();
+            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
             objectMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);
             objectMapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
             return objectMapper.readValue(requestBody, RequestDetails.class);
@@ -267,10 +270,10 @@ public class BBInputSetupUtils {
             String cloudRegionId = cloudConfiguration.getLcpCloudRegionId();
             String cloudOwner = cloudConfiguration.getCloudOwner();
             if (cloudRegionId != null && cloudOwner != null && !cloudRegionId.isEmpty() && !cloudOwner.isEmpty()) {
-                return injectionHelper.getAaiClient()
-                        .get(CloudRegion.class, AAIUriFactory.createResourceUri(
+                return injectionHelper.getAaiClient().get(CloudRegion.class,
+                        AAIUriFactory.createResourceUri(
                                 AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegionId))
-                                .depth(Depth.TWO))
+                                .depth(Depth.ONE).nodesOnly(true))
                         .orElse(null);
 
             } else {
@@ -374,6 +377,11 @@ public class BBInputSetupUtils {
         return getConcreteAAIResource(GenericVnf.class, AAIFluentTypeBuilder.network().genericVnf(vnfId));
     }
 
+
+    public Pnf getAAIPnf(String pnfId) {
+        return getConcreteAAIResource(Pnf.class, AAIFluentTypeBuilder.network().pnf(pnfId));
+    }
+
     public VpnBinding getAAIVpnBinding(String vpnBindingId) {
         return getConcreteAAIResource(VpnBinding.class, AAIFluentTypeBuilder.network().vpnBinding(vpnBindingId));
     }