X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fbabel%2Fxml%2Fgenerator%2Fdata%2FWidgetConfigurationUtil.java;h=8f774c98f902b1b7db74b66e19fa67566461c3b4;hb=bfde3ef00beb3c6f31cebfd12e90b9b9cdcc492e;hp=b340cd9565442e1a50792ec932c9e7cc29ebaf1b;hpb=5a6fd49a6aca3a567464527335b107746e28f3bd;p=aai%2Fbabel.git 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 b340cd9..8f774c9 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 @@ -28,16 +28,17 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Properties; import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException; import org.onap.aai.babel.xml.generator.model.Resource; import org.onap.aai.babel.xml.generator.model.Widget; -import org.onap.aai.babel.xml.generator.model.Widget.Type; +import org.onap.aai.babel.xml.generator.model.WidgetType; import org.onap.aai.babel.xml.generator.types.ModelType; public class WidgetConfigurationUtil { - private static Properties config; + public static final String GENERATOR_AAI_CONFIGLPROP_NOT_FOUND = + "Cannot generate artifacts. Widget configuration not found for %s"; + private static List instanceGroups = Collections.emptyList(); private static Map typeToResource = new HashMap<>(); private static Map typeToWidget = new HashMap<>(); @@ -49,14 +50,6 @@ public class WidgetConfigurationUtil { throw new UnsupportedOperationException("This static class should not be instantiated!"); } - public static Properties getConfig() { - return config; - } - - public static void setConfig(Properties config) { - WidgetConfigurationUtil.config = config; - } - public static void setSupportedInstanceGroups(List supportedInstanceGroups) { instanceGroups = supportedInstanceGroups; } @@ -66,11 +59,25 @@ public class WidgetConfigurationUtil { } public static Optional createModelFromType(String typePrefix) { - return Optional.ofNullable(typeToResource.get(typePrefix)); + Optional resource = Optional.ofNullable(typeToResource.get(typePrefix)); + if (resource.isPresent()) { + // Make a copy of the Resource found in the mappings table. + return Optional.of(new Resource(resource.get())); + } + return resource; } - public static Widget createWidgetFromType(Type type) throws XmlArtifactGenerationException { - Optional widget = Optional.ofNullable(typeToWidget.get(type.toString())); + /** + * Create a new Widget object according to the supplied Widget Type. + * + * @param widgetType + * a String identifying the type of Widget to create + * @return a new Widget object from the defined widget type, or else null + * @throws XmlArtifactGenerationException + * if there is an internal error creating the Widget because of the defined widget mappings + */ + public static Widget createWidgetFromType(String widgetType) throws XmlArtifactGenerationException { + Optional widget = Optional.ofNullable(typeToWidget.get(widgetType)); if (widget.isPresent()) { // Make a copy of the Widget found in the mappings table. return new Widget(widget.get()); @@ -78,15 +85,18 @@ public class WidgetConfigurationUtil { return null; } - public static void setWidgetTypes(List types) { - for (WidgetType type : types) { - if (type.type == null || type.name == null) { + public static void setWidgetTypes(List types) { + WidgetType.clearElements(); + for (WidgetTypeConfig type : types) { + if (type.type == null || type.name == null || type.modelInvariantId == null + || type.modelVersionId == null) { throw new IllegalArgumentException("Incomplete widget type specified: " + type); } - Type widgetType = Widget.Type.valueOf(type.type); - Widget widget = new Widget(widgetType, type.name, type.deleteFlag); + Widget widget = new Widget(new WidgetType(type.type), type.name, type.deleteFlag, // + type.modelInvariantId, type.modelVersionId); typeToWidget.put(type.type, widget); } + WidgetType.validateElements(); } public static void setWidgetMappings(List mappings) throws IOException { @@ -96,9 +106,10 @@ public class WidgetConfigurationUtil { if (mapping.prefix == null || mapping.widget == null || modelType == null) { throw new IOException("Invalid widget mapping specified: " + mapping); } - Resource resource = new Resource(Widget.Type.valueOf(mapping.widget), mapping.deleteFlag); + Resource resource = new Resource(WidgetType.valueOf(mapping.widget), mapping.deleteFlag); resource.setModelType(modelType); typeToResource.put(mapping.prefix, resource); } } + }