diff options
Diffstat (limited to 'src')
7 files changed, 41 insertions, 18 deletions
diff --git a/src/main/java/org/onap/aai/babel/parser/ArtifactGeneratorToscaParser.java b/src/main/java/org/onap/aai/babel/parser/ArtifactGeneratorToscaParser.java index 3f2e670..684324a 100644 --- a/src/main/java/org/onap/aai/babel/parser/ArtifactGeneratorToscaParser.java +++ b/src/main/java/org/onap/aai/babel/parser/ArtifactGeneratorToscaParser.java @@ -95,7 +95,7 @@ public class ArtifactGeneratorToscaParser { /** * Initializes the Widget to UUID mapping configuration. - * + * * @throws IOException * if an error occurs reading the configuration properties */ @@ -119,7 +119,7 @@ public class ArtifactGeneratorToscaParser { /** * Initializes the group filtering and TOSCA to Widget mapping configuration. - * + * * @param configLocation * the pathname to the JSON mappings file * @throws IOException @@ -198,7 +198,7 @@ public class ArtifactGeneratorToscaParser { /** * Add the resource/widget to the specified model. - * + * * @param model * @param relation * resource or widget model to add @@ -238,7 +238,7 @@ public class ArtifactGeneratorToscaParser { // Process each VF Group for (Group serviceGroup : serviceGroups) { Model groupModel = Model.getModelFor(serviceGroup.getType()); - if (groupModel.getWidgetType() == WidgetType.valueOf("VFMODULE")) { + if (groupModel.hasWidgetType("VFMODULE")) { processVfModule(resources, resourceModel, serviceGroup, serviceNode, (Resource) groupModel); } } @@ -258,7 +258,7 @@ public class ArtifactGeneratorToscaParser { Resource model = Model.getModelFor(nodeTypeName, metaDataType); if (metadata != null && hasAllottedResource(metadata.getAllProperties()) - && model.getWidgetType() == WidgetType.valueOf("VSERVER")) { + && model.hasWidgetType("VSERVER")) { model = new Resource(WidgetType.valueOf("ALLOTTED_RESOURCE"), false); Map<String, Object> props = new HashMap<>(); props.put("providingService", true); @@ -268,7 +268,7 @@ public class ArtifactGeneratorToscaParser { foundProvidingService |= processModel(resourceModel, metadata, model, resourceNodeTemplate.getProperties()); } - if (resourceModel.getWidgetType() == WidgetType.valueOf("ALLOTTED_RESOURCE") && !foundProvidingService) { + if (resourceModel.hasWidgetType("ALLOTTED_RESOURCE") && !foundProvidingService) { final String modelInvariantId = resourceModel.getModelId(); throw new IllegalArgumentException(String.format(GENERATOR_AAI_PROVIDING_SERVICE_MISSING, modelInvariantId == null ? "<null ID>" : modelInvariantId)); @@ -369,7 +369,7 @@ public class ArtifactGeneratorToscaParser { /** * Process the Widget members of a VF Module Group - * + * * @param group * @param member * @throws XmlArtifactGenerationException @@ -379,7 +379,7 @@ public class ArtifactGeneratorToscaParser { log.debug(member.getType() + " mapped to " + resource); - if (resource.getWidgetType() == WidgetType.valueOf("L3_NET")) { + if (resource.hasWidgetType("L3_NET")) { // An l3-network inside a vf-module is treated as a Widget resource.setModelType(ModelType.WIDGET); } @@ -426,11 +426,11 @@ public class ArtifactGeneratorToscaParser { if (foundProvidingService) { processProvidingService(resourceModel, resourceNode, nodeProperties); } else if (resourceNode != null && resourceNode.getModelType() == ModelType.RESOURCE - && resourceNode.getWidgetType() != WidgetType.valueOf("L3_NET")) { + && !resourceNode.hasWidgetType("L3_NET")) { if (metaData != null) { resourceNode.populateModelIdentificationInformation(metaData.getAllProperties()); } - resourceModel.addResource((Resource) resourceNode); + resourceModel.addResource(resourceNode); } return foundProvidingService; } diff --git a/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java b/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java index 741c194..d35814a 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java @@ -44,8 +44,8 @@ import org.onap.aai.babel.xml.generator.data.WidgetConfigurationUtil; import org.onap.aai.babel.xml.generator.model.Model; import org.onap.aai.babel.xml.generator.model.Resource; import org.onap.aai.babel.xml.generator.model.Service; -import org.onap.aai.babel.xml.generator.model.WidgetType; import org.onap.aai.babel.xml.generator.model.Widget; +import org.onap.aai.babel.xml.generator.model.WidgetType; import org.onap.aai.babel.xml.generator.types.ModelType; import org.onap.aai.cl.api.Logger; import org.onap.sdc.tosca.parser.api.ISdcCsarHelper; @@ -242,7 +242,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator { if (model != null) { Metadata metadata = nodeTemplate.getMetaData(); if (metadata != null && parser.hasAllottedResource(metadata.getAllProperties()) - && model.getWidgetType() == WidgetType.valueOf("VF")) { + && model.hasWidgetType("VF")) { model = new Resource(WidgetType.valueOf("ALLOTTED_RESOURCE"), true); } } @@ -272,7 +272,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator { } resources.addAll(parser.processInstanceGroups(resourceModel, nodeTemplate)); - resources.add((Resource) resourceModel); + resources.add(resourceModel); } /** diff --git a/src/main/java/org/onap/aai/babel/xml/generator/data/WidgetConfigurationUtil.java b/src/main/java/org/onap/aai/babel/xml/generator/data/WidgetConfigurationUtil.java index df5224c..1e41f60 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/data/WidgetConfigurationUtil.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/data/WidgetConfigurationUtil.java @@ -84,6 +84,7 @@ public class WidgetConfigurationUtil { } public static void setWidgetTypes(List<WidgetTypeConfig> types) { + WidgetType.clearElements(); for (WidgetTypeConfig type : types) { if (type.type == null || type.name == null) { throw new IllegalArgumentException("Incomplete widget type specified: " + type); diff --git a/src/main/java/org/onap/aai/babel/xml/generator/model/Model.java b/src/main/java/org/onap/aai/babel/xml/generator/model/Model.java index ea1d478..b2020cd 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/model/Model.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/model/Model.java @@ -157,10 +157,24 @@ public abstract class Model { public abstract boolean addWidget(Widget resource) throws XmlArtifactGenerationException; + /** + * @return the Widget Type of this model. + */ public abstract WidgetType getWidgetType(); public abstract String getModelTypeName(); + /** + * Check whether the model's Widget Type matches the supplied type. + * + * @param type + * the Widget Type to compare + * @return true if the Widget Type of this model matches the supplied type + */ + public boolean hasWidgetType(String type) { + return getWidgetType() == WidgetType.valueOf(type); + } + public boolean addResource(Resource resource) { return resources.add(resource); } @@ -221,6 +235,9 @@ public abstract class Model { * the model ident info */ public void populateModelIdentificationInformation(Map<String, String> modelIdentInfo) { + if (modelIdentInfo == null) { + return; + } Iterator<String> iter = modelIdentInfo.keySet().iterator(); String property; while (iter.hasNext()) { diff --git a/src/main/java/org/onap/aai/babel/xml/generator/model/Resource.java b/src/main/java/org/onap/aai/babel/xml/generator/model/Resource.java index 89d02bb..77679ac 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/model/Resource.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/model/Resource.java @@ -105,15 +105,15 @@ public class Resource extends Model { public boolean addWidget(Widget widget) throws XmlArtifactGenerationException { if (type == WidgetType.valueOf("VFMODULE")) { if (widget.memberOf(members)) { - if (vserver == null && widget.getWidgetType() == WidgetType.valueOf("VSERVER")) { + if (vserver == null && widget.hasWidgetType("VSERVER")) { addVserverWidget(widget); - } else if (widget.getWidgetType() == WidgetType.valueOf("LINT")) { + } else if (widget.hasWidgetType("LINT")) { return addLIntfWidget(widget); - } else if (widget.getWidgetType() == WidgetType.valueOf("VOLUME")) { + } else if (widget.hasWidgetType("VOLUME")) { addVolumeWidget(widget); return true; } - if (widget.getWidgetType() != WidgetType.valueOf("OAM_NETWORK")) { + if (!widget.hasWidgetType("OAM_NETWORK")) { return widgets.add(widget); } } diff --git a/src/main/java/org/onap/aai/babel/xml/generator/model/Service.java b/src/main/java/org/onap/aai/babel/xml/generator/model/Service.java index 0d20c2d..894fe44 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/model/Service.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/model/Service.java @@ -33,6 +33,7 @@ public class Service extends Model { return WidgetType.valueOf("SERVICE"); } + @Override public String getModelTypeName() { return "service"; } diff --git a/src/main/java/org/onap/aai/babel/xml/generator/model/WidgetType.java b/src/main/java/org/onap/aai/babel/xml/generator/model/WidgetType.java index 2cab6ae..b6f995f 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/model/WidgetType.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/model/WidgetType.java @@ -52,6 +52,10 @@ public class WidgetType { elements.put(name, this); } + public static void clearElements() { + elements.clear(); + } + public static void validateElements() { mandatoryElements.forEach(WidgetType::valueOf); } @@ -59,7 +63,7 @@ public class WidgetType { public static WidgetType valueOf(String typeName) { WidgetType type = elements.get(typeName); if (type == null) { - throw new IllegalArgumentException("Unknown type " + typeName); + throw new IllegalArgumentException("Unknown WidgetType " + typeName); } return type; } |