Re-implement model type value for Resource Mapping
[aai/babel.git] / src / main / java / org / onap / aai / babel / xml / generator / model / Resource.java
index d655ca6..911bf32 100644 (file)
@@ -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.
@@ -24,13 +24,15 @@ 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;
+import org.onap.aai.babel.xml.generator.types.ModelType;
 
 public class Resource extends Model {
-
+  
     private Type type;
     private boolean deleteFlag;
-    private boolean isResource = true;
+    private ModelType modelType = ModelType.RESOURCE;
     private Map<String, Object> properties = Collections.emptyMap();
 
     Widget vserver = null;
@@ -62,63 +64,47 @@ public class Resource extends Model {
         return deleteFlag;
     }
 
-    @Override
-    public String getWidgetInvariantId() {
-        return Widget.getWidget(getWidgetType()).getWidgetId();
-    }
-
-    @Override
-    public String getWidgetId() {
-        return Widget.getWidget(getWidgetType()).getId();
-    }
-
     public void setProperties(Map<String, Object> properties) {
         this.properties = properties;
     }
 
-    @Override
     public Map<String, Object> 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<String> 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) {
+    public boolean addWidget(Widget widget) throws XmlArtifactGenerationException {
         if (type == Type.VFMODULE) {
             if (widget.memberOf(members)) {
-                if (vserver == null && widget instanceof VServerWidget) {
+                if (vserver == null && widget.getWidgetType() == Type.VSERVER) {
                     addVserverWidget(widget);
-                } else if (widget instanceof LIntfWidget) {
+                } else if (widget.getWidgetType() == Type.LINT) {
                     return addLIntfWidget(widget);
-                } else if (widget instanceof VolumeWidget) {
+                } else if (widget.getWidgetType() == Type.VOLUME) {
                     addVolumeWidget(widget);
                     return true;
                 }
-                if (!(widget instanceof OamNetwork)) {
+                if (widget.getWidgetType() != Type.OAM_NETWORK) {
                     return widgets.add(widget);
                 }
             }
@@ -127,14 +113,20 @@ public class Resource extends Model {
             return widgets.add(widget);
         }
     }
-
+    
     public Type getWidgetType() {
         return type;
     }
+    
+    public String getModelTypeName() {
+        return "resource";
+    }
 
     @Override
     public String toString() {
-        return "Widget type " + getWidgetType() + ", isResource=" + isResource() + ", deleteFlag=" + deleteFlag;
+        return "Resource [widget type=" + getWidgetType() + ", deleteFlag=" + deleteFlag + ", modelType=" + modelType
+                + ", properties=" + properties + ", vserver=" + vserver + ", addlintf=" + addlintf + ", addvolume="
+                + addvolume + ", members=" + members + "]";
     }
 
     private void addVolumeWidget(Widget widget) {
@@ -159,13 +151,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));
         }
     }