Remove Swagger UI
[so.git] / asdc-controller / src / main / java / org / onap / so / asdc / installer / heat / ToscaResourceInstaller.java
index f7b457c..c8f7f05 100644 (file)
@@ -347,38 +347,47 @@ public class ToscaResourceInstaller {
                }
        }
 
-       protected void processNetworks(ToscaResourceStructure toscaResourceStruct, Service service)
-                       throws ArtifactInstallerException {
-               List<NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper().getServiceVlList();
-
-               if (nodeTemplatesVLList != null) {
-                       for (NodeTemplate vlNode : nodeTemplatesVLList) {
-                               String networkResourceModelName = vlNode.getMetaData()
-                                               .getValue(SdcPropertyNames.PROPERTY_NAME_NAME);
-                               
-                               TempNetworkHeatTemplateLookup tempNetworkLookUp = tempNetworkLookupRepo.findFirstBynetworkResourceModelName(networkResourceModelName);
-                               
-                               if (tempNetworkLookUp != null ) {                                       
-                                               HeatTemplate heatTemplate =  heatRepo.findByArtifactUuid(tempNetworkLookUp.getHeatTemplateArtifactUuid());
-                                               if (heatTemplate != null ) {
-                                               NetworkResourceCustomization networkCustomization = createNetwork(vlNode, toscaResourceStruct, heatTemplate,tempNetworkLookUp.getAicVersionMax(),
-                                                       tempNetworkLookUp.getAicVersionMin(),service);
-                                               service.getNetworkCustomizations()
-                                               .add(networkCustomization);
-                                       }
-                                       else{
-                                               throw new ArtifactInstallerException(                                   
-                                                       "No HeatTemplate found for artifactUUID: "
-                                                                       + tempNetworkLookUp.getHeatTemplateArtifactUuid());
-                                       }
-                               } else {
-                                       throw new ArtifactInstallerException(
-                                                       "No NetworkResourceName found in TempNetworkHeatTemplateLookup for "
-                                                                       + networkResourceModelName);
-                               }                                       
-                               
-                       }
-               }
+    protected void processNetworks (ToscaResourceStructure toscaResourceStruct,
+                                    Service service) throws ArtifactInstallerException {
+        List <NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper ().getServiceVlList ();
+
+        if (nodeTemplatesVLList != null) {
+            for (NodeTemplate vlNode : nodeTemplatesVLList) {
+                String networkResourceModelName = vlNode.getMetaData ().getValue (SdcPropertyNames.PROPERTY_NAME_NAME);
+
+                TempNetworkHeatTemplateLookup tempNetworkLookUp =
+                                                                tempNetworkLookupRepo.findFirstBynetworkResourceModelName (networkResourceModelName);
+
+                if (tempNetworkLookUp != null) {
+                    HeatTemplate heatTemplate =
+                                              heatRepo.findByArtifactUuid (tempNetworkLookUp.getHeatTemplateArtifactUuid ());
+                    if (heatTemplate != null) {
+                        NetworkResourceCustomization networkCustomization =
+                                                                          createNetwork (vlNode,
+                                                                                         toscaResourceStruct,
+                                                                                         heatTemplate,
+                                                                                         tempNetworkLookUp.getAicVersionMax (),
+                                                                                         tempNetworkLookUp.getAicVersionMin (),
+                                                                                         service);
+                        service.getNetworkCustomizations ().add (networkCustomization);
+                    } else {
+                        throw new ArtifactInstallerException ("No HeatTemplate found for artifactUUID: "
+                                                              + tempNetworkLookUp.getHeatTemplateArtifactUuid ());
+                    }
+                } else {
+                    NetworkResourceCustomization networkCustomization = createNetwork (vlNode,
+                                                                                       toscaResourceStruct,
+                                                                                       null,
+                                                                                       null,
+                                                                                       null,
+                                                                                       service);
+                    service.getNetworkCustomizations().add (networkCustomization);
+                    logger.debug ("No NetworkResourceName found in TempNetworkHeatTemplateLookup for "
+                                  + networkResourceModelName);
+                }
+
+            }
+        }
        }
 
        protected void processAllottedResources(ToscaResourceStructure toscaResourceStruct, Service service,
@@ -459,7 +468,6 @@ public class ToscaResourceInstaller {
                
                logger.debug("VF Category is : " + vfCustomizationCategory);
                
-               //if (!vfCustomizationCategory.equalsIgnoreCase(ALLOTTED_RESOURCE))
                if(vfResourceStructure.getVfModuleStructure() != null && !vfResourceStructure.getVfModuleStructure().isEmpty())
                {
 
@@ -479,9 +487,9 @@ public class ToscaResourceInstaller {
                        
                                VnfResourceCustomization vnfResource = createVnfResource(nodeTemplate, toscaResourceStruct, service);
                                
-                               Set<CvnfcCustomization> cvnfcCustomizations = new HashSet<CvnfcCustomization>();
-                               Set<VnfcCustomization> vnfcCustomizations = new HashSet<VnfcCustomization>();
-                               
+                               Set<CvnfcCustomization> existingCvnfcSet = new HashSet<CvnfcCustomization>(); 
+                               Set<VnfcCustomization> existingVnfcSet = new HashSet<VnfcCustomization>();
+                                                               
                                for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) {
                                        
                                        logger.debug("vfModuleStructure:" + vfModuleStructure.toString());
@@ -489,23 +497,24 @@ public class ToscaResourceInstaller {
                                                        .getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID);
                                        IVfModuleData vfMetadata = vfModuleStructure.getVfModuleMetadata();     
                                        
-                                       logger.debug("Comparing VFModule Metadata CustomizationUUID : " + vfMetadata.getVfModuleModelCustomizationUUID());
-                                       for(Group group : vfGroups){
-                                               logger.debug("To Group VFModuleModelCustomizationUUID " + group.getMetadata().getValue("vfModuleModelCustomizationUUID"));
-                                       }
+                                       logger.debug("Comparing Vf_Modules_Metadata CustomizationUUID : " + vfMetadata.getVfModuleModelCustomizationUUID());
                                        
-                                       Optional<org.onap.sdc.toscaparser.api.Group> matchingObject = vfGroups.stream().
-                                                   filter(group -> group.getMetadata().getValue("vfModuleModelCustomizationUUID").equals(vfMetadata.getVfModuleModelCustomizationUUID())).
-                                                   findFirst();
+                                       Optional<org.onap.sdc.toscaparser.api.Group> matchingObject = vfGroups.stream()
+                                                       .peek(group -> logger.debug("To Csar Group VFModuleModelCustomizationUUID " + group.getMetadata().getValue("vfModuleModelCustomizationUUID")))
+                                                   .filter(group -> group.getMetadata().getValue("vfModuleModelCustomizationUUID").equals(vfMetadata.getVfModuleModelCustomizationUUID()))
+                                                   .findFirst();
                                        if(matchingObject.isPresent()){
                                                VfModuleCustomization vfModuleCustomization = createVFModuleResource(matchingObject.get(), nodeTemplate, toscaResourceStruct, 
-                                                                                                                                                                                        vfResourceStructure,vfMetadata, vnfResource, service, cvnfcCustomizations, vnfcCustomizations);
+                                                                                                                                                                                        vfResourceStructure,vfMetadata, vnfResource, service, existingCvnfcSet, existingVnfcSet);
                                                vfModuleCustomization.getVfModule().setVnfResources(vnfResource.getVnfResources());
                                        }else
-                                               throw new Exception("Cannot find matching VFModule Customization for VF Module Metadata: " + vfMetadata.getVfModuleModelCustomizationUUID());
+                                               throw new Exception("Cannot find matching VFModule Customization in Csar for Vf_Modules_Metadata: " + vfMetadata.getVfModuleModelCustomizationUUID());
                                        
                                }
                                service.getVnfCustomizations().add(vnfResource);
+                       } else{
+                               logger.debug("Notification VF ResourceCustomizationUUID: " + vfNotificationResource.getResourceCustomizationUUID() + " doesn't match " +
+                                                    "Tosca VF Customization UUID: " +  vfCustomizationUUID);
                        }
                }
        }
