diff options
author | Ofir Sonsino <os0695@att.com> | 2017-09-20 13:20:42 +0300 |
---|---|---|
committer | Ofir Sonsino <os0695@att.com> | 2017-09-20 13:37:03 +0300 |
commit | 9dfd7e28c1eb348fcb4a2de8c6faae2a01b34942 (patch) | |
tree | c273862f59b0b64c19ccfea5f59ab574071cb323 /vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java | |
parent | c3722d135481cfab5978c84853d8229d1e7d9cb3 (diff) |
Global Read only role, Support VID specific Roles
Issue-ID: VID-46 , VID-47
Change-Id: Ib100d20ac40a65d39e27a6e2741b19a173a2b8ea
Signed-off-by: Ofir Sonsino <os0695@att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java')
-rw-r--r-- | vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java | 60 |
1 files changed, 43 insertions, 17 deletions
diff --git a/vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java b/vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java index 4819cae8..3f0dd8c3 100644 --- a/vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java +++ b/vid-app-common/src/main/java/org/openecomp/vid/asdc/parser/ToscaParserImpl2.java @@ -7,7 +7,6 @@ import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory; import org.openecomp.sdc.toscaparser.api.Group; import org.openecomp.sdc.toscaparser.api.NodeTemplate; import org.openecomp.sdc.toscaparser.api.Property; -import org.openecomp.sdc.toscaparser.api.elements.constraints.Constraint; import org.openecomp.sdc.toscaparser.api.parameters.Input; import org.openecomp.vid.asdc.beans.Service; import org.openecomp.vid.model.*; @@ -23,8 +22,11 @@ public class ToscaParserImpl2 { public class Constants { public final static String uuid = "UUID"; public final static String description = "description"; - public final static String ecompGeneratedNaming = "ecompGeneratedNaming"; - public final static String customizationUUID = "customizationUUID"; + public final static String serviceType = "serviceType"; + public final static String serviceRole = "serviceRole"; + public final static String ecompGeneratedNaming = "ecompGeneratedNaming"; + + public final static String customizationUUID = "customizationUUID"; public final static String vfModuleModelVersion = "vfModuleModelVersion"; public final static String vfModuleModelCustomizationUUID = "vfModuleModelCustomizationUUID"; public final static String volume_group = "volume_group"; @@ -49,7 +51,7 @@ public class ToscaParserImpl2 { serviceModel.setService(extractServiceFromCsar(asdcServiceMetadata, sdcCsarHelper)); serviceModel.setVolumeGroups(extractVolumeGroups(sdcCsarHelper)); serviceModel.setVfModules(extractVfModuleFromCsar(sdcCsarHelper)); - serviceModel.setVnfs(extractVnfsFromCsar(sdcCsarHelper)); + serviceModel.setVnfs(extractVnfsFromCsar(serviceModel,sdcCsarHelper)); serviceModel.setNetworks(extractNetworksFromCsar(sdcCsarHelper)); return serviceModel; } @@ -65,22 +67,52 @@ public class ToscaParserImpl2 { service.setDescription(csarHelper.getServiceMetadata().getValue(Constants.description)); service.setInputs(inputsListToInputsMap(csarHelper.getServiceInputs())); service.setServiceEcompNaming(csarHelper.getServiceMetadata().getValue(Constants.ecompGeneratedNaming)); + service.setServiceType(csarHelper.getServiceMetadata().getValue(Constants.serviceType)); + service.setServiceRole(csarHelper.getServiceMetadata().getValue(Constants.serviceRole)); + return service; } - private Map<String, VNF> extractVnfsFromCsar(ISdcCsarHelper csarHelper) { + private Map<String, VNF> extractVnfsFromCsar(ServiceModel serviceModel,ISdcCsarHelper csarHelper) { List<NodeTemplate> nodeTemplates = csarHelper.getServiceVfList(); Map<String, VNF> vnfsMaps = new HashMap<String, VNF>(); for (NodeTemplate nodeTemplate : nodeTemplates) { VNF vnf = new VNF(); populateNodeFromNodeTemplate(nodeTemplate, csarHelper, vnf); + vnf.setModelCustomizationName(nodeTemplate.getName()); + Map<String, VfModule> vfModuleHashMap = getVfModulesFromVF(csarHelper, vnf.getCustomizationUuid()); + vnf.setVfModules(vfModuleHashMap); + + Map<String, VolumeGroup> volumeGroupMap = getVolumeGroupsFromVF(csarHelper, vnf.getCustomizationUuid()); + vnf.setVolumeGroups(volumeGroupMap); + vnfsMaps.put(nodeTemplate.getName(), vnf); } return vnfsMaps; } + private Map<String, VfModule> getVfModulesFromVF(ISdcCsarHelper csarHelper, String vfUuid) { + Map<String,VfModule> vfModuleHashMap = new HashMap<String,VfModule>(); + for (Group group : csarHelper.getVfModulesByVf(vfUuid)) { + vfModuleHashMap.put(group.getName(), populateVfModuleFromGroup(group)); + } + return vfModuleHashMap; + } + + private Map<String, VolumeGroup> getVolumeGroupsFromVF(ISdcCsarHelper csarHelper, String vfCustomizationUuid) { + Map<String,VolumeGroup> volumeGroupMap = new HashMap<String,VolumeGroup>(); + List<Group> groups = csarHelper.getVfModulesByVf(vfCustomizationUuid); + for (Group group : groups) { + boolean isVolumeGroup = Boolean.valueOf(group.getPropertyValue(Constants.volume_group).toString()); + if (isVolumeGroup) { + volumeGroupMap.put(group.getName(), populateVolumeGroupFromGroup(group)); + } + } + return volumeGroupMap; + } + private Map<String, Network> extractNetworksFromCsar(ISdcCsarHelper csarHelper) { List<NodeTemplate> nodeTemplates = csarHelper.getServiceVlList(); Map<String, Network> networksMap = new HashMap<String, Network>(); @@ -99,25 +131,19 @@ public class ToscaParserImpl2 { HashMap<String, VfModule> vfModuleHashMap = new HashMap<>(); for (NodeTemplate nodeTemplate : serviceVfList) { - List<Group> groups = csarHelper.getVfModulesByVf(nodeTemplate.getMetaData().getValue(Constants.customizationUUID)); - for (Group group : groups) { - vfModuleHashMap.put(group.getName(), populateVfModuleFromGroup(group)); - } + Map<String, VfModule> nodeTemplateVfModule = + getVfModulesFromVF(csarHelper, nodeTemplate.getMetaData().getValue(Constants.customizationUUID)); + vfModuleHashMap.putAll(nodeTemplateVfModule); } return vfModuleHashMap; } - private Map<String, VolumeGroup> extractVolumeGroups(ISdcCsarHelper csarHelper) { HashMap<String, VolumeGroup> volumeGroupHashMap = new HashMap<>(); for (NodeTemplate nodeTemplate : csarHelper.getServiceVfList()) { - List<Group> groups = csarHelper.getVfModulesByVf(csarHelper.getNodeTemplateCustomizationUuid(nodeTemplate)); - for (Group group : groups) { - boolean isVolumeGroup = Boolean.valueOf(group.getPropertyValue(Constants.volume_group).toString()); - if (isVolumeGroup) { - volumeGroupHashMap.put(group.getName(), populateVolumeGroupFromGroup(group)); - } - } + Map<String, VolumeGroup> nodeTemplateVolumeGroups = + getVolumeGroupsFromVF(csarHelper, csarHelper.getNodeTemplateCustomizationUuid(nodeTemplate)); + volumeGroupHashMap.putAll(nodeTemplateVolumeGroups); } return volumeGroupHashMap; } |