Merge "updated ARIA version"
[so.git] / bpmn / MSOCoreBPMN / src / main / java / org / openecomp / mso / bpmn / core / domain / VnfResource.java
1 package org.openecomp.mso.bpmn.core.domain;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.List;\r
5 import java.util.UUID;\r
6 \r
7 import com.fasterxml.jackson.annotation.JsonIgnore;\r
8 import com.fasterxml.jackson.annotation.JsonProperty;\r
9 import com.fasterxml.jackson.annotation.JsonRootName;\r
10 \r
11 /**\r
12  * Encapsulates VNF resource data set\r
13  *\r
14  */\r
15 @JsonRootName("vnfResource")\r
16 public class VnfResource extends Resource {\r
17 \r
18         private static final long serialVersionUID = 1L;\r
19 \r
20         /*\r
21          * set resourceType for this object\r
22          */\r
23         public VnfResource(){\r
24                 resourceType = ResourceType.VNF;\r
25                 setResourceId(UUID.randomUUID().toString());\r
26         }\r
27         \r
28         /*\r
29          * fields specific to VNF resource type\r
30          */\r
31         @JsonProperty("vfModules")\r
32         private List <ModuleResource>  vfModules;\r
33         private String vnfType;\r
34         private String nfFunction;\r
35         private String nfType;\r
36         private String nfRole;\r
37         private String nfNamingCode;\r
38 \r
39         /*\r
40          * GET and SET\r
41          */\r
42         public List<ModuleResource> getVfModules() {\r
43                 return vfModules;\r
44         }\r
45         public void setModules(List<ModuleResource> moduleResources) {\r
46                 this.vfModules = moduleResources;\r
47         }\r
48         @Deprecated\r
49         public void setVnfType(String vnfType) {\r
50                 this.vnfType = vnfType;\r
51         }\r
52         public String getVnfType() {\r
53                 return vnfType;\r
54         }\r
55         public String getNfFunction() {\r
56                 return nfFunction;\r
57         }\r
58         public void setNfFunction(String nfFunction) {\r
59                 this.nfFunction = nfFunction;\r
60         }\r
61         public String getNfType() {\r
62                 return nfType;\r
63         }\r
64         public void setNfType(String nfType) {\r
65                 this.nfType = nfType;\r
66         }\r
67         public String getNfRole() {\r
68                 return nfRole;\r
69         }\r
70         public void setNfRole(String nfRole) {\r
71                 this.nfRole = nfRole;\r
72         }\r
73         public String getNfNamingCode() {\r
74                 return nfNamingCode;\r
75         }\r
76         public void setNfNamingCode(String nfNamingCode) {\r
77                 this.nfNamingCode = nfNamingCode;\r
78         }\r
79         /*\r
80          * GET accessors per design requirements\r
81          */\r
82         \r
83         /**\r
84          * Returns a list of all VfModule objects.\r
85          * Base module is first entry in the list\r
86          * @return ordered list of ModuleResources objects\r
87          */\r
88         @JsonIgnore\r
89         public List<ModuleResource> getAllVfModuleObjects(){\r
90                 if (vfModules == null) {\r
91                         return null;\r
92                 }\r
93                 \r
94                 for (int i = 0; i < vfModules.size(); i++) {\r
95                         ModuleResource moduleResource = vfModules.get(i);\r
96                         if (moduleResource.getIsBase()){\r
97                                 vfModules.remove(moduleResource);\r
98                                 vfModules.add(0,moduleResource);\r
99                         }\r
100                 }\r
101                 return vfModules;\r
102         }\r
103         \r
104         /**\r
105          * \r
106          * @return Returns JSON list of all VfModule structures.\r
107          */\r
108         @JsonIgnore\r
109         public String getAllVfModulesJson(){\r
110                 \r
111                 return listToJson(vfModules);\r
112         }\r
113         \r
114         // methods to add to the list\r
115         public void addVfModule(ModuleResource moduleResource) {\r
116                 if (vfModules == null){\r
117                         vfModules = new ArrayList<ModuleResource>();\r
118                 }\r
119                 this.vfModules.add(moduleResource);\r
120         }\r
121         \r
122 \r
123         /**\r
124          * Utility method to allow construction of the filed in the form of \r
125          * <serviceResources.modelInfo.modelName>/<serviceVnfs.modelInfo.modelInstanceName>\r
126          * \r
127          * default setter for this field deprecated\r
128          * @param modelName << serviceResources.modelInfo.modelName\r
129          * @param modelInstanceName\r
130          */\r
131         public void constructVnfType(String modelName) {\r
132                 this.vnfType = modelName.concat("/").concat(this.modelInfo.getModelInstanceName());\r
133         }\r
134 }