@@ -1153,7 +1162,7 @@ public class ToscaResourceInstaller {
                        vfcInstanceGroup.setModelInvariantUUID(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
                        vfcInstanceGroup.setModelUUID(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
                        vfcInstanceGroup.setModelVersion(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
-               vfcInstanceGroup.setToscaNodeType(group.getType());
+                       vfcInstanceGroup.setToscaNodeType(group.getType());
                        vfcInstanceGroup.setRole("SUB-INTERFACE");   // Set Role
                        vfcInstanceGroup.setType(InstanceGroupType.VNFC);  // Set type  
                        
@@ -1170,30 +1179,11 @@ public class ToscaResourceInstaller {
                return vfcInstanceGroupCustom;
 
        }
-       
-       protected VFCInstanceGroup findExistingVnfcInstanceGroup(VnfResourceCustomization vnfResourceCustomization,
-                       String modelUUID) {
-               VFCInstanceGroup vfcInstanceGroup = null;
-               List<VnfcInstanceGroupCustomization> vnfInstanceGroupCustomizations = vnfResourceCustomization
-                               .getVnfcInstanceGroupCustomizations();
-               if(vnfInstanceGroupCustomizations != null){
-                       for (VnfcInstanceGroupCustomization vnfcInstanceGroupCustom : vnfResourceCustomization
-                                       .getVnfcInstanceGroupCustomizations()) {
-                               if (vnfcInstanceGroupCustom.getInstanceGroup() != null
-                                               && vnfcInstanceGroupCustom.getInstanceGroup().getModelUUID().equals(modelUUID)) {
-                                       vfcInstanceGroup = (VFCInstanceGroup)vnfcInstanceGroupCustom.getInstanceGroup();
-                               }
-                       }
-               }
-               if (vfcInstanceGroup == null)
-                       vfcInstanceGroup = (VFCInstanceGroup) instanceGroupRepo.findByModelUUID(modelUUID);
-
-               return vfcInstanceGroup;
-       }
-       
+               
        protected VfModuleCustomization createVFModuleResource(Group group, NodeTemplate nodeTemplate,
                        ToscaResourceStructure toscaResourceStructure, VfResourceStructure vfResourceStructure,
-                       IVfModuleData vfModuleData, VnfResourceCustomization vnfResource, Service service, Set<CvnfcCustomization> cvnfcCustomizations, Set<VnfcCustomization> vnfcCustomizations) {
+                       IVfModuleData vfModuleData, VnfResourceCustomization vnfResource, Service service, Set<CvnfcCustomization> existingCvnfcSet, Set<VnfcCustomization> existingVnfcSet) {
+               
                VfModuleCustomization vfModuleCustomization = findExistingVfModuleCustomization(vnfResource,
                                vfModuleData.getVfModuleModelCustomizationUUID());
                if(vfModuleCustomization == null){              
@@ -1203,7 +1193,7 @@ public class ToscaResourceInstaller {
                        if(vfModule==null)
                                vfModule=createVfModule(group, toscaResourceStructure, vfModuleData, vfMetadata);
                        
-                       vfModuleCustomization = createVfModuleCustomzation(group, toscaResourceStructure, vfModule, vfModuleData);
+                       vfModuleCustomization = createVfModuleCustomization(group, toscaResourceStructure, vfModule, vfModuleData);
                        setHeatInformationForVfModule(toscaResourceStructure, vfResourceStructure, vfModule, vfModuleCustomization,
                                        vfMetadata);
                        vfModuleCustomization.setVfModule(vfModule);
@@ -1216,29 +1206,32 @@ public class ToscaResourceInstaller {
                //******************************************************************************************************************
                //* Extract VFC's and CVFC's then add them to VFModule
                //******************************************************************************************************************
-                               
-               Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomizations = new HashSet<VnfVfmoduleCvnfcConfigurationCustomization>();
+               
+               Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomizations = new HashSet<VnfVfmoduleCvnfcConfigurationCustomization>();                
+               Set<CvnfcCustomization> cvnfcCustomizations = new HashSet<CvnfcCustomization>();
+               Set<VnfcCustomization> vnfcCustomizations = new HashSet<VnfcCustomization>();
 
                // Extract CVFC lists
                List<NodeTemplate> cvfcList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(nodeTemplate, SdcTypes.CVFC);
                                                
                for(NodeTemplate cvfcTemplate : cvfcList) {
-                                               
-                       CvnfcCustomization existingCvnfcCustomization = findExistingCvfc(cvnfcCustomizations, cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                                                                       
+                       CvnfcCustomization existingCvnfcCustomization = findExistingCvfc(existingCvnfcSet, cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                        
                        if(existingCvnfcCustomization == null){
                        
                        //Extract associated VFC - Should always be just one
                        List<NodeTemplate> vfcList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(cvfcTemplate, SdcTypes.VFC);
-                       
-                       VnfcCustomization vnfcCustomization = new VnfcCustomization();
-                       VnfcCustomization existingVnfcCustomization = null;
-                       
+                                               
                        for(NodeTemplate vfcTemplate : vfcList) {
                                
-                               existingVnfcCustomization = findExistingVfc(vnfcCustomizations, vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
-                                                                                                                       
-                               if(existingVnfcCustomization == null){
+                               VnfcCustomization vnfcCustomization = new VnfcCustomization();
+                               VnfcCustomization existingVnfcCustomization = null;
+                               
+                               existingVnfcCustomization = findExistingVfc(existingVnfcSet, vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                                       
+                               // Only Add Abstract VNFC's to our DB, ignore all others
+                               if(existingVnfcCustomization == null && vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY).equalsIgnoreCase("Abstract")){
                                        vnfcCustomization.setModelCustomizationUUID(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                                        vnfcCustomization.setModelInstanceName(vfcTemplate.getName());
                                        vnfcCustomization.setModelInvariantUUID(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
@@ -1252,31 +1245,36 @@ public class ToscaResourceInstaller {
                                        vnfcCustomization.setToscaNodeType(testNull(vfcTemplate.getType()));
                                        
                                        vnfcCustomizations.add(vnfcCustomization);
+                                       existingVnfcSet.add(vnfcCustomization);
                                }
-                               
-                       CvnfcCustomization cvnfcCustomization = new CvnfcCustomization();
-                       cvnfcCustomization.setModelCustomizationUUID(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
-                       cvnfcCustomization.setModelInstanceName(cvfcTemplate.getName());
-                       cvnfcCustomization.setModelInvariantUUID(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
-                       cvnfcCustomization.setModelName(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
-                       cvnfcCustomization.setModelUUID(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
-
-                       cvnfcCustomization.setModelVersion(
-                                       testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
-                       cvnfcCustomization.setDescription(
-                                       testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
-                       cvnfcCustomization.setToscaNodeType(testNull(cvfcTemplate.getType()));
-                       
-                       if(existingVnfcCustomization != null){
-                               cvnfcCustomization.setVnfcCustomization(existingVnfcCustomization);
-                       }else{
-                               cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
-                       }
                        
-                       cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
-                       cvnfcCustomization.setVnfResourceCustomization(vnfResource);                                    
-                       
-                       cvnfcCustomizations.add(cvnfcCustomization);
+                       // This check is needed incase the VFC subcategory is something other than Abstract.  In that case we want to skip adding that record to our DB.
+                       if(vnfcCustomization.getModelCustomizationUUID() != null){
+                               
+                               CvnfcCustomization cvnfcCustomization = new CvnfcCustomization();
+                               cvnfcCustomization.setModelCustomizationUUID(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
+                               cvnfcCustomization.setModelInstanceName(cvfcTemplate.getName());
+                               cvnfcCustomization.setModelInvariantUUID(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
+                               cvnfcCustomization.setModelName(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
+                               cvnfcCustomization.setModelUUID(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
+       
+                               cvnfcCustomization.setModelVersion(
+                                               testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
+                               cvnfcCustomization.setDescription(
+                                               testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
+                               cvnfcCustomization.setToscaNodeType(testNull(cvfcTemplate.getType()));
+                               
+                               if(existingVnfcCustomization != null){
+                                       cvnfcCustomization.setVnfcCustomization(existingVnfcCustomization);
+                               }else{
+                                       cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
+                               }
+                               
+                               cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
+                               cvnfcCustomization.setVnfResourceCustomization(vnfResource);                                    
+                               
+                               cvnfcCustomizations.add(cvnfcCustomization);
+                               existingCvnfcSet.add(cvnfcCustomization);
                        
                        //*****************************************************************************************************************************************
                        //* Extract Fabric Configuration
@@ -1308,11 +1306,13 @@ public class ToscaResourceInstaller {
                                vnfVfmoduleCvnfcConfigurationCustomizations.add(vnfVfmoduleCvnfcConfigurationCustomization);
                        }
                        
+                       }
+                       
                   }
                        
                  }
                        
-               }
+               } 
                
                vfModuleCustomization.setCvnfcCustomization(cvnfcCustomizations);
                vfModuleCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(vnfVfmoduleCvnfcConfigurationCustomizations);
@@ -1408,7 +1408,7 @@ public class ToscaResourceInstaller {
                return vfModule;
        }
 
-       protected VfModuleCustomization createVfModuleCustomzation(Group group,
+       protected VfModuleCustomization createVfModuleCustomization(Group group,
                        ToscaResourceStructure toscaResourceStructure, VfModule vfModule, IVfModuleData vfModuleData) {
                VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
                
@@ -1595,16 +1595,10 @@ public class ToscaResourceInstaller {
                                
                        for (Group group : groupList) { 
                                
-                               VFCInstanceGroup vfcInstanceGroup = findExistingVnfcInstanceGroup(vnfResourceCustomization,
-                                               group.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));
-                               if(vfcInstanceGroup == null){
-                                       VnfcInstanceGroupCustomization vnfcInstanceGroupCustomization = createVNFCInstanceGroup(
-                                                       vfNodeTemplate, group, vnfResourceCustomization);
-                               
-                                       vnfcInstanceGroupCustomizationRepo.saveAndFlush(vnfcInstanceGroupCustomization);
-                               }
-                       }
-                       
+                                       VnfcInstanceGroupCustomization vnfcInstanceGroupCustomization = createVNFCInstanceGroup(vfNodeTemplate, group, vnfResourceCustomization);
+                                       
+                                       vnfcInstanceGroupCustomizationRepo.saveAndFlush(vnfcInstanceGroupCustomization);                                
+                       }                       
                }
                return vnfResourceCustomization;
        }
@@ -1683,6 +1677,8 @@ public class ToscaResourceInstaller {
                                testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
                vnfResource.setAicVersionMin(
                                testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
+               vnfResource.setCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
+               vnfResource.setSubCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
                
                return vnfResource;
        }