Add setting of serviceId to productFamilyId 86/77686/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 1 Feb 2019 04:02:46 +0000 (23:02 -0500)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 1 Feb 2019 04:03:00 +0000 (23:03 -0500)
Add setting of serviceId to productFamilyId and provStatus to PREPROV
on GenericVnf creation

Change-Id: I6b09e8dff522af6c0b32a0bfe30dc6b0623fc900
Issue-ID: SO-1453
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java
bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java

index 63f832d..ca0a78a 100644 (file)
@@ -107,6 +107,7 @@ public class BBInputSetup implements JavaDelegate {
        private static final String NETWORK = "Network";
        private static final String VNF = "Vnf";
        private static final String NETWORK_COLLECTION = "NetworkCollection";
+       private static final String PREPROV = "PREPROV";
 
        @Autowired
        private BBInputSetupUtils bbInputSetupUtils;
@@ -273,10 +274,11 @@ public class BBInputSetup implements JavaDelegate {
                        throws Exception {
                ModelInfo modelInfo = requestDetails.getModelInfo();
                String instanceName = requestDetails.getRequestInfo().getInstanceName();
+               String productFamilyId = requestDetails.getRequestInfo().getProductFamilyId();
                ModelType modelType = modelInfo.getModelType();
                RelatedInstanceList[] relatedInstanceList = requestDetails.getRelatedInstanceList();
 
-               org.onap.so.serviceinstancebeans.Platform platform = requestDetails.getPlatform();
+               org.onap.so.serviceinstancebeans.Platform platform = requestDetails.getPlatform();              
                org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness = requestDetails.getLineOfBusiness();
 
                if (modelType.equals(ModelType.network)) {
@@ -285,7 +287,7 @@ public class BBInputSetup implements JavaDelegate {
                } else if (modelType.equals(ModelType.vnf)) {
                        lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, resourceId);
                        this.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName, serviceInstance,
-                                       lookupKeyMap, relatedInstanceList, resourceId, vnfType, null);
+                                       lookupKeyMap, relatedInstanceList, resourceId, vnfType, null, productFamilyId);
                } else if (modelType.equals(ModelType.volumeGroup)) {
                        lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, resourceId);
                        this.populateVolumeGroup(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId,
@@ -579,7 +581,8 @@ public class BBInputSetup implements JavaDelegate {
                        org.onap.so.serviceinstancebeans.Platform platform,
                        org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness, Service service, String bbName,
                        ServiceInstance serviceInstance, Map<ResourceKey, String> lookupKeyMap,
-                       RelatedInstanceList[] relatedInstanceList, String resourceId, String vnfType, List<Map<String, String>> instanceParams) {
+                       RelatedInstanceList[] relatedInstanceList, String resourceId, String vnfType, List<Map<String, String>> instanceParams,
+                       String productFamilyId) {
                GenericVnf vnf = null;
                ModelInfo instanceGroupModelInfo = null;
                String instanceGroupId = null;
@@ -607,7 +610,7 @@ public class BBInputSetup implements JavaDelegate {
                }
                if (vnf == null && bbName.equalsIgnoreCase(AssignFlows.VNF.toString())) {
                        vnf = createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness,
-                                       resourceId, generatedVnfType, instanceParams);
+                                       resourceId, generatedVnfType, instanceParams, productFamilyId);
                        serviceInstance.getVnfs().add(vnf);
                        mapVnfcCollectionInstanceGroup(vnf, modelInfo, service);
                }
@@ -658,13 +661,16 @@ public class BBInputSetup implements JavaDelegate {
 
        protected GenericVnf createGenericVnf(Map<ResourceKey, String> lookupKeyMap, String instanceName,
                        org.onap.so.serviceinstancebeans.Platform platform,
-                       org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness, String vnfId, String vnfType, List<Map<String, String>> instanceParams) {
+                       org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness, String vnfId, String vnfType, List<Map<String, String>> instanceParams,
+                       String productFamilyId) {
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, vnfId);
                GenericVnf genericVnf = new GenericVnf();
                genericVnf.setVnfId(vnfId);
                genericVnf.setVnfName(instanceName);
                genericVnf.setOrchestrationStatus(OrchestrationStatus.PRECREATED);
                genericVnf.setVnfType(vnfType);
+               genericVnf.setProvStatus(PREPROV);
+               genericVnf.setServiceId(productFamilyId);
                if (platform != null) {
                        genericVnf.setPlatform(this.mapperLayer.mapRequestPlatform(platform));
                }
@@ -1169,8 +1175,10 @@ public class BBInputSetup implements JavaDelegate {
                        if (request != null) {
                                this.bbInputSetupUtils.updateInfraActiveRequestVnfId(request, vnfId);
                        }
+                       String productFamilyId = requestDetails.getRequestInfo().getProductFamilyId();
                        this.populateGenericVnf(vnfs.getModelInfo(), vnfs.getInstanceName(), vnfs.getPlatform(),
-                                       vnfs.getLineOfBusiness(), service, bbName, serviceInstance, lookupKeyMap, null, vnfId, vnfType, vnfs.getInstanceParams());
+                                       vnfs.getLineOfBusiness(), service, bbName, serviceInstance, lookupKeyMap, null, vnfId, vnfType, vnfs.getInstanceParams(),
+                                       productFamilyId);
                } else if (bbName.contains(VF_MODULE) || bbName.contains(VOLUME_GROUP)) {
                        Pair<Vnfs, VfModules> vnfsAndVfModules = getVfModulesAndItsVnfsByKey(key, resources);
                        vfModules = vnfsAndVfModules.getValue1();
index 7068629..35a7005 100644 (file)
@@ -711,11 +711,12 @@ public class BBInputSetupTest {
                String instanceName = "instanceName";
                String vnfType = "vnfType";
                String resourceId = "networkId";
+               String productFamilyId = "productFamilyId";
                Service service = Mockito.mock(Service.class);
                ServiceInstance serviceInstance = Mockito.mock(ServiceInstance.class);
                RequestDetails requestDetails = Mockito.mock(RequestDetails.class);
                ModelInfo modelInfo = Mockito.mock(ModelInfo.class);
-               RequestInfo requestInfo = Mockito.mock(RequestInfo.class);
+               RequestInfo requestInfo = Mockito.mock(RequestInfo.class);              
                RelatedInstanceList[] relatedInstanceList = new RelatedInstanceList[] {};
                CloudConfiguration cloudConfiguration = new CloudConfiguration();
                org.onap.so.serviceinstancebeans.Platform platform = Mockito
@@ -727,13 +728,14 @@ public class BBInputSetupTest {
                doNothing().when(SPY_bbInputSetup).populateL3Network(instanceName, modelInfo, service, bbName, serviceInstance,
                                lookupKeyMap, resourceId, null);
                doReturn(modelInfo).when(requestDetails).getModelInfo();
+               doReturn(productFamilyId).when(requestInfo).getProductFamilyId();
                doReturn(requestInfo).when(requestDetails).getRequestInfo();
                doReturn(instanceName).when(requestInfo).getInstanceName();
                doReturn(platform).when(requestDetails).getPlatform();
                doReturn(lineOfBusiness).when(requestDetails).getLineOfBusiness();
                doReturn(relatedInstanceList).when(requestDetails).getRelatedInstanceList();
                doReturn(cloudConfiguration).when(requestDetails).getCloudConfiguration();
-
+               
                doReturn(ModelType.network).when(modelInfo).getModelType();
                SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance,
                                lookupKeyMap, resourceId, vnfType);
@@ -744,11 +746,11 @@ public class BBInputSetupTest {
                doReturn(ModelType.vnf).when(modelInfo).getModelType();
                resourceId = "vnfId";
                doNothing().when(SPY_bbInputSetup).populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness,
-                               service, bbName, serviceInstance, lookupKeyMap, relatedInstanceList, resourceId, vnfType, null);
+                               service, bbName, serviceInstance, lookupKeyMap, relatedInstanceList, resourceId, vnfType, null, productFamilyId);
                SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance,
                                lookupKeyMap, resourceId, vnfType);
                verify(SPY_bbInputSetup, times(1)).populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness,
-                               service, bbName, serviceInstance, lookupKeyMap, relatedInstanceList, resourceId, vnfType, null);
+                               service, bbName, serviceInstance, lookupKeyMap, relatedInstanceList, resourceId, vnfType, null, productFamilyId);
                assertEquals("VnfId populated", true, lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID).equalsIgnoreCase(resourceId));
 
                doReturn(ModelType.volumeGroup).when(modelInfo).getModelType();
