X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fbabel%2Fxml%2Fgenerator%2Fmodel%2FResource.java;h=77679acd899921a9ae6881087333e217649cbbb2;hb=6c585913c11b2e1973bfcd0d7671d4114e1c3e66;hp=121bc198b81628ff5acf3d96c3ddcd153832ee3c;hpb=979d62dc51a6e25ebab8d1d3751b8cac6d062893;p=aai%2Fbabel.git 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 121bc19..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 @@ -2,8 +2,8 @@ * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ - * Copyright © 2017-2019 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2019 European Software Marketing Ltd. + * Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2017-2019 European Software Marketing Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,18 +18,20 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.onap.aai.babel.xml.generator.model; import java.util.Collections; import java.util.List; import java.util.Map; -import org.onap.aai.babel.xml.generator.model.Widget.Type; +import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException; +import org.onap.aai.babel.xml.generator.types.ModelType; public class Resource extends Model { - private Type type; + private WidgetType type; private boolean deleteFlag; - private boolean isResource = true; + private ModelType modelType = ModelType.RESOURCE; private Map properties = Collections.emptyMap(); Widget vserver = null; @@ -37,11 +39,21 @@ public class Resource extends Model { boolean addvolume = false; List members; - public Resource(Type type, boolean deleteFlag) { + public Resource(WidgetType type, boolean deleteFlag) { this.type = type; 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(); @@ -56,68 +68,54 @@ public class Resource extends Model { return false; } + @Override public boolean getDeleteFlag() { return deleteFlag; } - public String getWidgetInvariantId() { - return Widget.getWidget(getWidgetType()).getWidgetId(); - } - - public String getWidgetId() { - return Widget.getWidget(getWidgetType()).getId(); - } - public void setProperties(Map properties) { this.properties = properties; } - @Override public Map getProperties() { return properties; } - public void setIsResource(boolean isResource) { - this.isResource = isResource; + public void setModelType(ModelType type) { + this.modelType = type; } - @Override - public boolean isResource() { - return isResource; + public ModelType getModelType() { + return modelType; } public void setMembers(List members) { this.members = members; } - @Override - public boolean addResource(Resource resource) { - return resources.add(resource); - } - /** * Adds a Widget. * * @param widget * the widget * @return the boolean + * @throws XmlArtifactGenerationException */ @Override - public boolean addWidget(Widget widget) { - if (type == Type.VFMODULE) { + public boolean addWidget(Widget widget) throws XmlArtifactGenerationException { + if (type == WidgetType.valueOf("VFMODULE")) { if (widget.memberOf(members)) { - if (vserver == null && widget.getId().equals(new VServerWidget().getId())) { + if (vserver == null && widget.hasWidgetType("VSERVER")) { addVserverWidget(widget); - } else if (widget.getId().equals(new LIntfWidget().getId())) { + } else if (widget.hasWidgetType("LINT")) { return addLIntfWidget(widget); - } else if (widget.getId().equals(new VolumeWidget().getId())) { + } else if (widget.hasWidgetType("VOLUME")) { addVolumeWidget(widget); return true; } - if (widget.getId().equals(new OamNetwork().getId())) { - return false; + if (!widget.hasWidgetType("OAM_NETWORK")) { + return widgets.add(widget); } - return widgets.add(widget); } return false; } else { @@ -125,10 +123,23 @@ public class Resource extends Model { } } - public Type getWidgetType() { + @Override + public WidgetType getWidgetType() { return type; } + @Override + public String getModelTypeName() { + return "resource"; + } + + @Override + public String toString() { + return "Resource [widget type=" + getWidgetType() + ", deleteFlag=" + deleteFlag + ", modelType=" + modelType + + ", properties=" + properties + ", vserver=" + vserver + ", addlintf=" + addlintf + ", addvolume=" + + addvolume + ", members=" + members + "]"; + } + private void addVolumeWidget(Widget widget) { if (vserver != null) { vserver.addWidget(widget); @@ -151,13 +162,13 @@ public class Resource extends Model { } } - private void addVserverWidget(Widget widget) { + private void addVserverWidget(Widget widget) throws XmlArtifactGenerationException { vserver = widget; if (addlintf) { - vserver.addWidget(new LIntfWidget()); + vserver.addWidget(Widget.getWidget(WidgetType.valueOf("LINT"))); } if (addvolume) { - vserver.addWidget(new VolumeWidget()); + vserver.addWidget(Widget.getWidget(WidgetType.valueOf("VOLUME"))); } }