From 2d499f6efeaf9f2ee227199fda5e350882861a7b Mon Sep 17 00:00:00 2001 From: "Merkel, Jeff" Date: Wed, 26 Jun 2019 11:23:02 -0400 Subject: handle multiple cvnfc configs - Handle multiple cvnfc configs with the same model uuid. - Update CvnfcConfigurationCustomization to a List from a Set Change-Id: I8c026510d813ebb6294a9cedd39d4d4b8f4b9dcf Issue-ID: SO-2056 Signed-off-by: Benjamin, Max (mb388a) --- .../installer/heat/ToscaResourceInstaller.java | 38 +++++++++++++--------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'asdc-controller') diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java index 30196379a3..94517ccc45 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java @@ -107,6 +107,7 @@ import org.onap.so.db.catalog.data.repository.CollectionResourceCustomizationRep import org.onap.so.db.catalog.data.repository.CollectionResourceRepository; import org.onap.so.db.catalog.data.repository.ConfigurationResourceCustomizationRepository; import org.onap.so.db.catalog.data.repository.ConfigurationResourceRepository; +import org.onap.so.db.catalog.data.repository.CvnfcConfigurationCustomizationRepository; import org.onap.so.db.catalog.data.repository.CvnfcCustomizationRepository; import org.onap.so.db.catalog.data.repository.ExternalServiceToInternalServiceRepository; import org.onap.so.db.catalog.data.repository.HeatEnvironmentRepository; @@ -980,6 +981,7 @@ public class ToscaResourceInstaller { Set existingCvnfcSet = new HashSet<>(); Set existingVnfcSet = new HashSet<>(); + List existingCvnfcConfigurationCustom = new ArrayList<>(); for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) { @@ -1000,7 +1002,7 @@ public class ToscaResourceInstaller { if (matchingObject.isPresent()) { VfModuleCustomization vfModuleCustomization = createVFModuleResource(matchingObject.get(), nodeTemplate, toscaResourceStruct, vfResourceStructure, vfMetadata, vnfResource, - service, existingCvnfcSet, existingVnfcSet); + existingCvnfcSet, existingVnfcSet, existingCvnfcConfigurationCustom); vfModuleCustomization.getVfModule().setVnfResources(vnfResource.getVnfResources()); } else throw new Exception( @@ -1928,8 +1930,9 @@ public class ToscaResourceInstaller { protected VfModuleCustomization createVFModuleResource(Group group, NodeTemplate vfTemplate, ToscaResourceStructure toscaResourceStructure, VfResourceStructure vfResourceStructure, - IVfModuleData vfModuleData, VnfResourceCustomization vnfResource, Service service, - Set existingCvnfcSet, Set existingVnfcSet) { + IVfModuleData vfModuleData, VnfResourceCustomization vnfResource, Set existingCvnfcSet, + Set existingVnfcSet, + List existingCvnfcConfigurationCustom) { VfModuleCustomization vfModuleCustomization = findExistingVfModuleCustomization(vnfResource, vfModuleData.getVfModuleModelCustomizationUUID()); @@ -1955,7 +1958,7 @@ public class ToscaResourceInstaller { // * Extract VFC's and CVFC's then add them to VFModule // ****************************************************************************************************************** - Set cvnfcConfigurationCustomizations = new HashSet<>(); + List cvnfcConfigurationCustomizations = new ArrayList<>(); Set cvnfcCustomizations = new HashSet<>(); Set vnfcCustomizations = new HashSet<>(); @@ -2060,8 +2063,6 @@ public class ToscaResourceInstaller { .getNodeTemplatePropertyLeafValue(cvfcTemplate, "nfc_naming_code")); cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization); - cvnfcCustomizations.add(cvnfcCustomization); - existingCvnfcSet.add(cvnfcCustomization); // ***************************************************************************************************************************************** // * Extract Fabric Configuration @@ -2074,8 +2075,9 @@ public class ToscaResourceInstaller { ConfigurationResource fabricConfig = null; - ConfigurationResource existingConfig = findExistingConfiguration(service, - fabricTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)); + ConfigurationResource existingConfig = + findExistingConfiguration(existingCvnfcConfigurationCustom, + fabricTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)); if (existingConfig == null) { @@ -2089,11 +2091,16 @@ public class ToscaResourceInstaller { createCvnfcConfigurationCustomization(fabricTemplate, toscaResourceStructure, vnfResource, vfModuleCustomization, cvnfcCustomization, fabricConfig, vfTemplate, vfModuleMemberName); + cvnfcConfigurationCustomizations.add(cvnfcConfigurationCustomization); - fabricConfig.setCvnfcConfigurationCustomization(cvnfcConfigurationCustomizations); + existingCvnfcConfigurationCustom.add(cvnfcConfigurationCustomization); + } cvnfcCustomization.setCvnfcConfigurationCustomization(cvnfcConfigurationCustomizations); + cvnfcCustomizations.add(cvnfcCustomization); + existingCvnfcSet.add(cvnfcCustomization); + } } @@ -2152,13 +2159,14 @@ public class ToscaResourceInstaller { return cvnfcConfigurationCustomization; } - protected ConfigurationResource findExistingConfiguration(Service service, String modelUUID) { + protected ConfigurationResource findExistingConfiguration( + List existingCvnfcConfigurationCustom, String modelUUID) { ConfigurationResource configResource = null; - for (ConfigurationResourceCustomization configurationResourceCustom : service - .getConfigurationCustomizations()) { - if (configurationResourceCustom.getConfigurationResource() != null - && configurationResourceCustom.getConfigurationResource().getModelUUID().equals(modelUUID)) { - configResource = configurationResourceCustom.getConfigurationResource(); + for (CvnfcConfigurationCustomization cvnfcConfigCustom : existingCvnfcConfigurationCustom) { + if (cvnfcConfigCustom != null) { + if (cvnfcConfigCustom.getConfigurationResource().getModelUUID().equals(modelUUID)) { + configResource = cvnfcConfigCustom.getConfigurationResource(); + } } } -- cgit 1.2.3-korg