@@ -1208,26 +1210,29 @@ public class BBInputSetupTest {
                doReturn(catalogInstanceGroup).when(SPY_bbInputSetupUtils).getCatalogInstanceGroup(any());
 
                SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName,
-                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null);
+                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null, 
+                               requestDetails.getRequestInfo().getProductFamilyId());
 
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null);
 
                SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName,
-                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null);
+                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null,
+                               requestDetails.getRequestInfo().getProductFamilyId());
                verify(SPY_bbInputSetup, times(1)).mapCatalogVnf(vnf, modelInfo, service);
 
                instanceName = "vnfName2";
                GenericVnf vnf2 = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness,
-                               resourceId, vnfType, null);
+                               resourceId, vnfType, null, requestDetails.getRequestInfo().getProductFamilyId());
                doReturn(vnf2).when(SPY_bbInputSetup).createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness,
-                               resourceId, vnfType, null);
+                               resourceId, vnfType, null, requestDetails.getRequestInfo().getProductFamilyId());
                doNothing().when(SPY_bbInputSetup).mapNetworkCollectionInstanceGroup(vnf2, "{instanceGroupId}");
                doNothing().when(SPY_bbInputSetup).mapVnfcCollectionInstanceGroup(vnf2, modelInfo, service);
 
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, "genericVnfId2");
                
                SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName,
