\r
package org.openecomp.mso.asdc.installer.heat;\r
\r
+import java.sql.SQLIntegrityConstraintViolationException;\r
import java.sql.Timestamp;\r
import java.text.SimpleDateFormat;\r
import java.util.ArrayList;\r
import java.util.Map;\r
import java.util.Set;\r
import java.util.regex.Pattern;\r
-import java.util.Collections;\r
import java.util.regex.Matcher;\r
import java.util.Comparator;\r
\r
import org.hibernate.exception.ConstraintViolationException;\r
import org.hibernate.exception.LockAcquisitionException;\r
+import org.onap.sdc.api.consumer.IComponentDoneStatusMessage;\r
//import org.openecomp.generic.tosca.parser.model.Metadata;\r
//import org.openecomp.generic.tosca.parser.model.NodeTemplate;\r
-import org.openecomp.sdc.api.notification.IArtifactInfo;\r
-import org.openecomp.sdc.api.notification.IVfModuleMetadata;\r
-import org.openecomp.sdc.tosca.parser.impl.SdcPropertyNames;\r
-import org.openecomp.sdc.toscaparser.api.Group;\r
-import org.openecomp.sdc.toscaparser.api.NodeTemplate;\r
-import org.openecomp.sdc.toscaparser.api.Property;\r
-import org.openecomp.sdc.toscaparser.api.elements.Metadata;\r
-import org.openecomp.sdc.toscaparser.api.parameters.Input;\r
+import org.onap.sdc.api.notification.IArtifactInfo;\r
+import org.onap.sdc.api.notification.IStatusData;\r
+import org.onap.sdc.api.notification.IVfModuleMetadata;\r
+import org.onap.sdc.api.results.IDistributionClientResult;\r
+import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;\r
+import org.onap.sdc.toscaparser.api.Group;\r
+import org.onap.sdc.toscaparser.api.NodeTemplate;\r
+import org.onap.sdc.toscaparser.api.Property;\r
+import org.onap.sdc.toscaparser.api.elements.Metadata;\r
+import org.onap.sdc.toscaparser.api.parameters.Input;\r
+import org.onap.sdc.utils.DistributionStatusEnum;\r
import org.openecomp.mso.asdc.client.ASDCConfiguration;\r
import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;\r
import org.openecomp.mso.asdc.installer.ASDCElementInfo;\r
import org.openecomp.mso.asdc.installer.VfModuleArtifact;\r
import org.openecomp.mso.asdc.installer.VfModuleStructure;\r
import org.openecomp.mso.asdc.installer.VfResourceStructure;\r
+import org.openecomp.mso.asdc.tenantIsolation.DistributionStatus;\r
+import org.openecomp.mso.asdc.tenantIsolation.WatchdogDistribution;\r
+import org.openecomp.mso.asdc.util.ASDCNotificationLogging;\r
import org.openecomp.mso.asdc.util.YamlEditor;\r
import org.openecomp.mso.db.catalog.CatalogDatabase;\r
import org.openecomp.mso.db.catalog.beans.AllottedResource;\r
import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;\r
import org.openecomp.mso.logger.MessageEnum;\r
import org.openecomp.mso.logger.MsoLogger;\r
+import org.openecomp.mso.requestsdb.WatchdogComponentDistributionStatusDb;\r
+import org.openecomp.mso.requestsdb.WatchdogDistributionStatusDb;\r
+import org.openecomp.mso.requestsdb.WatchdogServiceModVerIdLookupDb;\r
\r
public class ToscaResourceInstaller {// implements IVfResourceInstaller {\r
\r
throws ArtifactInstallerException {\r
boolean status = false;\r
VfResourceStructure vfResourceStructure = (VfResourceStructure)vfResourceStruct;\r
+ try {\r
+ status = vfResourceStructure.isDeployedSuccessfully();\r
+ } catch (RuntimeException e) {\r
+ status = false;\r
+ }\r
\r
try {\r
\r
throw new ArtifactInstallerException("Exception caught during checking existence of the VNF Resource.", e);\r
}\r
}\r
+ \r
+ public void installTheComponentStatus(IStatusData iStatus) throws ArtifactInstallerException {\r
+ \r
+ logger.debug("Entering installTheComponentStatus for distributionId " + iStatus.getDistributionID() + " and ComponentName " + iStatus.getComponentName());\r
+ \r
+ WatchdogComponentDistributionStatusDb wdComponentDistributionStatus = WatchdogComponentDistributionStatusDb.getInstance();\r
+ \r
+ WatchdogDistributionStatusDb wdDistributionStatus = WatchdogDistributionStatusDb.getInstance();\r
+ \r
+ \r
+ try{\r
+ //Check to make sure the distributionId exists in the Distribution Status table first. If not then we'll need to add it\r
+ String distributionId = wdDistributionStatus.getWatchdogDistributionId(iStatus.getDistributionID());\r
+ \r
+ if(distributionId == null){\r
+ // Insert the record into the parent table first - WatchDogDistributionStatus\r
+ wdDistributionStatus.insertWatchdogDistributionId(iStatus.getDistributionID()); \r
+ }\r
+ \r
+ wdComponentDistributionStatus.insertWatchdogComponentDistributionStatus(iStatus.getDistributionID(), iStatus.getComponentName(), iStatus.getStatus().toString());\r
+ \r
+ \r
+ WatchdogDistribution wd = new WatchdogDistribution();\r
+\r
+ String distributionStatus = wd.getOverallDistributionStatus(iStatus.getDistributionID());\r
+ \r
+ logger.debug("Distribution status in installTheComponentStatus is : " + distributionStatus); \r
+ \r
+ }catch (Exception e){\r
+ logger.debug("Exception caught in installTheComponentStatus " + e.getMessage());\r
+ throw new ArtifactInstallerException("Exception caught in installTheComponentStatus " + e.getMessage());\r
+ }\r
+\r
+ } \r
+ \r
\r
- //@Override\r
public void installTheResource(ToscaResourceStructure toscaResourceStruct, VfResourceStructure vfResourceStruct) throws ArtifactInstallerException {\r
\r
logger.debug("installTheResource is called");\r
List<ASDCElementInfo> artifactListForLogging = new ArrayList<>();\r
\r
CatalogDatabase catalogDB = CatalogDatabase.getInstance();\r
+ \r
+ WatchdogServiceModVerIdLookupDb wdLookupDB = WatchdogServiceModVerIdLookupDb.getInstance();\r
+ \r
+ WatchdogDistributionStatusDb wdDistributionStatus = WatchdogDistributionStatusDb.getInstance();\r
+ \r
+ WatchdogComponentDistributionStatusDb wdComponentDistributionStatus = WatchdogComponentDistributionStatusDb.getInstance();\r
// 2. Create the VFModules/VNFResource objects by linking them to the\r
// objects created before and store them in Resource/module structure\r
// Opening a DB transaction, starting from here\r
\r
catalogDB.saveToscaCsar(toscaResourceStruct.getCatalogToscaCsar());\r
\r
- ToscaResourceInstaller.createService(toscaResourceStruct);\r
+ ToscaResourceInstaller.createService(toscaResourceStruct, vfResourceStruct);\r
\r
catalogDB.saveService(toscaResourceStruct.getCatalogService());\r
+ \r
+ wdLookupDB.insertWatchdogServiceModVerIdLookup(vfResourceStructure.getNotification().getDistributionID(), vfResourceStructure.getNotification().getServiceUUID());\r
+ \r
+ wdDistributionStatus.insertWatchdogDistributionId(vfResourceStructure.getNotification().getDistributionID());\r
\r
\r
/* VNF POPULATION\r
logger.debug("nodeTemplate outerLoop=" + outerLoop++);\r
// extract VF metadata\r
\r
- Metadata metadata = nodeTemplate.getMetaData();\r
+ Metadata metadata = nodeTemplate.getMetaData();\r
+ \r
+ \r
+ \r
+ //************************Flexware code*******************************************\r
+ \r
+ String serviceType = toscaResourceStruct.getCatalogService().getServiceType();\r
+ \r
+ \r
+ if(serviceType != null && serviceType.equalsIgnoreCase("Flexware")){\r
+ \r
+ createVnfResource(nodeTemplate, toscaResourceStruct);\r
+ \r
+ // check for duplicate record already in the database\r
+ VnfResource vnfResource = catalogDB.getVnfResource(toscaResourceStruct.getCatalogVnfResource().getModelName(),\r
+ BigDecimalVersion.castAndCheckNotificationVersionToString(\r
+ toscaResourceStruct.getCatalogVnfResource().getVersion()));\r
\r
- String vfCustomizationUUID = toscaResourceStruct.getSdcCsarHelper().getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID);\r
- logger.debug("vfCustomizationUUID=" + vfCustomizationUUID);\r
+ if (vnfResource != null) {\r
+ toscaResourceStruct.setVnfAlreadyInstalled(true);\r
+ }\r
+ \r
+ \r
+ if(!toscaResourceStruct.isVnfAlreadyInstalled()) {\r
+ \r
+ catalogDB.saveOrUpdateVnfResource(toscaResourceStruct.getCatalogVnfResource());\r
+ \r
+ }\r
+ \r
+ \r
+ boolean saveVnfCustomization = catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());\r
+ \r
+ if(saveVnfCustomization){\r
+ catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());\r
+ }\r
+ \r
+\r
+ }\r
+ \r
+ \r
+ // *************************** END of FLEXWARE CODE ****************************************************\r
+ \r
+ String vfCustomizationCategory = toscaResourceStruct.getSdcCsarHelper().getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CATEGORY);\r
+ \r
+ if(!vfCustomizationCategory.equalsIgnoreCase("Allotted Resource")) // Do not treat Allotted Resources as VNF resources\r
+ {\r
+\r
+ String vfCustomizationUUID = toscaResourceStruct.getSdcCsarHelper().getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID);\r
+ logger.debug("vfCustomizationUUID=" + vfCustomizationUUID);\r
\r
\r
/* HEAT TABLE POPULATION\r
\r
int nextLoop = 0;\r
for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) {\r
- logger.debug("vfResourceStructure.getVfMOduleStructure() loop, nextLoop = " + nextLoop++);\r
+ logger.debug("vfResourceStructure.getVfModuleStructure() loop, nextLoop = " + nextLoop++);\r
logger.debug("vfModuleStructure:" + vfModuleStructure.toString());\r
\r
// Here we set the right db structure according to the Catalog\r
}\r
\r
\r
- boolean saveVnfCustomization = catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());\r
- \r
- if(saveVnfCustomization){\r
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());\r
- }\r
- \r
- List<org.openecomp.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct.getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID);\r
+ catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization()); \r
+\r
+ catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());\r
+\r
+\r
+ List<org.onap.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct.getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID);\r
logger.debug("vfGroups:" + vfGroups.toString());\r
\r
- Collections.sort(vfGroups, new Comparator<org.openecomp.sdc.toscaparser.api.Group>() {\r
- @Override\r
- public int compare(org.openecomp.sdc.toscaparser.api.Group group1, org.openecomp.sdc.toscaparser.api.Group group2) {\r
- \r
+ vfGroups.sort((group1, group2) -> {\r
//Field name1Field = group1.class.getDeclaredField("name");\r
//name1Field.setAccessible(true);\r
String thisName = group1.getName(); //(String) name1Field.get(group1);\r
}\r
\r
return new Integer(thisDigit).compareTo(new Integer(thatDigit));\r
-\r
- }\r
});\r
\r
logger.debug("vfGroupsAfter:" + vfGroups.toString());\r
\r
} //Commented out to process VFModules each time \r
\r
-\r
- \r
// Here we expect many HEAT_TEMPLATE files to be there\r
if (vfModuleStructure.getArtifactsMap().containsKey(ASDCConfiguration.HEAT_ARTIFACT)) {\r
for (VfModuleArtifact heatArtifact : vfModuleStructure.getArtifactsMap()\r
}\r
}\r
\r
+ }\r
}\r
-\r
}\r
\r
/* END OF HEAT TABLE POPULATION\r
\r
List<NodeTemplate> allottedResourceList = toscaResourceStruct.getSdcCsarHelper().getAllottedResources();\r
\r
- if(allottedResourceList != null){\r
- \r
- for(NodeTemplate allottedNode : allottedResourceList){\r
- \r
- createAllottedResource(allottedNode, toscaResourceStruct);\r
- \r
- catalogDB.saveAllottedResource(toscaResourceStruct.getAllottedResource());\r
- \r
- catalogDB.saveAllottedResourceCustomization(toscaResourceStruct.getCatalogAllottedResourceCustomization());\r
- \r
- catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogAllottedServiceToResourceCustomization());\r
- \r
- }\r
- }\r
- \r
+ if(allottedResourceList != null){\r
+\r
+ for(NodeTemplate allottedNode : allottedResourceList){\r
+\r
+ createAllottedResource(allottedNode, toscaResourceStruct);\r
\r
- List<NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper().getServiceVlList();\r
+ catalogDB.saveAllottedResource(toscaResourceStruct.getAllottedResource());\r
+\r
+ catalogDB.saveAllottedResourceCustomization(toscaResourceStruct.getCatalogAllottedResourceCustomization());\r
+\r
+ catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogAllottedServiceToResourceCustomization());\r
+\r
+ }\r
+ }\r
+\r
+ // handle VF resource\r
+ List<NodeTemplate> serviceVfList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList();\r
+ if (serviceVfList != null) {\r
+ for (NodeTemplate vfNode : serviceVfList) {\r
+ createVnfResource(vfNode, toscaResourceStruct);\r
+ catalogDB.saveVnfResource(toscaResourceStruct.getCatalogVnfResource());\r
+ catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());\r
+ catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());\r
+ }\r
+ }\r
+\r
+\r
+ List<NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper().getServiceVlList();\r
\r
if(nodeTemplatesVLList != null){\r
\r
for(NodeTemplate vlNode : nodeTemplatesVLList){\r
\r
- String networkResourceModelName = vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME).trim();\r
+ String networkResourceModelName = vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME);\r
\r
List<TempNetworkHeatTemplateLookup> networkHeatTemplateLookup = catalogDB.getTempNetworkHeatTemplateLookup(networkResourceModelName);\r
\r
createNetworkResource(vlNode, toscaResourceStruct, networkHeatTemplateLookup.get(0));\r
\r
} else {\r
- throw new ArtifactInstallerException("No NetworkResourceName found in TempNetworkHeatTemplateLookup for " + networkResourceModelName);\r
+ logger.info(MessageEnum.ASDC_GENERAL_INFO,\r
+ "No NetworkResourceName found in TempNetworkHeatTemplateLookup for" + networkResourceModelName, "ASDC",\r
+ "createVfModuleStructures");\r
+ createNetworkResource(vlNode, toscaResourceStruct, null);\r
}\r
\r
\r
//createServiceToResourceCustomization(toscaResourceStruct.getCatalogService(), toscaResourceStruct.getCatalogVnfResourceCustomization(), toscaResourceStruct);\r
\r
// catalogDB.saveToscaCsar(toscaResourceStruct.getCatalogToscaCsar());\r
- \r
+ wdComponentDistributionStatus.insertWatchdogComponentDistributionStatus(vfResourceStruct.getNotification().getDistributionID(), "SO", DistributionStatusEnum.COMPONENT_DONE_OK.name()); \r
\r
catalogDB.commit(); \r
- vfResourceStructure.setSuccessfulDeployment();\r
+ toscaResourceStruct.setSuccessfulDeployment();\r
\r
}catch(Exception e){\r
logger.debug("Exception :",e);\r
\r
+ wdDistributionStatus.insertWatchdogDistributionId(vfResourceStructure.getNotification().getDistributionID());\r
+ \r
+ wdComponentDistributionStatus.insertWatchdogComponentDistributionStatus(vfResourceStruct.getNotification().getDistributionID(), "SO", DistributionStatusEnum.COMPONENT_DONE_ERROR.name());\r
+ \r
+ wdDistributionStatus.updateWatchdogDistributionIdStatus(vfResourceStruct.getNotification().getDistributionID(), DistributionStatusEnum.DISTRIBUTION_COMPLETE_ERROR.name()); \r
+ \r
Throwable dbExceptionToCapture = e;\r
while (!(dbExceptionToCapture instanceof ConstraintViolationException || dbExceptionToCapture instanceof LockAcquisitionException)\r
&& (dbExceptionToCapture.getCause() != null)) {\r
logger.warn(MessageEnum.ASDC_ARTIFACT_ALREADY_DEPLOYED, vfResourceStructure.getResourceInstance().getResourceName(),\r
vfResourceStructure.getNotification().getServiceVersion(), "", "", MsoLogger.ErrorCode.DataError, "Exception - ASCDC Artifact already deployed", e);\r
} else {\r
- String elementToLog = (artifactListForLogging.size() > 0 ? artifactListForLogging.get(artifactListForLogging.size()-1).toString() : "No element listed");\r
+ String elementToLog = (artifactListForLogging.size() > 0 ? artifactListForLogging.get(artifactListForLogging.size()-1).toString() : "No element listed");\r
logger.error(MessageEnum.ASDC_ARTIFACT_INSTALL_EXC, elementToLog, "", "", MsoLogger.ErrorCode.DataError, "Exception caught during installation of " + vfResourceStructure.getResourceInstance().getResourceName() + ". Transaction rollback", e);\r
catalogDB.rollback();\r
throw new ArtifactInstallerException(\r
return body; \r
} \r
\r
- StringBuffer sb = new StringBuffer(body.length()); \r
+ StringBuilder sb = new StringBuilder(body.length());\r
\r
int currentIndex = 0; \r
int startIndex = 0; \r
\r
}\r
\r
- private static void createService(ToscaResourceStructure toscaResourceStructure) {\r
+ private static void createService(ToscaResourceStructure toscaResourceStructure, VfResourceStructure vfResourceStructure) {\r
\r
toscaResourceStructure.getServiceMetadata();\r
\r
Service service = new Service();\r
\r
// Service \r
- if(serviceMetadata != null){ \r
+ if(serviceMetadata != null) { \r
\r
if(toscaResourceStructure.getServiceVersion() != null){\r
service.setVersion(toscaResourceStructure.getServiceVersion());\r
}\r
- \r
- service.setServiceType(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(serviceMetadata, "serviceType"));\r
- service.setServiceRole(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(serviceMetadata, "serviceRole"));\r
+ \r
+ service.setServiceType(serviceMetadata.getValue("serviceType"));\r
+ service.setServiceRole(serviceMetadata.getValue("serviceRole"));\r
\r
service.setDescription(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));\r
service.setModelName(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));\r
service.setModelUUID(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));\r
+ service.setEnvironmentContext(serviceMetadata.getValue("environmentContext"));\r
+ \r
+ \r
+ if(vfResourceStructure != null){\r
+ service.setWorkloadContext(vfResourceStructure.getNotification().getWorkloadContext());\r
+ }\r
//service.setVersion(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));\r
service.setModelInvariantUUID(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));\r
+ service.setCategory(serviceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));\r
service.setToscaCsarArtifactUUID(toscaResourceStructure.getToscaArtifact().getArtifactUUID());\r
//service.setCreated(getCurrentTimeStamp());\r
}\r
networkResource.setNeutronNetworkType("BASIC");\r
}\r
\r
- networkResource.setModelName(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME).trim()));\r
+ networkResource.setModelName(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));\r
\r
networkResource.setModelInvariantUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));\r
networkResource.setModelUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));\r
networkResource.setModelVersion(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));\r
\r
networkResource.setAicVersionMax(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));\r
- networkResource.setAicVersionMin(networkHeatTemplateLookup.getAicVersionMin());\r
+ String aicVersionMin = networkHeatTemplateLookup != null ? networkHeatTemplateLookup.getAicVersionMin() : "2.5";\r
+ networkResource.setAicVersionMin(aicVersionMin);\r
networkResource.setToscaNodeType(networkNodeTemplate.getType());\r
networkResource.setDescription(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));\r
networkResource.setOrchestrationMode("HEAT");\r
- networkResource.setHeatTemplateArtifactUUID(networkHeatTemplateLookup.getHeatTemplateArtifactUuid());\r
+ networkResource.setCategory(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));\r
+ networkResource.setSubCategory(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));\r
+ //for tosca NS ,there is no heat for network VL\r
+ String heatTemplateArtifactUUID = networkHeatTemplateLookup != null ? networkHeatTemplateLookup.getHeatTemplateArtifactUuid() : "null";\r
+ networkResource.setHeatTemplateArtifactUUID(heatTemplateArtifactUUID);\r
\r
toscaResourceStructure.setCatalogNetworkResource(networkResource); \r
\r
- networkResourceCustomization.setModelInstanceName(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME).trim()));\r
- networkResourceCustomization.setModelCustomizationUuid(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).trim()));\r
- networkResourceCustomization.setNetworkResourceModelUuid(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID).trim()));\r
+ networkResourceCustomization.setModelInstanceName(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));\r
+ networkResourceCustomization.setModelCustomizationUuid(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));\r
+ networkResourceCustomization.setNetworkResourceModelUuid(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));\r
\r
\r
- networkResourceCustomization.setNetworkTechnology(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY)).trim());\r
- networkResourceCustomization.setNetworkType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE)).trim());\r
- networkResourceCustomization.setNetworkRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE)).trim());\r
- networkResourceCustomization.setNetworkScope(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE)).trim());\r
+ networkResourceCustomization.setNetworkTechnology(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY)));\r
+ networkResourceCustomization.setNetworkType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE)));\r
+ networkResourceCustomization.setNetworkRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE)));\r
+ networkResourceCustomization.setNetworkScope(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE)));\r
\r
toscaResourceStructure.setCatalogNetworkResourceCustomization(networkResourceCustomization);\r
\r
ServiceToResourceCustomization serviceToResourceCustomization = new ServiceToResourceCustomization();\r
serviceToResourceCustomization.setServiceModelUUID(toscaResourceStructure.getCatalogService().getModelUUID());\r
- serviceToResourceCustomization.setResourceModelCustomizationUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).trim()));\r
+ serviceToResourceCustomization.setResourceModelCustomizationUUID(testNull(networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));\r
serviceToResourceCustomization.setModelType("network");\r
\r
toscaResourceStructure.setCatalogVlServiceToResourceCustomization(serviceToResourceCustomization);\r
String vfModuleModelUUID = vfModuleData.getVfModuleModelUUID();\r
\r
\r
- if(vfModuleModelUUID != null && vfModuleModelUUID.indexOf(".") > -1){\r
+ if(vfModuleModelUUID != null && vfModuleModelUUID.contains(".")){\r
vfModuleModelUUID = vfModuleModelUUID.substring(0, vfModuleModelUUID.indexOf("."));\r
}\r
\r
\r
//toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT)\r
\r
- vnfResource.setModelInvariantUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID).trim()));\r
- vnfResource.setModelName(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME).trim()));\r
- vnfResource.setModelUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID).trim()));\r
+ vnfResource.setModelInvariantUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));\r
+ vnfResource.setModelName(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));\r
+ vnfResource.setModelUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));\r
\r
- vnfResource.setVersion(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION).trim()));\r
- vnfResource.setDescription(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION).trim()));\r
+ vnfResource.setVersion(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));\r
+ vnfResource.setDescription(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));\r
vnfResource.setOrchestrationMode("HEAT");\r
vnfResource.setToscaNodeType(testNull(vfNodeTemplate.getType()));\r
- vnfResource.setAicVersionMax(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES).trim()));\r
- vnfResource.setAicVersionMin(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES).trim()));\r
+ vnfResource.setAicVersionMax(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));\r
+ vnfResource.setAicVersionMin(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));\r
+ vnfResource.setCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));\r
+ vnfResource.setSubCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));\r
//vnfResource.setHeatTemplateArtifactUUId(toscaResourceStructure.getHeatTemplateUUID());\r
\r
// vfNodeTemplate.getProperties()\r
toscaResourceStructure.setCatalogVnfResource(vnfResource); \r
\r
VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();\r
- vnfResourceCustomization.setModelCustomizationUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).trim()));\r
+ vnfResourceCustomization.setModelCustomizationUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));\r
vnfResourceCustomization.setModelInstanceName(vfNodeTemplate.getName());\r
\r
- vnfResourceCustomization.setNfFunction(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION)).trim());\r
- vnfResourceCustomization.setNfNamingCode(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFCODE)).trim());\r
- vnfResourceCustomization.setNfRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE)).trim());\r
- vnfResourceCustomization.setNfType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE)).trim());\r
+ vnfResourceCustomization.setNfFunction(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION)));\r
+ vnfResourceCustomization.setNfNamingCode(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFCODE)));\r
+ vnfResourceCustomization.setNfRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE)));\r
+ vnfResourceCustomization.setNfType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE)));\r
+ \r
+ \r
+ vnfResourceCustomization.setMultiStageDesign(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "multi_stage_design"));\r
+ \r
\r
+ vnfResourceCustomization.setVnfResourceModelUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));\r
+ vnfResourceCustomization.setAvailabilityZoneMaxCount(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT)));\r
\r
- vnfResourceCustomization.setVnfResourceModelUuid(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID).trim()));\r
- vnfResourceCustomization.setAvailabilityZoneMaxCount(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT).trim()));\r
+ //vnfResourceCustomization.setMultiStageDesign(vfNodeTemplate.getMetaData().getValue("multi_stage_design"));\r
+ //vnfResourceCustomization.setMultiStageDesign(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_AVAILABILITYZONECOUNT).trim());\r
+ \r
\r
- vnfResourceCustomization.setMaxInstances(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES).trim()));\r
- vnfResourceCustomization.setMinInstances(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES).trim()));\r
+ vnfResourceCustomization.setMaxInstances(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));\r
+ vnfResourceCustomization.setMinInstances(Integer.getInteger(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));\r
\r
\r
\r
\r
ServiceToResourceCustomization serviceToResourceCustomization = new ServiceToResourceCustomization();\r
serviceToResourceCustomization.setServiceModelUUID(toscaResourceStructure.getCatalogService().getModelUUID());\r
- serviceToResourceCustomization.setResourceModelCustomizationUUID(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).trim());\r
+ serviceToResourceCustomization.setResourceModelCustomizationUUID(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));\r
serviceToResourceCustomization.setModelType("vnf");\r
\r
toscaResourceStructure.setCatalogVfServiceToResourceCustomization(serviceToResourceCustomization);\r
private static void createAllottedResource(NodeTemplate nodeTemplate, ToscaResourceStructure toscaResourceStructure) {\r
AllottedResource allottedResource = new AllottedResource();\r
\r
- allottedResource.setModelUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID).trim()));\r
- allottedResource.setModelInvariantUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID).trim()));\r
- allottedResource.setModelName(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME).trim()));\r
- allottedResource.setModelVersion(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION).trim()));\r
+ allottedResource.setModelUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));\r
+ allottedResource.setModelInvariantUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));\r
+ allottedResource.setModelName(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));\r
+ allottedResource.setModelVersion(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));\r
allottedResource.setToscaNodeType(testNull(nodeTemplate.getType()));\r
+ allottedResource.setSubcategory(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY)));\r
+ allottedResource.setDescription(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));\r
\r
toscaResourceStructure.setAllottedResource(allottedResource);\r
\r
AllottedResourceCustomization allottedResourceCustomization = new AllottedResourceCustomization();\r
- allottedResourceCustomization.setModelCustomizationUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).trim()));\r
+ allottedResourceCustomization.setModelCustomizationUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));\r
allottedResourceCustomization.setModelInstanceName(nodeTemplate.getName());\r
- allottedResourceCustomization.setArModelUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID).trim()));\r
+ allottedResourceCustomization.setArModelUuid(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));\r
+ \r
\r
- allottedResourceCustomization.setNfFunction(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION)).trim());\r
- allottedResourceCustomization.setNfNamingCode(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFCODE)).trim());\r
- allottedResourceCustomization.setNfRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE)).trim());\r
- allottedResourceCustomization.setNfType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE)).trim());\r
+ allottedResourceCustomization.setProvidingServiceModelInvariantUuid(toscaResourceStructure.getCatalogService().getModelInvariantUUID());\r
+ allottedResourceCustomization.setProvidingServiceModelUuid(toscaResourceStructure.getCatalogService().getModelUUID());\r
+ allottedResourceCustomization.setProvidingServiceModelName(toscaResourceStructure.getCatalogService().getModelName());\r
+ allottedResourceCustomization.setNfFunction(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION)));\r
+ allottedResourceCustomization.setNfNamingCode(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFCODE)));\r
+ allottedResourceCustomization.setNfRole(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE)));\r
+ allottedResourceCustomization.setNfType(testNull(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(nodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE)));\r
+ allottedResourceCustomization.setMinInstances(Integer.getInteger(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));\r
+ allottedResourceCustomization.setMaxInstances(Integer.getInteger(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));\r
+ allottedResourceCustomization.setTargetNetworkRole(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));\r
\r
toscaResourceStructure.setCatalogAllottedResourceCustomization(allottedResourceCustomization);\r
\r
ServiceToResourceCustomization serviceToResourceCustomization = new ServiceToResourceCustomization();\r
serviceToResourceCustomization.setServiceModelUUID(toscaResourceStructure.getCatalogService().getModelUUID());\r
- serviceToResourceCustomization.setResourceModelCustomizationUUID(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID).trim()));\r
+ serviceToResourceCustomization.setResourceModelCustomizationUUID(testNull(nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));\r
serviceToResourceCustomization.setModelType("allottedResource");\r
\r
toscaResourceStructure.setCatalogAllottedServiceToResourceCustomization(serviceToResourceCustomization);\r
}\r
\r
private static String testNull(Object object) {\r
- if (object == null) {\r
- return "";\r
- } else if ("null".equals(object)) {\r
+ \r
+ \r
+ if(object == null){\r
+ return null;\r
+ }else if (object != null && object.equals("NULL")) {\r
return null;\r
- }else if (object instanceof Integer) {\r
+ }else if (object != null && object instanceof Integer) {\r
return object.toString();\r
- } else if (object instanceof String) {\r
+ } else if (object != null && object instanceof String) {\r
return (String)object;\r
} else {\r
return "Type not recognized";\r
\r
return new Timestamp(new Date().getTime());\r
}\r
-\r
-}
\ No newline at end of file
+}\r