From 48cb43adc20ac10fa6f22c0e03fe2b6775d45b87 Mon Sep 17 00:00:00 2001 From: "Plummer, Brittany" Date: Fri, 24 Jan 2020 13:30:20 -0500 Subject: convert bbinputsetup populate methods to use Setup populate methods to use parameter object Fixed BBInputSetup failing unit tests Fixed formatting in BBInputSEtup changes Updated unit test mocks to include parameter object Added fix for failing macro robot tests Formatted BBInputSetup changes Fixed compilation problems and added new parameters Added serviceModel parameter to bbinputsetupparameter object Fixed compilation error and removed unnecessary mockito stubbings Issue-ID: SO-2615 Signed-off-by: Benjamin, Max (mb388a) Change-Id: I60601e4df96f999506fa4fbfa6d9ffc80b42a8c9 --- .../servicedecomposition/tasks/BBInputSetup.java | 439 +++++++++--------- .../tasks/BBInputSetupParameter.java | 503 +++++++++++++++++++++ .../tasks/BBInputSetupExistingServiceTest.java | 25 +- .../tasks/BBInputSetupPopulateMethodsTest.java | 66 ++- .../tasks/BBInputSetupTest.java | 327 +++++++------- 5 files changed, 932 insertions(+), 428 deletions(-) create mode 100644 bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupParameter.java (limited to 'bpmn') diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java index a065bbff1c..a4793476e4 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java @@ -294,11 +294,14 @@ public class BBInputSetup implements JavaDelegate { serviceInstance.setModelInfoServiceInstance( this.mapperLayer.mapCatalogServiceIntoServiceInstance(serviceModel.getCurrentService())); } - this.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance, lookupKeyMap, - resourceId, vnfType, executeBB.getBuildingBlock().getKey(), executeBB.getConfigurationResourceKeys(), - isReplace, serviceModel); - return this.populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, executeBB, requestAction, null); - + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(executeBB.getRequestId()) + .setRequestDetails(requestDetails).setService(service).setBbName(bbName) + .setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap).setResourceId(resourceId) + .setVnfType(vnfType).setKey(executeBB.getBuildingBlock().getKey()) + .setConfigurationResourceKeys(executeBB.getConfigurationResourceKeys()).setExecuteBB(executeBB) + .setRequestAction(requestAction).setIsReplace(isReplace).setServiceModel(serviceModel).build(); + this.populateObjectsOnAssignAndCreateFlows(parameter); + return this.populateGBBWithSIAndAdditionalInfo(parameter); } protected GeneralBuildingBlock getGBBCM(ExecuteBuildingBlock executeBB, RequestDetails requestDetails, @@ -315,7 +318,6 @@ public class BBInputSetup implements JavaDelegate { GenericVnf genericVnf = this.mapperLayer.mapAAIGenericVnfIntoGenericVnf(aaiGenericVnf); genericVnfs.add(genericVnf); } - String instanceGroupId = lookupKeyMap.get(ResourceKey.INSTANCE_GROUP_ID); if (instanceGroupId != null && !instanceGroupId.isEmpty()) { org.onap.aai.domain.yang.InstanceGroup aaiInstancegroup = @@ -352,69 +354,62 @@ public class BBInputSetup implements JavaDelegate { serviceInstance.getInstanceGroups().add(instanceGroup); customer.setServiceSubscription(new ServiceSubscription()); } - return this.populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, executeBB, requestAction, - customer); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestDetails(requestDetails) + .setServiceInstance(serviceInstance).setExecuteBB(executeBB).setRequestAction(requestAction) + .setCustomer(customer).build(); + return this.populateGBBWithSIAndAdditionalInfo(parameter); } - protected void populateObjectsOnAssignAndCreateFlows(RequestDetails requestDetails, Service service, String bbName, - ServiceInstance serviceInstance, Map lookupKeyMap, String resourceId, String vnfType, - String configurationKey, ConfigurationResourceKeys configurationResourceKeys, boolean isReplace, - ServiceModel serviceModel) throws Exception { - ModelInfo modelInfo = requestDetails.getModelInfo(); - String instanceName = requestDetails.getRequestInfo().getInstanceName(); - String productFamilyId = requestDetails.getRequestInfo().getProductFamilyId(); - ModelType modelType = modelInfo.getModelType(); - RelatedInstanceList[] relatedInstanceList = requestDetails.getRelatedInstanceList(); + protected void populateObjectsOnAssignAndCreateFlows(BBInputSetupParameter parameter) throws Exception { + parameter.setModelInfo(parameter.getRequestDetails().getModelInfo()); + parameter.setInstanceName(parameter.getRequestDetails().getRequestInfo().getInstanceName()); + parameter.setProductFamilyId(parameter.getRequestDetails().getRequestInfo().getProductFamilyId()); + ModelType modelType = parameter.getModelInfo().getModelType(); + parameter.setRelatedInstanceList(parameter.getRequestDetails().getRelatedInstanceList()); - org.onap.so.serviceinstancebeans.Platform platform = requestDetails.getPlatform(); - org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness = requestDetails.getLineOfBusiness(); + parameter.setPlatform(parameter.getRequestDetails().getPlatform()); + parameter.setLineOfBusiness(parameter.getRequestDetails().getLineOfBusiness()); String applicationId = ""; - if (requestDetails.getRequestInfo().getApplicationId() != null) { - applicationId = requestDetails.getRequestInfo().getApplicationId(); + if (parameter.getRequestDetails().getRequestInfo().getApplicationId() != null) { + applicationId = parameter.getRequestDetails().getRequestInfo().getApplicationId(); + parameter.setApplicationId(applicationId); } if (modelType.equals(ModelType.network)) { - lookupKeyMap.put(ResourceKey.NETWORK_ID, resourceId); - this.populateL3Network(instanceName, modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - null); + parameter.getLookupKeyMap().put(ResourceKey.NETWORK_ID, parameter.getResourceId()); + this.populateL3Network(parameter); } 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, productFamilyId, applicationId, - isReplace); + parameter.getLookupKeyMap().put(ResourceKey.GENERIC_VNF_ID, parameter.getResourceId()); + this.populateGenericVnf(parameter); } else if (modelType.equals(ModelType.volumeGroup) || (modelType.equals(ModelType.vfModule) - && (bbName.equalsIgnoreCase(AssignFlows.VOLUME_GROUP.toString()) || bbName.startsWith(CREATEVOLUME)))) { - lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, resourceId); - this.populateVolumeGroup(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - relatedInstanceList, instanceName, vnfType, null); + && (parameter.getBbName().equalsIgnoreCase(AssignFlows.VOLUME_GROUP.toString()) + || parameter.getBbName().startsWith(CREATEVOLUME)))) { + parameter.getLookupKeyMap().put(ResourceKey.VOLUME_GROUP_ID, parameter.getResourceId()); + this.populateVolumeGroup(parameter); } else if (modelType.equals(ModelType.vfModule)) { - if (bbName.contains("Configuration")) { - String configurationId = lookupKeyMap.get(ResourceKey.CONFIGURATION_ID); - ModelInfo configurationModelInfo = new ModelInfo(); - configurationModelInfo.setModelCustomizationUuid(configurationKey); - populateConfiguration(configurationModelInfo, service, bbName, serviceInstance, lookupKeyMap, - configurationId, instanceName, configurationResourceKeys, requestDetails); + if (parameter.getBbName().contains("Configuration")) { + parameter.setResourceId(parameter.getLookupKeyMap().get(ResourceKey.CONFIGURATION_ID)); + parameter.getModelInfo().setModelCustomizationUuid(parameter.getConfigurationKey()); + populateConfiguration(parameter); } else { - lookupKeyMap.put(ResourceKey.VF_MODULE_ID, resourceId); - this.populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - relatedInstanceList, instanceName, null, requestDetails.getCloudConfiguration(), isReplace, - serviceModel); + parameter.getLookupKeyMap().put(ResourceKey.VF_MODULE_ID, parameter.getResourceId()); + parameter.setCloudConfiguration(parameter.getRequestDetails().getCloudConfiguration()); + this.populateVfModule(parameter); } } else if (modelType.equals(ModelType.instanceGroup)) { - lookupKeyMap.put(ResourceKey.INSTANCE_GROUP_ID, resourceId); - this.populateInstanceGroup(modelInfo, service, serviceInstance, resourceId, instanceName); + parameter.getLookupKeyMap().put(ResourceKey.INSTANCE_GROUP_ID, parameter.getResourceId()); + this.populateInstanceGroup(parameter); } else { return; } } - protected void populateInstanceGroup(ModelInfo modelInfo, Service service, ServiceInstance serviceInstance, - String instanceGroupId, String instanceName) { + protected void populateInstanceGroup(BBInputSetupParameter parameter) { InstanceGroup instanceGroup = new InstanceGroup(); - instanceGroup.setId(instanceGroupId); - instanceGroup.setInstanceGroupName(instanceName); - mapCatalogInstanceGroup(instanceGroup, modelInfo, service); - serviceInstance.getInstanceGroups().add(instanceGroup); + instanceGroup.setId(parameter.getInstanceGroupId()); + instanceGroup.setInstanceGroupName(parameter.getInstanceName()); + mapCatalogInstanceGroup(instanceGroup, parameter.getModelInfo(), parameter.getService()); + parameter.getServiceInstance().getInstanceGroups().add(instanceGroup); } protected void mapCatalogInstanceGroup(InstanceGroup instanceGroup, ModelInfo modelInfo, Service service) { @@ -422,33 +417,35 @@ public class BBInputSetup implements JavaDelegate { // Dependent on MSO-5821 653458 US - MSO - Enhance Catalog DB Schema & Adapter to support VNF Groups } - protected void populateConfiguration(ModelInfo modelInfo, Service service, String bbName, - ServiceInstance serviceInstance, Map lookupKeyMap, String resourceId, - String instanceName, ConfigurationResourceKeys configurationResourceKeys, RequestDetails requestDetails) { + protected void populateConfiguration(BBInputSetupParameter parameter) { Configuration configuration = null; - for (Configuration configurationTemp : serviceInstance.getConfigurations()) { - if (lookupKeyMap.get(ResourceKey.CONFIGURATION_ID) != null && configurationTemp.getConfigurationId() - .equalsIgnoreCase(lookupKeyMap.get(ResourceKey.CONFIGURATION_ID))) { + for (Configuration configurationTemp : parameter.getServiceInstance().getConfigurations()) { + if (parameter.getLookupKeyMap().get(ResourceKey.CONFIGURATION_ID) != null + && configurationTemp.getConfigurationId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.CONFIGURATION_ID))) { configuration = configurationTemp; org.onap.aai.domain.yang.Configuration aaiConfiguration = bbInputSetupUtils.getAAIConfiguration(configuration.getConfigurationId()); if (aaiConfiguration != null) { - modelInfo.setModelCustomizationUuid(aaiConfiguration.getModelCustomizationId()); + parameter.getModelInfo().setModelCustomizationUuid(aaiConfiguration.getModelCustomizationId()); } } } - if (configuration == null && (bbName.equalsIgnoreCase(AssignFlows.FABRIC_CONFIGURATION.toString()) - || bbName.equalsIgnoreCase(AssignFlows.VRF_CONFIGURATION.toString()))) { - configuration = this.createConfiguration(lookupKeyMap, instanceName, resourceId); - serviceInstance.getConfigurations().add(configuration); + if (configuration == null + && (parameter.getBbName().equalsIgnoreCase(AssignFlows.FABRIC_CONFIGURATION.toString()) + || parameter.getBbName().equalsIgnoreCase(AssignFlows.VRF_CONFIGURATION.toString()))) { + configuration = this.createConfiguration(parameter.getLookupKeyMap(), parameter.getInstanceName(), + parameter.getResourceId()); + parameter.getServiceInstance().getConfigurations().add(configuration); } - if (configuration != null && bbName.contains("Fabric")) { - Vnfc vnfc = getVnfcToConfiguration(configurationResourceKeys.getVnfcName()); + if (configuration != null && parameter.getBbName().contains("Fabric")) { + Vnfc vnfc = getVnfcToConfiguration(parameter.getConfigurationResourceKeys().getVnfcName()); configuration.setVnfc(vnfc); - this.mapCatalogConfiguration(configuration, modelInfo, service, configurationResourceKeys); - } else if (configuration != null && bbName.contains("Vrf")) { + this.mapCatalogConfiguration(configuration, parameter.getModelInfo(), parameter.getService(), + parameter.getConfigurationResourceKeys()); + } else if (configuration != null && parameter.getBbName().contains("Vrf")) { configuration.setModelInfoConfiguration(mapperLayer.mapCatalogConfigurationToConfiguration( - findConfigurationResourceCustomization(modelInfo, service), null)); + findConfigurationResourceCustomization(parameter.getModelInfo(), parameter.getService()), null)); configuration.setConfigurationType(configuration.getModelInfoConfiguration().getConfigurationType()); configuration.setConfigurationSubType(configuration.getModelInfoConfiguration().getConfigurationRole()); } @@ -525,45 +522,43 @@ public class BBInputSetup implements JavaDelegate { vfModuleCustomizationUUID, cvnfcCustomizationUUID); } - protected void populateVfModule(ModelInfo modelInfo, Service service, String bbName, - ServiceInstance serviceInstance, Map lookupKeyMap, String resourceId, - RelatedInstanceList[] relatedInstanceList, String instanceName, List> instanceParams, - CloudConfiguration cloudConfiguration, boolean isReplace, ServiceModel serviceModel) throws Exception { - String replaceVnfModelCustomizationUUID = null; + protected void populateVfModule(BBInputSetupParameter parameter) throws Exception { String vnfModelCustomizationUUID = null; - if (relatedInstanceList != null) { - for (RelatedInstanceList relatedInstList : relatedInstanceList) { + String replaceVnfModelCustomizationUUID = null; + if (parameter.getRelatedInstanceList() != null) { + for (RelatedInstanceList relatedInstList : parameter.getRelatedInstanceList()) { RelatedInstance relatedInstance = relatedInstList.getRelatedInstance(); if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vnf)) { - if (isReplace) { + if (parameter.getIsReplace()) { replaceVnfModelCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationId(); } else { vnfModelCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationId(); } } if (relatedInstance.getModelInfo().getModelType().equals(ModelType.volumeGroup)) { - lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, relatedInstance.getInstanceId()); + parameter.getLookupKeyMap().put(ResourceKey.VOLUME_GROUP_ID, relatedInstance.getInstanceId()); } } } GenericVnf vnf = null; - for (GenericVnf tempVnf : serviceInstance.getVnfs()) { - if (tempVnf.getVnfId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID))) { + for (GenericVnf tempVnf : parameter.getServiceInstance().getVnfs()) { + if (tempVnf.getVnfId().equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID))) { vnf = tempVnf; vnfModelCustomizationUUID = this.bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()).getModelCustomizationId(); ModelInfo vnfModelInfo = new ModelInfo(); - if (isReplace) { + if (parameter.getIsReplace()) { vnfModelInfo.setModelCustomizationUuid(replaceVnfModelCustomizationUUID); - this.mapCatalogVnf(tempVnf, vnfModelInfo, serviceModel.getNewService()); + this.mapCatalogVnf(tempVnf, vnfModelInfo, parameter.getServiceModel().getNewService()); } else { vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID); - this.mapCatalogVnf(tempVnf, vnfModelInfo, serviceModel.getCurrentService()); + this.mapCatalogVnf(tempVnf, vnfModelInfo, parameter.getServiceModel().getCurrentService()); } - Optional volumeGroupIdOp = getVolumeGroupIdRelatedToVfModule(tempVnf, modelInfo, - cloudConfiguration.getCloudOwner(), cloudConfiguration.getLcpCloudRegionId(), lookupKeyMap); + Optional volumeGroupIdOp = getVolumeGroupIdRelatedToVfModule(tempVnf, parameter.getModelInfo(), + parameter.getCloudConfiguration().getCloudOwner(), + parameter.getCloudConfiguration().getLcpCloudRegionId(), parameter.getLookupKeyMap()); if (volumeGroupIdOp.isPresent()) { - lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroupIdOp.get()); + parameter.getLookupKeyMap().put(ResourceKey.VOLUME_GROUP_ID, volumeGroupIdOp.get()); } break; } @@ -571,36 +566,39 @@ public class BBInputSetup implements JavaDelegate { if (vnf != null) { VfModule vfModule = null; for (VfModule vfModuleTemp : vnf.getVfModules()) { - if (lookupKeyMap.get(ResourceKey.VF_MODULE_ID) != null - && vfModuleTemp.getVfModuleId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.VF_MODULE_ID))) { + if (parameter.getLookupKeyMap().get(ResourceKey.VF_MODULE_ID) != null && vfModuleTemp.getVfModuleId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.VF_MODULE_ID))) { vfModule = vfModuleTemp; } String vfModuleCustId = bbInputSetupUtils.getAAIVfModule(vnf.getVnfId(), vfModuleTemp.getVfModuleId()) .getModelCustomizationId(); ModelInfo modelInfoVfModule = new ModelInfo(); modelInfoVfModule.setModelCustomizationId(vfModuleCustId); - if (isReplace && lookupKeyMap.get(ResourceKey.VF_MODULE_ID) != null - && vfModuleTemp.getVfModuleId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.VF_MODULE_ID))) { - mapCatalogVfModule(vfModuleTemp, modelInfoVfModule, serviceModel.getNewService(), + if (parameter.getIsReplace() && parameter.getLookupKeyMap().get(ResourceKey.VF_MODULE_ID) != null + && vfModuleTemp.getVfModuleId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.VF_MODULE_ID))) { + mapCatalogVfModule(vfModuleTemp, modelInfoVfModule, parameter.getServiceModel().getNewService(), replaceVnfModelCustomizationUUID); } else { - mapCatalogVfModule(vfModuleTemp, modelInfoVfModule, serviceModel.getCurrentService(), + mapCatalogVfModule(vfModuleTemp, modelInfoVfModule, parameter.getServiceModel().getCurrentService(), vnfModelCustomizationUUID); } } - if (vfModule == null && bbName.equalsIgnoreCase(AssignFlows.VF_MODULE.toString())) { - vfModule = createVfModule(lookupKeyMap, resourceId, instanceName, instanceParams); + if (vfModule == null && parameter.getBbName().equalsIgnoreCase(AssignFlows.VF_MODULE.toString())) { + vfModule = createVfModule(parameter.getLookupKeyMap(), parameter.getResourceId(), + parameter.getInstanceName(), parameter.getInstanceParams()); vnf.getVfModules().add(vfModule); - if (isReplace) { - mapCatalogVfModule(vfModule, modelInfo, serviceModel.getNewService(), + if (parameter.getIsReplace()) { + mapCatalogVfModule(vfModule, parameter.getModelInfo(), parameter.getServiceModel().getNewService(), replaceVnfModelCustomizationUUID); } else { - mapCatalogVfModule(vfModule, modelInfo, serviceModel.getCurrentService(), - vnfModelCustomizationUUID); + mapCatalogVfModule(vfModule, parameter.getModelInfo(), + parameter.getServiceModel().getCurrentService(), vnfModelCustomizationUUID); } } } else { - logger.debug("Related VNF instance Id not found: {}", lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID)); + logger.debug("Related VNF instance Id not found: {}", + parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID)); throw new Exception("Could not find relevant information for related VNF"); } } @@ -663,19 +661,17 @@ public class BBInputSetup implements JavaDelegate { return vfModule; } - protected void populateVolumeGroup(ModelInfo modelInfo, Service service, String bbName, - ServiceInstance serviceInstance, Map lookupKeyMap, String resourceId, - RelatedInstanceList[] relatedInstanceList, String instanceName, String vnfType, - List> instanceParams) throws Exception { + protected void populateVolumeGroup(BBInputSetupParameter parameter) throws Exception { VolumeGroup volumeGroup = null; GenericVnf vnf = null; String vnfModelCustomizationUUID = null; - String generatedVnfType = vnfType; + String generatedVnfType = parameter.getVnfType(); if (generatedVnfType == null || generatedVnfType.isEmpty()) { - generatedVnfType = service.getModelName() + "/" + modelInfo.getModelCustomizationName(); + generatedVnfType = + parameter.getService().getModelName() + "/" + parameter.getModelInfo().getModelCustomizationName(); } - if (relatedInstanceList != null) { - for (RelatedInstanceList relatedInstList : relatedInstanceList) { + if (parameter.getRelatedInstanceList() != null) { + for (RelatedInstanceList relatedInstList : parameter.getRelatedInstanceList()) { RelatedInstance relatedInstance = relatedInstList.getRelatedInstance(); if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vnf)) { vnfModelCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationUuid(); @@ -683,35 +679,38 @@ public class BBInputSetup implements JavaDelegate { } } } - for (GenericVnf tempVnf : serviceInstance.getVnfs()) { - if (tempVnf.getVnfId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID))) { + for (GenericVnf tempVnf : parameter.getServiceInstance().getVnfs()) { + if (tempVnf.getVnfId().equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID))) { vnf = tempVnf; vnfModelCustomizationUUID = bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()).getModelCustomizationId(); ModelInfo vnfModelInfo = new ModelInfo(); vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID); - mapCatalogVnf(tempVnf, vnfModelInfo, service); + mapCatalogVnf(tempVnf, vnfModelInfo, parameter.getService()); break; } } if (vnf != null && vnfModelCustomizationUUID != null) { for (VolumeGroup volumeGroupTemp : vnf.getVolumeGroups()) { - if (lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID) != null && volumeGroupTemp.getVolumeGroupId() - .equalsIgnoreCase(lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID))) { + if (parameter.getLookupKeyMap().get(ResourceKey.VOLUME_GROUP_ID) != null + && volumeGroupTemp.getVolumeGroupId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.VOLUME_GROUP_ID))) { volumeGroup = volumeGroupTemp; break; } } - if (volumeGroup == null && bbName.equalsIgnoreCase(AssignFlows.VOLUME_GROUP.toString())) { - volumeGroup = - createVolumeGroup(lookupKeyMap, resourceId, instanceName, generatedVnfType, instanceParams); + if (volumeGroup == null && parameter.getBbName().equalsIgnoreCase(AssignFlows.VOLUME_GROUP.toString())) { + volumeGroup = createVolumeGroup(parameter.getLookupKeyMap(), parameter.getResourceId(), + parameter.getInstanceName(), generatedVnfType, parameter.getInstanceParams()); vnf.getVolumeGroups().add(volumeGroup); } if (volumeGroup != null) { - mapCatalogVolumeGroup(volumeGroup, modelInfo, service, vnfModelCustomizationUUID); + mapCatalogVolumeGroup(volumeGroup, parameter.getModelInfo(), parameter.getService(), + vnfModelCustomizationUUID); } } else { - logger.debug("Related VNF instance Id not found: {}", lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID)); + logger.debug("Related VNF instance Id not found: {}", + parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID)); throw new Exception("Could not find relevant information for related VNF"); } } @@ -762,55 +761,52 @@ public class BBInputSetup implements JavaDelegate { return null; } - protected void populateGenericVnf(ModelInfo modelInfo, String instanceName, - org.onap.so.serviceinstancebeans.Platform platform, - org.onap.so.serviceinstancebeans.LineOfBusiness lineOfBusiness, Service service, String bbName, - ServiceInstance serviceInstance, Map lookupKeyMap, - RelatedInstanceList[] relatedInstanceList, String resourceId, String vnfType, - List> instanceParams, String productFamilyId, String applicationId, boolean isReplace) { + protected void populateGenericVnf(BBInputSetupParameter parameter) { GenericVnf vnf = null; ModelInfo instanceGroupModelInfo = null; String instanceGroupId = null; - String generatedVnfType = vnfType; + String generatedVnfType = parameter.getVnfType(); String replaceVnfModelCustomizationUUID = null; if (generatedVnfType == null || generatedVnfType.isEmpty()) { - generatedVnfType = service.getModelName() + "/" + modelInfo.getModelCustomizationName(); + generatedVnfType = + parameter.getService().getModelName() + "/" + parameter.getModelInfo().getModelCustomizationName(); } - if (relatedInstanceList != null) { - for (RelatedInstanceList relatedInstList : relatedInstanceList) { + if (parameter.getRelatedInstanceList() != null) { + for (RelatedInstanceList relatedInstList : parameter.getRelatedInstanceList()) { RelatedInstance relatedInstance = relatedInstList.getRelatedInstance(); if (relatedInstance.getModelInfo().getModelType().equals(ModelType.networkInstanceGroup)) { instanceGroupModelInfo = relatedInstance.getModelInfo(); instanceGroupId = relatedInstance.getInstanceId(); } - if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vnf) && isReplace) { + if (relatedInstance.getModelInfo().getModelType().equals(ModelType.vnf) && parameter.getIsReplace()) { replaceVnfModelCustomizationUUID = relatedInstance.getModelInfo().getModelCustomizationId(); } } } - for (GenericVnf vnfTemp : serviceInstance.getVnfs()) { - if (lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID) != null - && vnfTemp.getVnfId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID))) { + for (GenericVnf vnfTemp : parameter.getServiceInstance().getVnfs()) { + if (parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID) != null && vnfTemp.getVnfId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID))) { String vnfModelCustId = bbInputSetupUtils.getAAIGenericVnf(vnfTemp.getVnfId()).getModelCustomizationId(); - if (isReplace && replaceVnfModelCustomizationUUID != null - && vnfTemp.getVnfId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID))) { - modelInfo.setModelCustomizationUuid(replaceVnfModelCustomizationUUID); + if (parameter.getIsReplace() && replaceVnfModelCustomizationUUID != null && vnfTemp.getVnfId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.GENERIC_VNF_ID))) { + parameter.getModelInfo().setModelCustomizationUuid(replaceVnfModelCustomizationUUID); } else { - modelInfo.setModelCustomizationUuid(vnfModelCustId); + parameter.getModelInfo().setModelCustomizationUuid(vnfModelCustId); } vnf = vnfTemp; break; } } - if (vnf == null && bbName.equalsIgnoreCase(AssignFlows.VNF.toString())) { - vnf = createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness, resourceId, generatedVnfType, - instanceParams, productFamilyId, applicationId); - serviceInstance.getVnfs().add(vnf); - mapVnfcCollectionInstanceGroup(vnf, modelInfo, service); + if (vnf == null && parameter.getBbName().equalsIgnoreCase(AssignFlows.VNF.toString())) { + vnf = createGenericVnf(parameter.getLookupKeyMap(), parameter.getInstanceName(), parameter.getPlatform(), + parameter.getLineOfBusiness(), parameter.getResourceId(), generatedVnfType, + parameter.getInstanceParams(), parameter.getProductFamilyId(), parameter.getApplicationId()); + parameter.getServiceInstance().getVnfs().add(vnf); + mapVnfcCollectionInstanceGroup(vnf, parameter.getModelInfo(), parameter.getService()); } if (vnf != null) { - mapCatalogVnf(vnf, modelInfo, service); + mapCatalogVnf(vnf, parameter.getModelInfo(), parameter.getService()); if (instanceGroupId != null && instanceGroupModelInfo != null && instanceGroupModelInfo.getModelType().equals(ModelType.networkInstanceGroup) && !instanceGroupInList(vnf, instanceGroupId)) { @@ -907,24 +903,23 @@ public class BBInputSetup implements JavaDelegate { return vnfResourceCustomization; } - protected void populateL3Network(String instanceName, ModelInfo modelInfo, Service service, String bbName, - ServiceInstance serviceInstance, Map lookupKeyMap, String resourceId, - List> instanceParams) { + protected void populateL3Network(BBInputSetupParameter parameter) { L3Network network = null; - for (L3Network networkTemp : serviceInstance.getNetworks()) { - if (lookupKeyMap.get(ResourceKey.NETWORK_ID) != null - && networkTemp.getNetworkId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.NETWORK_ID))) { + for (L3Network networkTemp : parameter.getServiceInstance().getNetworks()) { + if (parameter.getLookupKeyMap().get(ResourceKey.NETWORK_ID) != null && networkTemp.getNetworkId() + .equalsIgnoreCase(parameter.getLookupKeyMap().get(ResourceKey.NETWORK_ID))) { network = networkTemp; break; } } - if (network == null && (bbName.equalsIgnoreCase(AssignFlows.NETWORK_A_LA_CARTE.toString()) - || bbName.equalsIgnoreCase(AssignFlows.NETWORK_MACRO.toString()))) { - network = createNetwork(lookupKeyMap, instanceName, resourceId, instanceParams); - serviceInstance.getNetworks().add(network); + if (network == null && (parameter.getBbName().equalsIgnoreCase(AssignFlows.NETWORK_A_LA_CARTE.toString()) + || parameter.getBbName().equalsIgnoreCase(AssignFlows.NETWORK_MACRO.toString()))) { + network = createNetwork(parameter.getLookupKeyMap(), parameter.getInstanceName(), parameter.getResourceId(), + parameter.getInstanceParams()); + parameter.getServiceInstance().getNetworks().add(network); } if (network != null) { - mapCatalogNetwork(network, modelInfo, service); + mapCatalogNetwork(network, parameter.getModelInfo(), parameter.getService()); } } @@ -984,8 +979,10 @@ public class BBInputSetup implements JavaDelegate { ServiceInstance serviceInstance = this.getALaCarteServiceInstance(service, requestDetails, customer, project, owningEntity, lookupKeyMap, resourceId, Boolean.TRUE.equals(executeBB.isaLaCarte()), executeBB.getBuildingBlock().getBpmnFlowName()); - return this.populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, executeBB, requestAction, - customer); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestDetails(requestDetails) + .setServiceInstance(serviceInstance).setExecuteBB(executeBB).setRequestAction(requestAction) + .setCustomer(customer).build(); + return this.populateGBBWithSIAndAdditionalInfo(parameter); } else { throw new Exception("Could not find customer"); } @@ -1034,32 +1031,33 @@ public class BBInputSetup implements JavaDelegate { } } - protected GeneralBuildingBlock populateGBBWithSIAndAdditionalInfo(RequestDetails requestDetails, - ServiceInstance serviceInstance, ExecuteBuildingBlock executeBB, String requestAction, Customer customer) + protected GeneralBuildingBlock populateGBBWithSIAndAdditionalInfo(BBInputSetupParameter parameter) throws Exception { GeneralBuildingBlock outputBB = new GeneralBuildingBlock(); - OrchestrationContext orchContext = mapperLayer.mapOrchestrationContext(requestDetails); - RequestContext requestContext = mapperLayer.mapRequestContext(requestDetails); - requestContext.setAction(requestAction); - requestContext.setMsoRequestId(executeBB.getRequestId()); + OrchestrationContext orchContext = mapperLayer.mapOrchestrationContext(parameter.getRequestDetails()); + RequestContext requestContext = mapperLayer.mapRequestContext(parameter.getRequestDetails()); + requestContext.setAction(parameter.getRequestAction()); + requestContext.setMsoRequestId(parameter.getExecuteBB().getRequestId()); org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = - bbInputSetupUtils.getCloudRegion(requestDetails.getCloudConfiguration()); - CloudRegion cloudRegion = mapperLayer.mapCloudRegion(requestDetails.getCloudConfiguration(), aaiCloudRegion); - Tenant tenant = getTenant(requestDetails.getCloudConfiguration(), aaiCloudRegion); + bbInputSetupUtils.getCloudRegion(parameter.getRequestDetails().getCloudConfiguration()); + CloudRegion cloudRegion = + mapperLayer.mapCloudRegion(parameter.getRequestDetails().getCloudConfiguration(), aaiCloudRegion); + Tenant tenant = getTenant(parameter.getRequestDetails().getCloudConfiguration(), aaiCloudRegion); outputBB.setOrchContext(orchContext); outputBB.setRequestContext(requestContext); outputBB.setCloudRegion(cloudRegion); outputBB.setTenant(tenant); + Customer customer = parameter.getCustomer(); if (customer == null) { - Map uriKeys = - bbInputSetupUtils.getURIKeysFromServiceInstance(serviceInstance.getServiceInstanceId()); + Map uriKeys = bbInputSetupUtils + .getURIKeysFromServiceInstance(parameter.getServiceInstance().getServiceInstanceId()); String globalCustomerId = uriKeys.get("global-customer-id"); String subscriptionServiceType = uriKeys.get("service-type"); customer = mapCustomer(globalCustomerId, subscriptionServiceType); } - outputBB.setServiceInstance(serviceInstance); + outputBB.setServiceInstance(parameter.getServiceInstance()); if (customer.getServiceSubscription() != null) { - customer.getServiceSubscription().getServiceInstances().add(serviceInstance); + customer.getServiceSubscription().getServiceInstances().add(parameter.getServiceInstance()); } outputBB.setCustomer(customer); return outputBB; @@ -1185,15 +1183,19 @@ public class BBInputSetup implements JavaDelegate { Map lookupKeyMap, String bbName, String key, GeneralBuildingBlock gBB, Service service) throws Exception { ServiceInstance serviceInstance = gBB.getServiceInstance(); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setExecuteBB(executeBB) + .setRequestId(executeBB.getRequestId()).setServiceInstance(serviceInstance).setService(service) + .setBbName(bbName).setLookupKeyMap(lookupKeyMap).setKey(key).build(); if (bbName.contains(NETWORK) && !bbName.contains(NETWORK_COLLECTION)) { String networkId = lookupKeyMap.get(ResourceKey.NETWORK_ID); - ModelInfo networkModelInfo = new ModelInfo(); + parameter.setResourceId(networkId); + parameter.setModelInfo(new ModelInfo()); + if ((!Boolean.TRUE.equals(executeBB.getBuildingBlock().isVirtualLink()))) { NetworkResourceCustomization networkCust = getNetworkCustomizationByKey(key, service); if (networkCust != null) { - networkModelInfo.setModelCustomizationUuid(networkCust.getModelCustomizationUUID()); - this.populateL3Network(null, networkModelInfo, service, bbName, serviceInstance, lookupKeyMap, - networkId, null); + parameter.getModelInfo().setModelCustomizationUuid(networkCust.getModelCustomizationUUID()); + this.populateL3Network(parameter); } else { logger.debug("Could not find a network customization with key: {}", key); } @@ -1210,15 +1212,16 @@ public class BBInputSetup implements JavaDelegate { } } } else if (bbName.contains("Configuration")) { - String configurationId = lookupKeyMap.get(ResourceKey.CONFIGURATION_ID); - ModelInfo configurationModelInfo = new ModelInfo(); - configurationModelInfo.setModelCustomizationUuid(key); - this.populateConfiguration(configurationModelInfo, service, bbName, serviceInstance, lookupKeyMap, - configurationId, null, executeBB.getConfigurationResourceKeys(), executeBB.getRequestDetails()); + parameter.setResourceId(lookupKeyMap.get(ResourceKey.CONFIGURATION_ID)); + parameter.setModelInfo(new ModelInfo()); + parameter.getModelInfo().setModelCustomizationUuid(key); + parameter.setConfigurationResourceKeys(executeBB.getConfigurationResourceKeys()); + parameter.setRequestDetails(executeBB.getRequestDetails()); + this.populateConfiguration(parameter); } if (executeBB.getWorkflowResourceIds() != null) { - this.populateNetworkCollectionAndInstanceGroupAssign(service, bbName, serviceInstance, - executeBB.getWorkflowResourceIds().getNetworkCollectionId(), key); + parameter.setResourceId(executeBB.getWorkflowResourceIds().getNetworkCollectionId()); + this.populateNetworkCollectionAndInstanceGroupAssign(parameter); } RelatedInstance relatedVpnBinding = bbInputSetupUtils.getRelatedInstanceByType(executeBB.getRequestDetails(), ModelType.vpnBinding); @@ -1310,6 +1313,10 @@ public class BBInputSetup implements JavaDelegate { org.onap.aai.domain.yang.ServiceInstance aaiServiceInstance = null; String serviceInstanceId = lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID); RequestDetails requestDetails = executeBB.getRequestDetails(); + BBInputSetupParameter parameter = + new BBInputSetupParameter.Builder().setExecuteBB(executeBB).setLookupKeyMap(lookupKeyMap) + .setBbName(bbName).setRequestAction(requestAction).setCloudConfiguration(cloudConfiguration) + .setRequestDetails(requestDetails).setResourceId(serviceInstanceId).build(); GeneralBuildingBlock gBB = null; Service service = null; if (serviceInstanceId != null) { @@ -1328,10 +1335,10 @@ public class BBInputSetup implements JavaDelegate { throw new NoServiceInstanceFoundException(message); } } - ServiceInstance serviceInstance = this.getExistingServiceInstance(aaiServiceInstance); serviceInstance.setModelInfoServiceInstance(this.mapperLayer.mapCatalogServiceIntoServiceInstance(service)); - gBB = populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, executeBB, requestAction, null); + parameter.setServiceInstance(serviceInstance); + gBB = populateGBBWithSIAndAdditionalInfo(parameter); serviceInstance = gBB.getServiceInstance(); CloudRegion cloudRegion = null; @@ -1438,8 +1445,9 @@ public class BBInputSetup implements JavaDelegate { } } if (executeBB.getWorkflowResourceIds() != null) { - this.populateNetworkCollectionAndInstanceGroupAssign(service, bbName, serviceInstance, - executeBB.getWorkflowResourceIds().getNetworkCollectionId(), executeBB.getBuildingBlock().getKey()); + parameter.setResourceId(executeBB.getWorkflowResourceIds().getNetworkCollectionId()); + parameter.setKey(executeBB.getBuildingBlock().getKey()); + this.populateNetworkCollectionAndInstanceGroupAssign(parameter); } return gBB; } @@ -1458,6 +1466,9 @@ public class BBInputSetup implements JavaDelegate { CloudConfiguration cloudConfiguration = requestDetails.getCloudConfiguration(); CloudRegion cloudRegion = getCloudRegionFromMacroRequest(cloudConfiguration, resources); gBB.setCloudRegion(cloudRegion); + BBInputSetupParameter parameter = + new BBInputSetupParameter.Builder().setRequestId(executeBB.getRequestId()).setService(service) + .setBbName(bbName).setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap).build(); if (bbName.contains(VNF)) { vnfs = findVnfsByKey(key, resources, vnfs); String vnfId = lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID); @@ -1467,15 +1478,20 @@ public class BBInputSetup implements JavaDelegate { if (request != null) { this.bbInputSetupUtils.updateInfraActiveRequestVnfId(request, vnfId); } - String productFamilyId = requestDetails.getRequestInfo().getProductFamilyId(); + parameter.setModelInfo(vnfs.getModelInfo()); + parameter.setInstanceName(vnfs.getInstanceName()); + parameter.setPlatform(vnfs.getPlatform()); + parameter.setLineOfBusiness(vnfs.getLineOfBusiness()); + parameter.setResourceId(vnfId); + parameter.setVnfType(vnfType); + parameter.setInstanceParams(vnfs.getInstanceParams()); + parameter.setProductFamilyId(requestDetails.getRequestInfo().getProductFamilyId()); String applicationId = ""; if (vnfs.getApplicationId() != null) { applicationId = vnfs.getApplicationId(); } - this.populateGenericVnf(vnfs.getModelInfo(), vnfs.getInstanceName(), vnfs.getPlatform(), - vnfs.getLineOfBusiness(), service, bbName, serviceInstance, lookupKeyMap, null, vnfId, vnfType, - vnfs.getInstanceParams(), productFamilyId, applicationId, false); - + parameter.setApplicationId(applicationId); + this.populateGenericVnf(parameter); } else if (bbName.contains(PNF)) { String pnfId = lookupKeyMap.get(ResourceKey.PNF); resources.getPnfs().stream() @@ -1491,27 +1507,35 @@ public class BBInputSetup implements JavaDelegate { if (vnfs == null) { throw new Exception("Could not find Vnf to orchestrate VfModule"); } - ModelInfo modelInfo = vfModules.getModelInfo(); + parameter.setModelInfo(vfModules.getModelInfo()); if (bbName.contains(VOLUME_GROUP)) { - String volumeGroupId = lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID); - this.populateVolumeGroup(modelInfo, service, bbName, serviceInstance, lookupKeyMap, volumeGroupId, null, - vfModules.getVolumeGroupInstanceName(), vnfType, vfModules.getInstanceParams()); + parameter.setResourceId(lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID)); + parameter.setInstanceName(vfModules.getVolumeGroupInstanceName()); + parameter.setVnfType(vnfType); + parameter.setInstanceParams(vfModules.getInstanceParams()); + this.populateVolumeGroup(parameter); } else { - String vfModuleId = lookupKeyMap.get(ResourceKey.VF_MODULE_ID); + parameter.setResourceId(lookupKeyMap.get(ResourceKey.VF_MODULE_ID)); CloudConfiguration cloudConfig = new CloudConfiguration(); cloudConfig.setLcpCloudRegionId(cloudRegion.getLcpCloudRegionId()); cloudConfig.setCloudOwner(cloudRegion.getCloudOwner()); ServiceModel serviceModel = new ServiceModel(); serviceModel.setCurrentService(service); - this.populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, vfModuleId, null, - vfModules.getInstanceName(), vfModules.getInstanceParams(), cloudConfig, false, serviceModel); + parameter.setServiceModel(serviceModel); + parameter.setCloudConfiguration(cloudConfig); + parameter.setInstanceName(vfModules.getInstanceName()); + parameter.setInstanceParams(vfModules.getInstanceParams()); + this.populateVfModule(parameter); } } else if (bbName.contains(NETWORK)) { networks = findNetworksByKey(key, resources); String networkId = lookupKeyMap.get(ResourceKey.NETWORK_ID); if (networks != null) { - this.populateL3Network(networks.getInstanceName(), networks.getModelInfo(), service, bbName, - serviceInstance, lookupKeyMap, networkId, networks.getInstanceParams()); + parameter.setInstanceName(networks.getInstanceName()); + parameter.setModelInfo(networks.getModelInfo()); + parameter.setInstanceParams(networks.getInstanceParams()); + parameter.setResourceId(networkId); + this.populateL3Network(parameter); } } else if (bbName.contains("Configuration")) { String configurationId = lookupKeyMap.get(ResourceKey.CONFIGURATION_ID); @@ -1520,8 +1544,11 @@ public class BBInputSetup implements JavaDelegate { ConfigurationResourceCustomization configurationCust = findConfigurationResourceCustomization(configurationModelInfo, service); if (configurationCust != null) { - this.populateConfiguration(configurationModelInfo, service, bbName, serviceInstance, lookupKeyMap, - configurationId, null, executeBB.getConfigurationResourceKeys(), executeBB.getRequestDetails()); + parameter.setModelInfo(configurationModelInfo); + parameter.setResourceId(configurationId); + parameter.setConfigurationResourceKeys(executeBB.getConfigurationResourceKeys()); + parameter.setRequestDetails(executeBB.getRequestDetails()); + this.populateConfiguration(parameter); } else { logger.debug("Could not find a configuration customization with key: {}", key); } @@ -1669,18 +1696,18 @@ public class BBInputSetup implements JavaDelegate { return serviceInstance; } - protected void populateNetworkCollectionAndInstanceGroupAssign(Service service, String bbName, - ServiceInstance serviceInstance, String resourceId, String key) throws Exception { - if (serviceInstance.getCollection() == null - && bbName.equalsIgnoreCase(AssignFlows.NETWORK_COLLECTION.toString())) { - Collection collection = this.createCollection(resourceId); - serviceInstance.setCollection(collection); - this.mapCatalogCollection(service, serviceInstance.getCollection(), key); - if (isVlanTagging(service, key)) { + protected void populateNetworkCollectionAndInstanceGroupAssign(BBInputSetupParameter parameter) throws Exception { + if (parameter.getServiceInstance().getCollection() == null + && parameter.getBbName().equalsIgnoreCase(AssignFlows.NETWORK_COLLECTION.toString())) { + Collection collection = this.createCollection(parameter.getResourceId()); + parameter.getServiceInstance().setCollection(collection); + this.mapCatalogCollection(parameter.getService(), parameter.getServiceInstance().getCollection(), + parameter.getKey()); + if (isVlanTagging(parameter.getService(), parameter.getKey())) { InstanceGroup instanceGroup = this.createInstanceGroup(); - serviceInstance.getCollection().setInstanceGroup(instanceGroup); - this.mapCatalogNetworkCollectionInstanceGroup(service, - serviceInstance.getCollection().getInstanceGroup(), key); + parameter.getServiceInstance().getCollection().setInstanceGroup(instanceGroup); + this.mapCatalogNetworkCollectionInstanceGroup(parameter.getService(), + parameter.getServiceInstance().getCollection().getInstanceGroup(), parameter.getKey()); } } } diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupParameter.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupParameter.java new file mode 100644 index 0000000000..36ac0969ee --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupParameter.java @@ -0,0 +1,503 @@ +package org.onap.so.bpmn.servicedecomposition.tasks; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer; +import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; +import org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys; +import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock; +import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; +import org.onap.so.bpmn.servicedecomposition.entities.ServiceModel; +import org.onap.so.db.catalog.beans.Service; +import org.onap.so.serviceinstancebeans.CloudConfiguration; +import org.onap.so.serviceinstancebeans.LineOfBusiness; +import org.onap.so.serviceinstancebeans.ModelInfo; +import org.onap.so.serviceinstancebeans.Platform; +import org.onap.so.serviceinstancebeans.RelatedInstanceList; +import org.onap.so.serviceinstancebeans.RequestDetails; + +public class BBInputSetupParameter { + private CloudConfiguration cloudConfiguration; + private ConfigurationResourceKeys configurationResourceKeys; + private List> instanceParams; + private Map lookupKeyMap; + private ModelInfo modelInfo; + private LineOfBusiness lineOfBusiness; + private Platform platform; + private RelatedInstanceList[] relatedInstanceList; + private RequestDetails requestDetails; + private Service service; + private ServiceInstance serviceInstance; + private String bbName; + private String instanceGroupId; + private String instanceName; + private String productFamilyId; + private String resourceId; + private String vnfType; + private ExecuteBuildingBlock executeBB; + private String requestAction; + private boolean aLaCarte; + private Customer customer; + private String requestId; + private String configurationKey; + private String key; + private String applicationId; + private boolean isReplace; + private ServiceModel serviceModel; + + private BBInputSetupParameter(Builder builder) { + this.cloudConfiguration = builder.cloudConfiguration; + this.configurationResourceKeys = builder.configurationResourceKeys; + this.instanceParams = builder.instanceParams; + this.lookupKeyMap = builder.lookupKeyMap; + this.modelInfo = builder.modelInfo; + this.lineOfBusiness = builder.lineOfBusiness; + this.platform = builder.platform; + this.relatedInstanceList = builder.relatedInstanceList; + this.requestDetails = builder.requestDetails; + this.service = builder.service; + this.serviceInstance = builder.serviceInstance; + this.bbName = builder.bbName; + this.instanceGroupId = builder.instanceGroupId; + this.instanceName = builder.instanceName; + this.productFamilyId = builder.productFamilyId; + this.resourceId = builder.resourceId; + this.vnfType = builder.vnfType; + this.executeBB = builder.executeBB; + this.requestAction = builder.requestAction; + this.aLaCarte = builder.aLaCarte; + this.customer = builder.customer; + this.requestId = builder.requestId; + this.configurationKey = builder.configurationKey; + this.key = builder.key; + this.applicationId = builder.applicationId; + this.isReplace = builder.isReplace; + this.serviceModel = builder.serviceModel; + } + + + protected CloudConfiguration getCloudConfiguration() { + return cloudConfiguration; + } + + + protected void setCloudConfiguration(CloudConfiguration cloudConfiguration) { + this.cloudConfiguration = cloudConfiguration; + } + + + protected ConfigurationResourceKeys getConfigurationResourceKeys() { + return configurationResourceKeys; + } + + + protected void setConfigurationResourceKeys(ConfigurationResourceKeys configurationResourceKeys) { + this.configurationResourceKeys = configurationResourceKeys; + } + + + protected List> getInstanceParams() { + return instanceParams; + } + + + protected void setInstanceParams(List> instanceParams) { + this.instanceParams = instanceParams; + } + + + protected Map getLookupKeyMap() { + return lookupKeyMap; + } + + + protected void setLookupKeyMap(Map lookupKeyMap) { + this.lookupKeyMap = lookupKeyMap; + } + + + protected ModelInfo getModelInfo() { + return modelInfo; + } + + + protected void setModelInfo(ModelInfo modelInfo) { + this.modelInfo = modelInfo; + } + + + protected LineOfBusiness getLineOfBusiness() { + return lineOfBusiness; + } + + + protected void setLineOfBusiness(LineOfBusiness lineOfBusiness) { + this.lineOfBusiness = lineOfBusiness; + } + + + protected Platform getPlatform() { + return platform; + } + + + protected void setPlatform(Platform platform) { + this.platform = platform; + } + + + protected RelatedInstanceList[] getRelatedInstanceList() { + return relatedInstanceList; + } + + + protected void setRelatedInstanceList(RelatedInstanceList[] relatedInstanceList) { + this.relatedInstanceList = relatedInstanceList; + } + + + protected RequestDetails getRequestDetails() { + return requestDetails; + } + + + protected void setRequestDetails(RequestDetails requestDetails) { + this.requestDetails = requestDetails; + } + + + protected Service getService() { + return service; + } + + + protected void setService(Service service) { + this.service = service; + } + + + protected ServiceInstance getServiceInstance() { + return serviceInstance; + } + + + protected void setServiceInstance(ServiceInstance serviceInstance) { + this.serviceInstance = serviceInstance; + } + + + protected String getBbName() { + return bbName; + } + + + protected void setBbName(String bbName) { + this.bbName = bbName; + } + + + protected String getInstanceGroupId() { + return instanceGroupId; + } + + + protected void setInstanceGroupId(String instanceGroupId) { + this.instanceGroupId = instanceGroupId; + } + + + protected String getInstanceName() { + return instanceName; + } + + + protected void setInstanceName(String instanceName) { + this.instanceName = instanceName; + } + + + protected String getProductFamilyId() { + return productFamilyId; + } + + + protected void setProductFamilyId(String productFamilyId) { + this.productFamilyId = productFamilyId; + } + + + protected String getResourceId() { + return resourceId; + } + + + protected void setResourceId(String resourceId) { + this.resourceId = resourceId; + } + + + protected String getVnfType() { + return vnfType; + } + + + protected void setVnfType(String vnfType) { + this.vnfType = vnfType; + } + + + protected ExecuteBuildingBlock getExecuteBB() { + return executeBB; + } + + + protected void setExecuteBB(ExecuteBuildingBlock executeBB) { + this.executeBB = executeBB; + } + + + protected String getRequestAction() { + return requestAction; + } + + + protected void setRequestAction(String requestAction) { + this.requestAction = requestAction; + } + + + protected boolean getaLaCarte() { + return aLaCarte; + } + + protected void setaLaCarte(boolean aLaCarte) { + this.aLaCarte = aLaCarte; + } + + protected Customer getCustomer() { + return customer; + } + + protected void setCustomer(Customer customer) { + this.customer = customer; + } + + protected void setRequestId(String requestId) { + this.requestId = requestId; + } + + protected String getRequestId() { + return requestId; + } + + protected void setConfigurationKey(String configurationKey) { + this.configurationKey = configurationKey; + } + + protected String getConfigurationKey() { + return configurationKey; + } + + protected String getKey() { + return key; + } + + protected void setKey(String key) { + this.key = key; + } + + protected String getApplicationId() { + return applicationId; + } + + protected void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + protected boolean getIsReplace() { + return isReplace; + } + + protected void setIsReplace(boolean isReplace) { + this.isReplace = isReplace; + } + + protected ServiceModel getServiceModel() { + return this.serviceModel; + } + + protected void setServiceModel(ServiceModel serviceModel) { + this.serviceModel = serviceModel; + } + + public static class Builder { + private CloudConfiguration cloudConfiguration; + private ConfigurationResourceKeys configurationResourceKeys; + private List> instanceParams = Collections.emptyList(); + private Map lookupKeyMap = Collections.emptyMap(); + private ModelInfo modelInfo; + private LineOfBusiness lineOfBusiness; + private Platform platform; + private RelatedInstanceList[] relatedInstanceList; + private RequestDetails requestDetails; + private Service service; + private ServiceInstance serviceInstance; + private String bbName; + private String instanceGroupId; + private String instanceName; + private String productFamilyId; + private String resourceId; + private String vnfType; + private ExecuteBuildingBlock executeBB; + private String requestAction; + private boolean aLaCarte; + private Customer customer; + private String requestId; + private String configurationKey; + private String key; + private String applicationId; + private boolean isReplace; + private ServiceModel serviceModel; + + public Builder setCloudConfiguration(CloudConfiguration cloudConfiguration) { + this.cloudConfiguration = cloudConfiguration; + return this; + } + + public Builder setConfigurationResourceKeys(ConfigurationResourceKeys configurationResourceKeys) { + this.configurationResourceKeys = configurationResourceKeys; + return this; + } + + public Builder setInstanceParams(List> instanceParams) { + this.instanceParams = instanceParams; + return this; + } + + public Builder setLookupKeyMap(Map lookupKeyMap) { + this.lookupKeyMap = lookupKeyMap; + return this; + } + + public Builder setModelInfo(ModelInfo modelInfo) { + this.modelInfo = modelInfo; + return this; + } + + public Builder setLineOfBusiness(LineOfBusiness lineOfBusiness) { + this.lineOfBusiness = lineOfBusiness; + return this; + } + + public Builder setPlatform(Platform platform) { + this.platform = platform; + return this; + } + + public Builder setRelatedInstanceList(RelatedInstanceList[] relatedInstanceList) { + this.relatedInstanceList = relatedInstanceList; + return this; + } + + public Builder setRequestDetails(RequestDetails requestDetails) { + this.requestDetails = requestDetails; + return this; + } + + public Builder setService(Service service) { + this.service = service; + return this; + } + + public Builder setServiceInstance(ServiceInstance serviceInstance) { + this.serviceInstance = serviceInstance; + return this; + } + + public Builder setBbName(String bbName) { + this.bbName = bbName; + return this; + } + + public Builder setInstanceGroupId(String instanceGroupId) { + this.instanceGroupId = instanceGroupId; + return this; + } + + public Builder setInstanceName(String instanceName) { + this.instanceName = instanceName; + return this; + } + + public Builder setProductFamilyId(String productFamilyId) { + this.productFamilyId = productFamilyId; + return this; + } + + public Builder setResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + public Builder setVnfType(String vnfType) { + this.vnfType = vnfType; + return this; + } + + public Builder setExecuteBB(ExecuteBuildingBlock executeBB) { + this.executeBB = executeBB; + return this; + } + + public Builder setRequestAction(String requestAction) { + this.requestAction = requestAction; + return this; + } + + public Builder setALaCarte(boolean aLaCarte) { + this.aLaCarte = aLaCarte; + return this; + } + + public Builder setCustomer(Customer customer) { + this.customer = customer; + return this; + } + + public Builder setRequestId(String requestId) { + this.requestId = requestId; + return this; + } + + public Builder setConfigurationKey(String configurationKey) { + this.configurationKey = configurationKey; + return this; + } + + public Builder setKey(String key) { + this.key = key; + return this; + } + + protected Builder setApplicationId(String applicationId) { + this.applicationId = applicationId; + return this; + } + + protected Builder setIsReplace(boolean isReplace) { + this.isReplace = isReplace; + return this; + } + + protected Builder setServiceModel(ServiceModel serviceModel) { + this.serviceModel = serviceModel; + return this; + } + + public BBInputSetupParameter build() { + return new BBInputSetupParameter(this); + } + } + +} diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupExistingServiceTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupExistingServiceTest.java index fbb67cb923..07f75db337 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupExistingServiceTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupExistingServiceTest.java @@ -20,7 +20,16 @@ package org.onap.so.bpmn.servicedecomposition.tasks; -import com.fasterxml.jackson.databind.ObjectMapper; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.isA; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareLookupKeyMap; +import java.io.File; +import java.util.Arrays; +import java.util.Collection; +import java.util.Map; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -41,16 +50,7 @@ import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; import org.onap.so.db.catalog.beans.Service; import org.onap.so.serviceinstancebeans.CloudConfiguration; import org.onap.so.serviceinstancebeans.RequestDetails; -import java.io.File; -import java.util.Arrays; -import java.util.Collection; -import java.util.Map; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.isA; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareLookupKeyMap; +import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(Parameterized.class) public class BBInputSetupExistingServiceTest { @@ -126,8 +126,7 @@ public class BBInputSetupExistingServiceTest { doReturn(aaiServiceInstance).when(bbInputSetupUtils) .getAAIServiceInstanceById(lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); doReturn(aaiCloudRegion).when(bbInputSetupUtils).getCloudRegion(requestDetails.getCloudConfiguration()); // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupPopulateMethodsTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupPopulateMethodsTest.java index 7d45b643e3..d7cfaf94f7 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupPopulateMethodsTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupPopulateMethodsTest.java @@ -19,14 +19,27 @@ */ package org.onap.so.bpmn.servicedecomposition.tasks; -import com.fasterxml.jackson.databind.ObjectMapper; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareConfigurationResourceKeys; +import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareLookupKeyMap; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.Map; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import org.mockito.ArgumentMatchers; +import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; @@ -34,34 +47,16 @@ import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.onap.aai.domain.yang.GenericVnf; import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration; -import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys; import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; -import org.onap.so.bpmn.servicedecomposition.entities.ServiceModel; import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization; import org.onap.so.db.catalog.beans.Service; import org.onap.so.db.request.beans.InfraActiveRequests; -import org.onap.so.serviceinstancebeans.CloudConfiguration; -import org.onap.so.serviceinstancebeans.ModelInfo; import org.onap.so.serviceinstancebeans.RequestDetails; -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.isA; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareConfigurationResourceKeys; -import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareLookupKeyMap; +import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(Parameterized.class) public class BBInputSetupPopulateMethodsTest { @@ -132,8 +127,7 @@ public class BBInputSetupPopulateMethodsTest { // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then - verify(SPY_bbInputSetup, times(1)).populateL3Network(any(String.class), isA(ModelInfo.class), - isA(Service.class), any(String.class), isA(ServiceInstance.class), any(), any(String.class), any()); + verify(SPY_bbInputSetup, times(1)).populateL3Network(any(BBInputSetupParameter.class)); } @Test @@ -165,11 +159,11 @@ public class BBInputSetupPopulateMethodsTest { // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then - 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), eq(vnfType), any(), any(String.class), - any(String.class), eq(false)); + ArgumentCaptor argument = ArgumentCaptor.forClass(BBInputSetupParameter.class); + verify(SPY_bbInputSetup, times(1)).populateGenericVnf(argument.capture()); + + assertEquals(argument.getValue().getIsReplace(), false); + assertEquals(argument.getValue().getVnfType(), vnfType); } @Test @@ -200,9 +194,7 @@ public class BBInputSetupPopulateMethodsTest { // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then - verify(SPY_bbInputSetup, times(1)).populateVfModule(isA(ModelInfo.class), isA(Service.class), any(String.class), - isA(ServiceInstance.class), any(), any(String.class), any(), any(String.class), any(), - isA(CloudConfiguration.class), Mockito.anyBoolean(), isA(ServiceModel.class)); + verify(SPY_bbInputSetup, times(1)).populateVfModule(any(BBInputSetupParameter.class)); } @Test @@ -232,9 +224,7 @@ public class BBInputSetupPopulateMethodsTest { // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then - verify(SPY_bbInputSetup, times(1)).populateVolumeGroup(isA(ModelInfo.class), isA(Service.class), - any(String.class), isA(ServiceInstance.class), any(), any(String.class), ArgumentMatchers.isNull(), - ArgumentMatchers.isNull(), eq(vnfType), any()); + verify(SPY_bbInputSetup, times(1)).populateVolumeGroup(any(BBInputSetupParameter.class)); } @Test @@ -270,14 +260,10 @@ public class BBInputSetupPopulateMethodsTest { requestAction, lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(service).when(bbInputSetupUtils) .getCatalogServiceByModelUUID(gBB.getServiceInstance().getModelInfoServiceInstance().getModelUuid()); - doNothing().when(SPY_bbInputSetup).populateConfiguration(isA(ModelInfo.class), isA(Service.class), - any(String.class), isA(ServiceInstance.class), any(), any(String.class), ArgumentMatchers.isNull(), - isA(ConfigurationResourceKeys.class), isA(RequestDetails.class)); + doNothing().when(SPY_bbInputSetup).populateConfiguration(any(BBInputSetupParameter.class)); // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then - verify(SPY_bbInputSetup, times(1)).populateConfiguration(isA(ModelInfo.class), isA(Service.class), - any(String.class), isA(ServiceInstance.class), any(), any(String.class), ArgumentMatchers.isNull(), - isA(ConfigurationResourceKeys.class), isA(RequestDetails.class)); + verify(SPY_bbInputSetup, times(1)).populateConfiguration(any(BBInputSetupParameter.class)); } } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java index 50d5ed3cad..a45e803cf0 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupTest.java @@ -24,10 +24,28 @@ package org.onap.so.bpmn.servicedecomposition.tasks; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; +import static com.shazam.shazamcrest.MatcherAssert.assertThat; +import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isA; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareConfigurationResourceKeys; +import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareLookupKeyMap; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.junit.Assert; import org.junit.Rule; @@ -108,28 +126,10 @@ import org.onap.so.serviceinstancebeans.RequestInfo; import org.onap.so.serviceinstancebeans.RequestParameters; import org.onap.so.serviceinstancebeans.Resources; import org.onap.so.serviceinstancebeans.SubscriberInfo; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import static com.shazam.shazamcrest.MatcherAssert.assertThat; -import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.isA; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareConfigurationResourceKeys; -import static org.onap.so.bpmn.servicedecomposition.tasks.BaseBBInputSetupTestHelper.prepareLookupKeyMap; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(MockitoJUnitRunner.class) public class BBInputSetupTest { @@ -137,6 +137,7 @@ public class BBInputSetupTest { protected ObjectMapper mapper = new ObjectMapper(); private static final String CLOUD_OWNER = "CloudOwner"; + private static final String REQUEST_ID = "b20bbd26-af25-4a50-a9fe-222a3c0f9771"; @Spy @InjectMocks @@ -444,13 +445,9 @@ public class BBInputSetupTest { doReturn(service).when(SPY_bbInputSetupUtils) .getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId()); doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId"); - - doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(eq(requestDetails), eq(service), - eq("bbName"), eq(serviceInstance), eq(lookupKeyMap), eq(resourceId), eq(vnfType), eq(null), eq(null), - eq(false), isA(ServiceModel.class)); + doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(any(BBInputSetupParameter.class)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); GeneralBuildingBlock actual = SPY_bbInputSetup.getGBBALaCarteNonService(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); @@ -483,19 +480,14 @@ public class BBInputSetupTest { doReturn(service).when(SPY_bbInputSetupUtils).getCatalogServiceByModelUUID("modelUUID"); doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId"); - doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(eq(requestDetails), eq(service), - eq("bbName"), eq(serviceInstance), eq(lookupKeyMap), eq(resourceId), eq(vnfType), eq(null), eq(null), - eq(true), isA(ServiceModel.class)); + doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(any(BBInputSetupParameter.class)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); GeneralBuildingBlock actual = SPY_bbInputSetup.getGBBALaCarteNonService(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); - verify(SPY_bbInputSetup, times(1)).populateObjectsOnAssignAndCreateFlows(eq(requestDetails), eq(service), - eq("bbName"), eq(serviceInstance), eq(lookupKeyMap), eq(resourceId), eq(vnfType), eq(null), eq(null), - eq(true), isA(ServiceModel.class)); + verify(SPY_bbInputSetup, times(1)).populateObjectsOnAssignAndCreateFlows(any(BBInputSetupParameter.class)); verify(SPY_bbInputSetupUtils, times(1)).getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId()); verify(SPY_bbInputSetupUtils, times(1)).getCatalogServiceByModelUUID("modelUUID"); @@ -575,13 +567,10 @@ public class BBInputSetupTest { .getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId()); doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils).getAAIServiceInstanceById("instanceId"); - doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(eq(requestDetails), eq(service), - eq("bbName"), eq(serviceInstance), eq(lookupKeyMap), eq(resourceId), eq(vnfType), eq(null), eq(null), - eq(false), isA(ServiceModel.class)); + doNothing().when(SPY_bbInputSetup).populateObjectsOnAssignAndCreateFlows(any(BBInputSetupParameter.class)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); GeneralBuildingBlock actual = SPY_bbInputSetup.getGBBALaCarteNonService(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); @@ -626,8 +615,7 @@ public class BBInputSetupTest { doReturn(serviceInstance).when(SPY_bbInputSetup).getALaCarteServiceInstance(service, requestDetails, customer, project, owningEntity, lookupKeyMap, resourceId, Boolean.TRUE.equals(executeBB.isaLaCarte()), executeBB.getBuildingBlock().getBpmnFlowName()); - doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, customer); + doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); GeneralBuildingBlock actual = SPY_bbInputSetup.getGBBALaCarteService(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId); @@ -674,8 +662,7 @@ public class BBInputSetupTest { doReturn(serviceInstance).when(SPY_bbInputSetup).getALaCarteServiceInstance(service, requestDetails, customer, project, owningEntity, lookupKeyMap, resourceId, Boolean.TRUE.equals(executeBB.isaLaCarte()), executeBB.getBuildingBlock().getBpmnFlowName()); - doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, customer); + doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); GeneralBuildingBlock actual = SPY_bbInputSetup.getGBBALaCarteService(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId); @@ -715,8 +702,7 @@ public class BBInputSetupTest { doReturn(serviceInstance).when(SPY_bbInputSetup).getALaCarteServiceInstance(service, requestDetails, customer, null, null, lookupKeyMap, resourceId, Boolean.TRUE.equals(executeBB.isaLaCarte()), executeBB.getBuildingBlock().getBpmnFlowName()); - doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, customer); + doReturn(expected).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); GeneralBuildingBlock actual = SPY_bbInputSetup.getGBBALaCarteService(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId); @@ -870,8 +856,6 @@ public class BBInputSetupTest { Mockito.mock(org.onap.so.serviceinstancebeans.LineOfBusiness.class); Map lookupKeyMap = new HashMap<>(); - 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(); @@ -883,61 +867,55 @@ public class BBInputSetupTest { doReturn(applicationId).when(requestInfo).getApplicationId(); doReturn(ModelType.network).when(modelInfo).getModelType(); - SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance, - lookupKeyMap, resourceId, vnfType, null, null, false, serviceModel); - verify(SPY_bbInputSetup, times(1)).populateL3Network(instanceName, modelInfo, service, bbName, serviceInstance, - lookupKeyMap, resourceId, null); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setRequestDetails(requestDetails).setService(service).setBbName(bbName) + .setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap).setResourceId(resourceId) + .setVnfType(vnfType).setIsReplace(false).setApplicationId(applicationId).build(); + + doNothing().when(SPY_bbInputSetup).populateL3Network(parameter); + SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(parameter); + parameter.setInstanceName(instanceName); + parameter.setModelInfo(modelInfo); + verify(SPY_bbInputSetup, times(1)).populateL3Network(parameter); assertEquals("NetworkId populated", true, lookupKeyMap.get(ResourceKey.NETWORK_ID).equalsIgnoreCase(resourceId)); 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, - productFamilyId, applicationId, false); - - SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance, - lookupKeyMap, resourceId, vnfType, null, null, false, serviceModel); - verify(SPY_bbInputSetup, times(1)).populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, - service, bbName, serviceInstance, lookupKeyMap, relatedInstanceList, resourceId, vnfType, null, - productFamilyId, applicationId, false); + doNothing().when(SPY_bbInputSetup).populateGenericVnf(parameter); + parameter.setResourceId(resourceId); + SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(parameter); + verify(SPY_bbInputSetup, times(1)).populateGenericVnf(parameter); assertEquals("VnfId populated", true, lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID).equalsIgnoreCase(resourceId)); doReturn(ModelType.volumeGroup).when(modelInfo).getModelType(); resourceId = "volumeGroupId"; - doNothing().when(SPY_bbInputSetup).populateVolumeGroup(modelInfo, service, bbName, serviceInstance, - lookupKeyMap, resourceId, relatedInstanceList, instanceName, vnfType, null); - SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance, - lookupKeyMap, resourceId, vnfType, null, null, false, serviceModel); - verify(SPY_bbInputSetup, times(1)).populateVolumeGroup(modelInfo, service, bbName, serviceInstance, - lookupKeyMap, resourceId, relatedInstanceList, instanceName, vnfType, null); + parameter.setResourceId(resourceId); + doNothing().when(SPY_bbInputSetup).populateVolumeGroup(parameter); + SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(parameter); + verify(SPY_bbInputSetup, times(1)).populateVolumeGroup(parameter); assertEquals("VolumeGroupId populated", true, lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID).equalsIgnoreCase(resourceId)); doReturn(ModelType.vfModule).when(modelInfo).getModelType(); resourceId = "vfModuleId"; - doNothing().when(SPY_bbInputSetup).populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, - resourceId, relatedInstanceList, instanceName, null, cloudConfiguration, false, serviceModel); - SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbName, serviceInstance, - lookupKeyMap, resourceId, vnfType, null, null, false, serviceModel); - verify(SPY_bbInputSetup, times(1)).populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, - resourceId, relatedInstanceList, instanceName, null, cloudConfiguration, false, serviceModel); + parameter.setResourceId(resourceId); + doNothing().when(SPY_bbInputSetup).populateVfModule(parameter); + SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(parameter); + verify(SPY_bbInputSetup, times(1)).populateVfModule(parameter); assertEquals("VfModuleId populated", true, lookupKeyMap.get(ResourceKey.VF_MODULE_ID).equalsIgnoreCase(resourceId)); String bbNameAssignVolume = AssignFlows.VOLUME_GROUP.toString(); doReturn(ModelType.vfModule).when(modelInfo).getModelType(); resourceId = "vfModuleId"; - doNothing().when(SPY_bbInputSetup).populateVolumeGroup(modelInfo, service, bbNameAssignVolume, serviceInstance, - lookupKeyMap, resourceId, relatedInstanceList, instanceName, vnfType, null); - SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(requestDetails, service, bbNameAssignVolume, - serviceInstance, lookupKeyMap, resourceId, vnfType, null, null, false, serviceModel); - verify(SPY_bbInputSetup, times(1)).populateVolumeGroup(modelInfo, service, bbNameAssignVolume, serviceInstance, - lookupKeyMap, resourceId, relatedInstanceList, instanceName, vnfType, null); - assertEquals("VolumeGroupId populated", true, - lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID).equalsIgnoreCase(resourceId)); + parameter.setResourceId(resourceId); + parameter.setBbName(bbNameAssignVolume); + doNothing().when(SPY_bbInputSetup).populateVolumeGroup(parameter); + SPY_bbInputSetup.populateObjectsOnAssignAndCreateFlows(parameter); + verify(SPY_bbInputSetup, times(2)).populateVolumeGroup(parameter); + assertEquals(resourceId, lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID)); } @Test @@ -1005,9 +983,9 @@ public class BBInputSetupTest { doReturn(tenant).when(bbInputSetupMapperLayer).mapTenant(aaiTenant); doReturn(aaiTenants).when(aaiCloudRegion).getTenants(); doReturn(tenants).when(aaiTenants).getTenant(); - - GeneralBuildingBlock actual = SPY_bbInputSetup.populateGBBWithSIAndAdditionalInfo(requestDetails, - serviceInstance, executeBB, requestAction, null); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setServiceInstance(serviceInstance) + .setRequestDetails(requestDetails).setExecuteBB(executeBB).setRequestAction(requestAction).build(); + GeneralBuildingBlock actual = SPY_bbInputSetup.populateGBBWithSIAndAdditionalInfo(parameter); assertThat(actual, sameBeanAs(expected)); } @@ -1107,6 +1085,7 @@ public class BBInputSetupTest { InstanceGroup instanceGroup = SPY_bbInputSetup.createInstanceGroup(); assertNull(serviceInstance.getCollection()); doReturn(true).when(SPY_bbInputSetup).isVlanTagging(service, key); + doReturn(collection).when(SPY_bbInputSetup).createCollection(resourceId); doReturn(instanceGroup).when(SPY_bbInputSetup).createInstanceGroup(); doNothing().when(SPY_bbInputSetup).mapCatalogCollection(service, collection, key); @@ -1122,10 +1101,11 @@ public class BBInputSetupTest { List customizations = new ArrayList<>(); customizations.add(networkCollection); doReturn(customizations).when(service).getCollectionResourceCustomizations(); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setService(service) + .setServiceInstance(serviceInstance).setResourceId(resourceId).setKey(key) + .setBbName(AssignFlows.NETWORK_COLLECTION.toString()).build(); - SPY_bbInputSetup.populateNetworkCollectionAndInstanceGroupAssign(service, - AssignFlows.NETWORK_COLLECTION.toString(), serviceInstance, resourceId, key); - + SPY_bbInputSetup.populateNetworkCollectionAndInstanceGroupAssign(parameter); assertNotNull(serviceInstance.getCollection()); assertNotNull(serviceInstance.getCollection().getInstanceGroup()); @@ -1144,8 +1124,10 @@ public class BBInputSetupTest { serviceInstance.setServiceInstanceName("test service instance"); serviceInstance.setInstanceGroups(instanceGroups); - SPY_bbInputSetup.populateInstanceGroup(modelInfo, service, serviceInstance, "instance-group-001", - "test instance group"); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setModelInfo(modelInfo) + .setService(service).setServiceInstance(serviceInstance).setResourceId("instance-group-001") + .setInstanceName("test instance group").build(); + SPY_bbInputSetup.populateInstanceGroup(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogInstanceGroup(isA(InstanceGroup.class), isA(ModelInfo.class), isA(Service.class)); verify(instanceGroups, times(1)).add(isA(InstanceGroup.class)); @@ -1213,12 +1195,14 @@ public class BBInputSetupTest { doReturn(aaiGenericVnf).when(SPY_bbInputSetupUtils).getAAIGenericVnf(vnf.getVnfId()); lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, "volumeGroupId"); - SPY_bbInputSetup.populateVolumeGroup(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - requestDetails.getRelatedInstanceList(), reqInfo.getInstanceName(), null, null); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setModelInfo(modelInfo).setService(service).setBbName(bbName).setServiceInstance(serviceInstance) + .setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setRequestDetails(requestDetails) + .setInstanceName(reqInfo.getInstanceName()).build(); + SPY_bbInputSetup.populateVolumeGroup(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogVolumeGroup(vg, modelInfo, service, "vnfModelCustomizationUUID"); vnf.getVolumeGroups().clear(); - SPY_bbInputSetup.populateVolumeGroup(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - requestDetails.getRelatedInstanceList(), reqInfo.getInstanceName(), null, null); + SPY_bbInputSetup.populateVolumeGroup(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogVolumeGroup(vnf.getVolumeGroups().get(0), modelInfo, service, "vnfModelCustomizationUUID"); } @@ -1267,19 +1251,19 @@ public class BBInputSetupTest { doNothing().when(SPY_bbInputSetup).mapCatalogNetwork(network, modelInfo, service); - SPY_bbInputSetup.populateL3Network(instanceName, modelInfo, service, bbName, serviceInstance, lookupKeyMap, - resourceId, null); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setInstanceName(instanceName).setModelInfo(modelInfo).setService(service).setBbName(bbName) + .setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).build(); + SPY_bbInputSetup.populateL3Network(parameter); lookupKeyMap.put(ResourceKey.NETWORK_ID, null); - SPY_bbInputSetup.populateL3Network(instanceName, modelInfo, service, bbName, serviceInstance, lookupKeyMap, - resourceId, null); + SPY_bbInputSetup.populateL3Network(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogNetwork(network, modelInfo, service); instanceName = "networkName2"; L3Network network2 = SPY_bbInputSetup.createNetwork(lookupKeyMap, instanceName, resourceId, null); - SPY_bbInputSetup.populateL3Network(instanceName, modelInfo, service, bbName, serviceInstance, lookupKeyMap, - resourceId, null); + SPY_bbInputSetup.populateL3Network(parameter); verify(SPY_bbInputSetup, times(2)).mapCatalogNetwork(network2, modelInfo, service); } @@ -1334,27 +1318,30 @@ public class BBInputSetupTest { doNothing().when(SPY_bbInputSetup).mapCatalogConfiguration(configuration, modelInfo, service, configResourceKeys); doReturn(vnfc).when(SPY_bbInputSetup).getVnfcToConfiguration(vnfcName); - SPY_bbInputSetup.populateConfiguration(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - instanceName, configResourceKeys, requestDetails); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setModelInfo(modelInfo).setService(service).setBbName(bbName).setServiceInstance(serviceInstance) + .setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setInstanceName(instanceName) + .setConfigurationResourceKeys(configResourceKeys).setRequestDetails(requestDetails).build(); + SPY_bbInputSetup.populateConfiguration(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogConfiguration(configuration, modelInfo, service, configResourceKeys); lookupKeyMap.put(ResourceKey.CONFIGURATION_ID, null); - SPY_bbInputSetup.populateConfiguration(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - instanceName, configResourceKeys, requestDetails); + SPY_bbInputSetup.populateConfiguration(parameter); verify(SPY_bbInputSetup, times(2)).mapCatalogConfiguration(configuration, modelInfo, service, configResourceKeys); instanceName = "configurationName2"; resourceId = "resourceId2"; lookupKeyMap.put(ResourceKey.CONFIGURATION_ID, "configurationId2"); + parameter.setInstanceName(instanceName); + parameter.setResourceId(resourceId); Configuration configuration2 = SPY_bbInputSetup.createConfiguration(lookupKeyMap, instanceName, resourceId); doReturn(configuration2).when(SPY_bbInputSetup).createConfiguration(lookupKeyMap, instanceName, resourceId); doNothing().when(SPY_bbInputSetup).mapCatalogConfiguration(configuration2, modelInfo, service, configResourceKeys); - SPY_bbInputSetup.populateConfiguration(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - instanceName, configResourceKeys, requestDetails); + SPY_bbInputSetup.populateConfiguration(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogConfiguration(configuration2, modelInfo, service, configResourceKeys); } @@ -1415,9 +1402,11 @@ public class BBInputSetupTest { doReturn(null).when(SPY_bbInputSetup).findConfigurationResourceCustomization(modelInfo, service); doReturn(vnfc).when(SPY_bbInputSetup).getVnfcToConfiguration(vnfcName); - - SPY_bbInputSetup.populateConfiguration(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - instanceName, configResourceKeys, requestDetails); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setModelInfo(modelInfo).setService(service).setBbName(bbName).setServiceInstance(serviceInstance) + .setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setInstanceName(instanceName) + .setConfigurationResourceKeys(configResourceKeys).setRequestDetails(requestDetails).build(); + SPY_bbInputSetup.populateConfiguration(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogConfiguration(configuration, modelInfo, service, configResourceKeys); } @@ -1460,31 +1449,29 @@ public class BBInputSetupTest { org.onap.so.db.catalog.beans.InstanceGroup catalogInstanceGroup = new org.onap.so.db.catalog.beans.InstanceGroup(); doReturn(catalogInstanceGroup).when(SPY_bbInputSetupUtils).getCatalogInstanceGroup(any()); - - SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName, - serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, false); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setModelInfo(modelInfo).setInstanceName(instanceName).setPlatform(platform) + .setLineOfBusiness(lineOfBusiness).setService(service).setBbName(bbName) + .setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap) + .setRelatedInstanceList(requestDetails.getRelatedInstanceList()).setResourceId(resourceId) + .setVnfType(vnfType).setProductFamilyId(requestDetails.getRequestInfo().getProductFamilyId()).build(); + SPY_bbInputSetup.populateGenericVnf(parameter); lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null); - SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName, - serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, false); + SPY_bbInputSetup.populateGenericVnf(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogVnf(vnf, modelInfo, service); instanceName = "vnfName2"; GenericVnf vnf2 = SPY_bbInputSetup.createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness, resourceId, vnfType, null, requestDetails.getRequestInfo().getProductFamilyId(), applicationId); - doReturn(vnf2).when(SPY_bbInputSetup).createGenericVnf(lookupKeyMap, instanceName, platform, lineOfBusiness, - resourceId, vnfType, null, requestDetails.getRequestInfo().getProductFamilyId(), applicationId); + 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, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, false); + SPY_bbInputSetup.populateGenericVnf(parameter); 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); @@ -1517,11 +1504,7 @@ public class BBInputSetupTest { lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, "genericVnfId"); String bbName = AssignFlows.VNF.toString(); - Platform expectedPlatform = new Platform(); - LineOfBusiness expectedLineOfBusiness = new LineOfBusiness(); String resourceId = "123"; - doReturn(expectedPlatform).when(bbInputSetupMapperLayer).mapRequestPlatform(platform); - doReturn(expectedLineOfBusiness).when(bbInputSetupMapperLayer).mapRequestLineOfBusiness(lineOfBusiness); org.onap.aai.domain.yang.GenericVnf vnfAAI = new org.onap.aai.domain.yang.GenericVnf(); vnfAAI.setModelCustomizationId("modelCustId"); doReturn(vnfAAI).when(SPY_bbInputSetupUtils).getAAIGenericVnf(vnf.getVnfId()); @@ -1532,9 +1515,14 @@ public class BBInputSetupTest { new org.onap.so.db.catalog.beans.InstanceGroup(); doReturn(catalogInstanceGroup).when(SPY_bbInputSetupUtils).getCatalogInstanceGroup(any()); - SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName, - serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, true); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setModelInfo(modelInfo) + .setInstanceName(instanceName).setPlatform(platform).setLineOfBusiness(lineOfBusiness) + .setService(service).setBbName(bbName).setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap) + .setRelatedInstanceList(requestDetails.getRelatedInstanceList()).setResourceId(resourceId) + .setVnfType(vnfType).setProductFamilyId(requestDetails.getRequestInfo().getProductFamilyId()) + .setApplicationId(applicationId).setIsReplace(true).build(); + + SPY_bbInputSetup.populateGenericVnf(parameter); assertEquals("my-test-uuid", modelInfo.getModelCustomizationUuid()); @@ -1608,16 +1596,17 @@ public class BBInputSetupTest { org.onap.so.db.catalog.beans.InstanceGroup catalogInstanceGroup = new org.onap.so.db.catalog.beans.InstanceGroup(); doReturn(catalogInstanceGroup).when(SPY_bbInputSetupUtils).getCatalogInstanceGroup(any()); - - SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName, - serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, false); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setModelInfo(modelInfo).setInstanceName(instanceName).setPlatform(platform) + .setLineOfBusiness(lineOfBusiness).setService(service).setBbName(bbName) + .setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap) + .setRelatedInstanceList(requestDetails.getRelatedInstanceList()).setResourceId(resourceId) + .setVnfType(vnfType).setProductFamilyId(requestDetails.getRequestInfo().getProductFamilyId()).build(); + SPY_bbInputSetup.populateGenericVnf(parameter); lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, null); - SPY_bbInputSetup.populateGenericVnf(modelInfo, instanceName, platform, lineOfBusiness, service, bbName, - serviceInstance, lookupKeyMap, requestDetails.getRelatedInstanceList(), resourceId, vnfType, null, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, false); + SPY_bbInputSetup.populateGenericVnf(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogVnf(vnf, modelInfo, service); instanceName = "vnfName2"; @@ -1629,9 +1618,7 @@ public class BBInputSetupTest { doReturn(vnf2AAI).when(SPY_bbInputSetupUtils).getAAIGenericVnf(vnf2.getVnfId()); 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, - requestDetails.getRequestInfo().getProductFamilyId(), applicationId, false); + SPY_bbInputSetup.populateGenericVnf(parameter); 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); @@ -2099,14 +2086,10 @@ public class BBInputSetupTest { ConfigurationResourceCustomization configurationCust = new ConfigurationResourceCustomization(); configurationCust.setModelCustomizationUUID("72d9d1cd-f46d-447a-abdb-451d6fb05fa9"); configurationCustList.add(configurationCust); - doNothing().when(SPY_bbInputSetup).populateConfiguration(isA(ModelInfo.class), isA(Service.class), - any(String.class), isA(ServiceInstance.class), any(), any(String.class), ArgumentMatchers.isNull(), - isA(ConfigurationResourceKeys.class), isA(RequestDetails.class)); + doNothing().when(SPY_bbInputSetup).populateConfiguration(any(BBInputSetupParameter.class)); gBB = SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); - verify(SPY_bbInputSetup, times(1)).populateConfiguration(isA(ModelInfo.class), isA(Service.class), - any(String.class), isA(ServiceInstance.class), any(), any(String.class), ArgumentMatchers.isNull(), - isA(ConfigurationResourceKeys.class), isA(RequestDetails.class)); + verify(SPY_bbInputSetup, times(1)).populateConfiguration(any(BBInputSetupParameter.class)); assertEquals(gBB.getCustomer().getVpnBindings().get(0).getVpnId(), "vpnBindingId"); assertEquals(gBB.getServiceInstance().getNetworks().get(0).getNetworkId(), "localNetworkId"); assertEquals(gBB.getServiceInstance().getNetworks().get(0).getVpnBindings().get(0).getVpnId(), @@ -2253,8 +2236,7 @@ public class BBInputSetupTest { // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then - verify(SPY_bbInputSetup, times(1)).populateL3Network(any(String.class), isA(ModelInfo.class), - isA(Service.class), any(String.class), isA(ServiceInstance.class), any(), any(String.class), any()); + verify(SPY_bbInputSetup, times(1)).populateL3Network(any(BBInputSetupParameter.class)); } @Test @@ -2322,8 +2304,7 @@ public class BBInputSetupTest { .getCatalogServiceByModelUUID(gBB.getServiceInstance().getModelInfoServiceInstance().getModelUuid()); doReturn(networkCustList).when(service).getNetworkCustomizations(); doReturn("ab153b6e-c364-44c0-bef6-1f2982117f04").when(networkCust).getModelCustomizationUUID(); - doNothing().when(SPY_bbInputSetup).populateL3Network(any(), isA(ModelInfo.class), isA(Service.class), - any(String.class), isA(ServiceInstance.class), any(), any(String.class), any()); + doNothing().when(SPY_bbInputSetup).populateL3Network(any(BBInputSetupParameter.class)); // when SPY_bbInputSetup.getGBBMacro(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId, vnfType); // then @@ -2485,8 +2466,7 @@ public class BBInputSetupTest { doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils) .getAAIServiceInstanceById(lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); doReturn(aaiNetwork).when(SPY_bbInputSetupUtils).getAAIL3Network(network.getNetworkId()); doNothing().when(SPY_bbInputSetup).mapCatalogNetwork(any(L3Network.class), any(ModelInfo.class), any(Service.class)); @@ -2537,8 +2517,7 @@ public class BBInputSetupTest { doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils) .getAAIServiceInstanceById(lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); doReturn(aaiVnf).when(SPY_bbInputSetupUtils).getAAIGenericVnf(vnf.getVnfId()); doNothing().when(SPY_bbInputSetup).mapCatalogVnf(any(GenericVnf.class), any(ModelInfo.class), any(Service.class)); @@ -2594,8 +2573,7 @@ public class BBInputSetupTest { doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils) .getAAIServiceInstanceById(lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); doReturn(aaiVnf).when(SPY_bbInputSetupUtils).getAAIGenericVnf(vnf.getVnfId()); doNothing().when(SPY_bbInputSetup).mapCatalogVnf(any(GenericVnf.class), any(ModelInfo.class), any(Service.class)); @@ -2656,8 +2634,7 @@ public class BBInputSetupTest { doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils) .getAAIServiceInstanceById(lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); doReturn(aaiVnf).when(SPY_bbInputSetupUtils).getAAIGenericVnf(vnf.getVnfId()); doNothing().when(SPY_bbInputSetup).mapCatalogVnf(any(GenericVnf.class), any(ModelInfo.class), any(Service.class)); @@ -2723,8 +2700,7 @@ public class BBInputSetupTest { doReturn(aaiServiceInstance).when(SPY_bbInputSetupUtils) .getAAIServiceInstanceById(lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID)); doReturn(serviceInstance).when(SPY_bbInputSetup).getExistingServiceInstance(aaiServiceInstance); - doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(requestDetails, serviceInstance, - executeBB, requestAction, null); + doReturn(gBB).when(SPY_bbInputSetup).populateGBBWithSIAndAdditionalInfo(any(BBInputSetupParameter.class)); doReturn(aaiConfiguration).when(SPY_bbInputSetupUtils).getAAIConfiguration(configuration.getConfigurationId()); doNothing().when(SPY_bbInputSetup).mapCatalogConfiguration(isA(Configuration.class), isA(ModelInfo.class), isA(Service.class), isA(ConfigurationResourceKeys.class)); @@ -2999,8 +2975,11 @@ public class BBInputSetupTest { doNothing().when(SPY_bbInputSetup).mapCatalogVfModule(isA(VfModule.class), isA(ModelInfo.class), isA(Service.class), isA(String.class)); - SPY_bbInputSetup.populateVfModule(modelInfo, service, bbName, serviceInstance, lookupKeyMap, resourceId, - relatedInstanceList, instanceName, instanceParams, cloudConfiguration, false, serviceModel); + SPY_bbInputSetup.populateVfModule(new BBInputSetupParameter.Builder().setRequestId(REQUEST_ID) + .setModelInfo(modelInfo).setService(service).setBbName(bbName).setServiceInstance(serviceInstance) + .setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setRelatedInstanceList(relatedInstanceList) + .setInstanceName(instanceName).setInstanceParams(instanceParams) + .setCloudConfiguration(cloudConfiguration).setServiceModel(serviceModel).build()); verify(SPY_bbInputSetup, times(3)).mapCatalogVfModule(isA(VfModule.class), isA(ModelInfo.class), isA(Service.class), isA(String.class)); @@ -3075,8 +3054,12 @@ public class BBInputSetupTest { doNothing().when(SPY_bbInputSetup).mapCatalogVfModule(isA(VfModule.class), isA(ModelInfo.class), isA(Service.class), isA(String.class)); - SPY_bbInputSetup.populateVfModule(modelInfo, newService, bbName, serviceInstance, lookupKeyMap, resourceId, - relatedInstanceList, instanceName, instanceParams, cloudConfiguration, true, serviceModel); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setModelInfo(modelInfo) + .setService(newService).setBbName(bbName).setServiceInstance(serviceInstance) + .setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setRelatedInstanceList(relatedInstanceList) + .setInstanceName(instanceName).setInstanceParams(instanceParams) + .setCloudConfiguration(cloudConfiguration).setIsReplace(true).setServiceModel(serviceModel).build(); + SPY_bbInputSetup.populateVfModule(parameter); verify(SPY_bbInputSetup, times(1)).mapCatalogVfModule(isA(VfModule.class), isA(ModelInfo.class), eq(currentService), eq("vnfModelCustId")); @@ -3153,8 +3136,14 @@ public class BBInputSetupTest { doNothing().when(SPY_bbInputSetup).mapCatalogVfModule(isA(VfModule.class), isA(ModelInfo.class), isA(Service.class), isA(String.class)); - SPY_bbInputSetup.populateVfModule(modelInfo, newService, bbName, serviceInstance, lookupKeyMap, resourceId, - relatedInstanceList, instanceName, instanceParams, cloudConfiguration, true, serviceModel); + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setModelInfo(modelInfo) + .setService(newService).setServiceInstance(serviceInstance).setBbName(bbName) + .setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setRelatedInstanceList(relatedInstanceList) + .setInstanceName(instanceName).setInstanceParams(instanceParams) + .setCloudConfiguration(cloudConfiguration).setIsReplace(true).setServiceModel(serviceModel).build(); + + + SPY_bbInputSetup.populateVfModule(parameter); verify(SPY_bbInputSetup, times(2)).mapCatalogVfModule(isA(VfModule.class), isA(ModelInfo.class), eq(serviceModel.getCurrentService()), isA(String.class)); -- cgit 1.2.3-korg