-                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null);
+                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null,
+                               requestDetails.getRequestInfo().getProductFamilyId());
                verify(SPY_bbInputSetup, times(2)).mapCatalogVnf(vnf2, modelInfo, service);
                verify(SPY_bbInputSetup, times(2)).mapNetworkCollectionInstanceGroup(vnf2, "{instanceGroupId}");
                verify(SPY_bbInputSetup, times(2)).mapVnfcCollectionInstanceGroup(vnf2, modelInfo, service);
@@ -1297,17 +1302,19 @@ public class BBInputSetupTest {
                doReturn(catalogInstanceGroup).when(SPY_bbInputSetupUtils).getCatalogInstanceGroup(any());
 
                SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName,
-                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null);
+                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null,
+                               requestDetails.getRequestInfo().getProductFamilyId());
 
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null);
 
                SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName,
-                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null);
+                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null,
+                               requestDetails.getRequestInfo().getProductFamilyId());
                verify(SPY_bbInputSetup, times(1)).mapCatalogVnf(vnf, modelInfo, service);
 
                instanceName = "vnfName2";
                GenericVnf vnf2 = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness,
-                               resourceId, vnfType, null);
+                               resourceId, vnfType, null, requestDetails.getRequestInfo().getProductFamilyId());
        
                org.onap.aai.domain.yang.GenericVnf vnf2AAI = new org.onap.aai.domain.yang.GenericVnf();
                vnfAAI.setModelCustomizationId("modelCustId2");
@@ -1315,7 +1322,8 @@ public class BBInputSetupTest {
                doNothing().when(SPY_bbInputSetup).mapCatalogVnf(vnf2, modelInfo, service);
                doNothing().when(SPY_bbInputSetup).mapNetworkCollectionInstanceGroup(vnf2, "{instanceGroupId}");
                SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName,
-                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null);
+                               serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null,
+                               requestDetails.getRequestInfo().getProductFamilyId());
                verify(SPY_bbInputSetup, times(2)).mapCatalogVnf(vnf2, modelInfo, service);
                verify(SPY_bbInputSetup, times(2)).mapNetworkCollectionInstanceGroup(vnf2, "{instanceGroupId}");
                verify(SPY_bbInputSetup, times(1)).mapVnfcCollectionInstanceGroup(vnf2, modelInfo, service);
