From: mark.j.leonard Date: Thu, 21 Mar 2019 12:25:13 +0000 (+0000) Subject: Create new Resource objects for each new model X-Git-Tag: 1.4.1~24 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=aai%2Fbabel.git;a=commitdiff_plain;h=b3c57a21bca3898e6a2497e58bb665a90318435a Create new Resource objects for each new model When creating multiple Resources of the same type, ensure that each Resource has a new Java Object: follow the same pattern as used for Widget types. Change-Id: I1e41d3258a3ccdad91448234ae3cf40235d7b210 Issue-ID: AAI-2267 Signed-off-by: mark.j.leonard --- 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..df5224c 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 @@ -31,8 +31,8 @@ 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 { @@ -66,7 +66,12 @@ 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(String widgetType) throws XmlArtifactGenerationException { 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 f5f7c50..89d02bb 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 @@ -44,6 +44,16 @@ public class Resource extends Model { this.deleteFlag = deleteFlag; } + /** + * Copy Constructor. + * + * @param baseResource + */ + public Resource(Resource baseResource) { + this(baseResource.getWidgetType(), baseResource.getDeleteFlag()); + setModelType(baseResource.getModelType()); + } + @Override public int hashCode() { final String uuid = getModelNameVersionId(); @@ -113,10 +123,12 @@ public class Resource extends Model { } } + @Override public WidgetType getWidgetType() { return type; } + @Override public String getModelTypeName() { return "resource"; }