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=7683f7c6ee724596dd818637ebbe189f73343d55;hpb=895cafe7aaf5f462e0bf3c3a2ab7fcb863bba78e;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 7683f7c..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.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; 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,9 +59,23 @@ 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; } + /** + * 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()) { @@ -79,18 +86,20 @@ public class WidgetConfigurationUtil { } public static void setWidgetTypes(List types) { + WidgetType.clearElements(); for (WidgetTypeConfig type : types) { - if (type.type == null || type.name == null) { + if (type.type == null || type.name == null || type.modelInvariantId == null + || type.modelVersionId == null) { throw new IllegalArgumentException("Incomplete widget type specified: " + type); } - WidgetType widgetType = new WidgetType(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 { + public static void setWidgetMappings(List mappings) throws IOException { for (WidgetMapping mapping : mappings) { ModelType modelType = Optional.ofNullable(mapping.type).map(String::toUpperCase) .map(s -> Enums.getIfPresent(ModelType.class, s).orNull()).orElse(null); @@ -102,4 +111,5 @@ public class WidgetConfigurationUtil { typeToResource.put(mapping.prefix, resource); } } + }