Move Widget attribute data to the mappings JSON
[aai/babel.git] / src / main / java / org / onap / aai / babel / xml / generator / model / Resource.java
index 121bc19..e993c88 100644 (file)
  * 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.XmlArtifactGenerationException;
 import org.onap.aai.babel.xml.generator.model.Widget.Type;
 
 public class Resource extends Model {
 
     private Type type;
     private boolean deleteFlag;
-    private boolean isResource = true;     
+    private boolean isResource = true;
     private Map<String, Object> properties = Collections.emptyMap();
 
     Widget vserver = null;
@@ -56,17 +58,12 @@ 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<String, Object> properties) {
         this.properties = properties;
@@ -99,25 +96,25 @@ public class Resource extends Model {
      * Adds a Widget.
      *
      * @param widget
-     *            the widget
+     *     the widget
      * @return the boolean
+     * @throws XmlArtifactGenerationException 
      */
     @Override
-    public boolean addWidget(Widget widget) {
+    public boolean addWidget(Widget widget) throws XmlArtifactGenerationException {
         if (type == Type.VFMODULE) {
             if (widget.memberOf(members)) {
-                if (vserver == null && widget.getId().equals(new VServerWidget().getId())) {
+                if (vserver == null && widget.getWidgetType() == Type.VSERVER) {
                     addVserverWidget(widget);
-                } else if (widget.getId().equals(new LIntfWidget().getId())) {
+                } else if (widget.getWidgetType() == Type.LINT) {
                     return addLIntfWidget(widget);
-                } else if (widget.getId().equals(new VolumeWidget().getId())) {
+                } else if (widget.getWidgetType() == Type.VOLUME) {
                     addVolumeWidget(widget);
                     return true;
                 }
-                if (widget.getId().equals(new OamNetwork().getId())) {
-                    return false;
+                if (widget.getWidgetType() != Type.OAM_NETWORK) {
+                    return widgets.add(widget);
                 }
-                return widgets.add(widget);
             }
             return false;
         } else {
@@ -129,6 +126,11 @@ public class Resource extends Model {
         return type;
     }
 
+    @Override
+    public String toString() {
+        return "Widget type " + getWidgetType() + ", isResource=" + isResource() + ", deleteFlag=" + deleteFlag;
+    }
+
     private void addVolumeWidget(Widget widget) {
         if (vserver != null) {
             vserver.addWidget(widget);
@@ -151,13 +153,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(Type.LINT));
         }
         if (addvolume) {
-            vserver.addWidget(new VolumeWidget());
+            vserver.addWidget(Widget.getWidget(Type.VOLUME));
         }
     }