Merge "Change serviceInstance CM retrieval" into dublin
authorSteve Smokowski <ss835w@att.com>
Tue, 21 May 2019 16:52:46 +0000 (16:52 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 21 May 2019 16:52:46 +0000 (16:52 +0000)
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/ExtractPojosForBB.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/ExtractPojosForBBTest.java

index 86bbead..b76316b 100644 (file)
@@ -57,8 +57,13 @@ public class ExtractPojosForBB {
             GenericVnf vnf;
             switch (key) {
                 case SERVICE_INSTANCE_ID:
-                    result = lookupObjectInList(gBBInput.getCustomer().getServiceSubscription().getServiceInstances(),
-                            value);
+                    if (gBBInput.getCustomer().getServiceSubscription() == null
+                            && gBBInput.getServiceInstance() != null) {
+                        result = Optional.of((T) gBBInput.getServiceInstance());
+                    } else {
+                        result = lookupObjectInList(
+                                gBBInput.getCustomer().getServiceSubscription().getServiceInstances(), value);
+                    }
                     break;
                 case GENERIC_VNF_ID:
                     serviceInstance = extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID);
index 8ab2c8e..7bd2bee 100644 (file)
@@ -227,4 +227,16 @@ public class ExtractPojosForBBTest extends BaseTest {
         gBBInput.setCustomer(customer);
         extractPojos.extractByKey(execution, ResourceKey.VPN_BONDING_LINK_ID);
     }
+
+    @Test
+    public void getServiceInstanceWithNoCustomer() throws BBObjectNotFoundException {
+        ServiceInstance serviceInstancePend = new ServiceInstance();
+        serviceInstancePend.setServiceInstanceId("abc");
+        lookupKeyMap.put(ResourceKey.SERVICE_INSTANCE_ID, serviceInstancePend.getServiceInstanceId());
+        Customer customer = new Customer();
+        gBBInput.setCustomer(customer);
+        gBBInput.setServiceInstance(serviceInstancePend);
+        ServiceInstance extractServPend = extractPojos.extractByKey(execution, ResourceKey.SERVICE_INSTANCE_ID);
+        assertEquals(extractServPend.getServiceInstanceId(), serviceInstancePend.getServiceInstanceId());
+    }
 }