@@ -1768,7 +1776,7 @@ public class BBInputSetupTest {
                verify(SPY_bbInputSetup, times(1)).populateGenericVnf(isA(ModelInfo.class), any(String.class),
                                isA(org.onap.so.serviceinstancebeans.Platform.class),
                                isA(org.onap.so.serviceinstancebeans.LineOfBusiness.class), isA(Service.class), any(String.class),
-                               isA(ServiceInstance.class), any(), any(), any(String.class), any(String.class), any());
+                               isA(ServiceInstance.class), any(), any(), any(String.class), any(String.class), any(), any(String.class));
 
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null);
                executeBB.getBuildingBlock().setBpmnFlowName(AssignFlows.VF_MODULE.toString());
@@ -1943,7 +1951,7 @@ public class BBInputSetupTest {
                verify(SPY_bbInputSetup, times(1)).populateGenericVnf(isA(ModelInfo.class), any(String.class),
                                isA(org.onap.so.serviceinstancebeans.Platform.class),
                                isA(org.onap.so.serviceinstancebeans.LineOfBusiness.class), isA(Service.class), any(String.class),
-                               isA(ServiceInstance.class), any(),ArgumentMatchers.isNull(), any(String.class), ArgumentMatchers.isNull(), any());
+                               isA(ServiceInstance.class), any(),ArgumentMatchers.isNull(), any(String.class), ArgumentMatchers.isNull(), any(), any(String.class));
 
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null);
                executeBB.getBuildingBlock().setBpmnFlowName(AssignFlows.VF_MODULE.toString());
@@ -2006,7 +2014,8 @@ public class BBInputSetupTest {
                verify(SPY_bbInputSetup, times(1)).populateGenericVnf(isA(ModelInfo.class), any(String.class),
                                isA(org.onap.so.serviceinstancebeans.Platform.class),
                                isA(org.onap.so.serviceinstancebeans.LineOfBusiness.class), isA(Service.class), any(String.class),
-                               isA(ServiceInstance.class), any(), any(), any(String.class), any(String.class), any());
+                               isA(ServiceInstance.class), any(), any(), any(String.class), any(String.class), any(),
+                               any(String.class));
 
                lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null);
                executeBB.getBuildingBlock().setBpmnFlowName(AssignFlows.VF_MODULE.toString());
@@ -2456,6 +2465,7 @@ public class BBInputSetupTest {
                String vnfType = "vnfType";
                String platformName = "platformName";
                String lineOfBusinessName = "lineOfBusinessName";
+               String productFamilyId = "productFamilyId";
                Platform platform = new Platform();
                platform.setPlatformName(platformName);
                LineOfBusiness lineOfBusiness = new LineOfBusiness();
@@ -2470,6 +2480,8 @@ public class BBInputSetupTest {
                expected.setOrchestrationStatus(OrchestrationStatus.PRECREATED);
                expected.setPlatform(platform);
                expected.setLineOfBusiness(lineOfBusiness);
+               expected.setProvStatus("PREPROV");
+               expected.setServiceId(productFamilyId);
                Map<ResourceKey, String> lookupKeyMap = new HashMap<>();
                List<Map<String, String>> instanceParams = new ArrayList<>();
                instanceParams.add(cloudParams);
@@ -2481,13 +2493,14 @@ public class BBInputSetupTest {
                doReturn(platform).when(bbInputSetupMapperLayer).mapRequestPlatform(requestPlatform);
                doReturn(lineOfBusiness).when(bbInputSetupMapperLayer).mapRequestLineOfBusiness(requestLineOfBusiness);
                
-               GenericVnf actual = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, requestPlatform, requestLineOfBusiness, vnfId, vnfType, instanceParams);
+               GenericVnf actual = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, requestPlatform, requestLineOfBusiness, vnfId, vnfType, instanceParams,
+                               productFamilyId);
                
                assertThat(actual, sameBeanAs(expected));
                assertEquals("LookupKeyMap is populated", vnfId, lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID));
                
                expected.getCloudParams().clear();
-               actual = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, requestPlatform, requestLineOfBusiness, vnfId, vnfType, null);
+               actual = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, requestPlatform, requestLineOfBusiness, vnfId, vnfType, null, productFamilyId);
                assertThat(actual, sameBeanAs(expected));
        }