1710 Rebase - Second Attempt
[so.git] / bpmn / MSOCoreBPMN / src / main / java / org / openecomp / mso / bpmn / core / domain / VnfResource.java
@@ -1,20 +1,19 @@
-package org.openecomp.mso.bpmn.core.decomposition;\r
+package org.openecomp.mso.bpmn.core.domain;\r
 \r
 import java.util.ArrayList;\r
 import java.util.List;\r
+import java.util.UUID;\r
 \r
-import org.codehaus.jackson.annotate.JsonIgnore;\r
-import org.codehaus.jackson.map.annotate.JsonRootName;\r
-\r
+import com.fasterxml.jackson.annotation.JsonIgnore;\r
 import com.fasterxml.jackson.annotation.JsonProperty;\r
+import com.fasterxml.jackson.annotation.JsonRootName;\r
 \r
 /**\r
  * Encapsulates VNF resource data set\r
- * @author\r
  *\r
  */\r
 @JsonRootName("vnfResource")\r
-public class VnfResource extends ResourceDecomposition {\r
+public class VnfResource extends Resource {\r
 \r
        private static final long serialVersionUID = 1L;\r
 \r
@@ -22,7 +21,8 @@ public class VnfResource extends ResourceDecomposition {
         * set resourceType for this object\r
         */\r
        public VnfResource(){\r
-               resourceType = "vnfResource";\r
+               resourceType = ResourceType.VNF;\r
+               setResourceId(UUID.randomUUID().toString());\r
        }\r
        \r
        /*\r
@@ -31,6 +31,10 @@ public class VnfResource extends ResourceDecomposition {
        @JsonProperty("vfModules")\r
        private List <ModuleResource>  vfModules;\r
        private String vnfType;\r
+       private String nfFunction;\r
+       private String nfType;\r
+       private String nfRole;\r
+       private String nfNamingCode;\r
 \r
        /*\r
         * GET and SET\r
@@ -41,13 +45,37 @@ public class VnfResource extends ResourceDecomposition {
        public void setModules(List<ModuleResource> moduleResources) {\r
                this.vfModules = moduleResources;\r
        }\r
+       @Deprecated\r
+       public void setVnfType(String vnfType) {\r
+               this.vnfType = vnfType;\r
+       }\r
        public String getVnfType() {\r
                return vnfType;\r
        }\r
-       public void setVnfType(String vnfType) {\r
-               this.vnfType = vnfType;\r
+       public String getNfFunction() {\r
+               return nfFunction;\r
+       }\r
+       public void setNfFunction(String nfFunction) {\r
+               this.nfFunction = nfFunction;\r
+       }\r
+       public String getNfType() {\r
+               return nfType;\r
+       }\r
+       public void setNfType(String nfType) {\r
+               this.nfType = nfType;\r
+       }\r
+       public String getNfRole() {\r
+               return nfRole;\r
+       }\r
+       public void setNfRole(String nfRole) {\r
+               this.nfRole = nfRole;\r
+       }\r
+       public String getNfNamingCode() {\r
+               return nfNamingCode;\r
+       }\r
+       public void setNfNamingCode(String nfNamingCode) {\r
+               this.nfNamingCode = nfNamingCode;\r
        }\r
-       \r
        /*\r
         * GET accessors per design requirements\r
         */\r
@@ -59,6 +87,9 @@ public class VnfResource extends ResourceDecomposition {
         */\r
        @JsonIgnore\r
        public List<ModuleResource> getAllVfModuleObjects(){\r
+               if (vfModules == null) {\r
+                       return null;\r
+               }\r
                \r
                for (int i = 0; i < vfModules.size(); i++) {\r
                        ModuleResource moduleResource = vfModules.get(i);\r
@@ -88,4 +119,16 @@ public class VnfResource extends ResourceDecomposition {
                this.vfModules.add(moduleResource);\r
        }\r
        \r
-}\r
+\r
+       /**\r
+        * Utility method to allow construction of the filed in the form of \r
+        * <serviceResources.modelInfo.modelName>/<serviceVnfs.modelInfo.modelInstanceName>\r
+        * \r
+        * default setter for this field deprecated\r
+        * @param modelName << serviceResources.modelInfo.modelName\r
+        * @param modelInstanceName\r
+        */\r
+       public void constructVnfType(String modelName) {\r
+               this.vnfType = modelName.concat("/").concat(this.modelInfo.getModelInstanceName());\r
+       }\r
+}
\ No newline at end of file