267a20ebe6ef5448eed9f47521f92f2b9d63b76a
[so.git] / bpmn / MSOCoreBPMN / src / main / java / org / openecomp / mso / bpmn / core / decomposition / VnfResource.java
1 package org.openecomp.mso.bpmn.core.decomposition;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.List;\r
5 \r
6 import org.codehaus.jackson.annotate.JsonIgnore;\r
7 import org.codehaus.jackson.map.annotate.JsonRootName;\r
8 \r
9 import com.fasterxml.jackson.annotation.JsonProperty;\r
10 \r
11 /**\r
12  * Encapsulates VNF resource data set\r
13  * @author\r
14  *\r
15  */\r
16 @JsonRootName("vnfResource")\r
17 public class VnfResource extends ResourceDecomposition {\r
18 \r
19         private static final long serialVersionUID = 1L;\r
20 \r
21         /*\r
22          * set resourceType for this object\r
23          */\r
24         public VnfResource(){\r
25                 resourceType = "vnfResource";\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 \r
35         /*\r
36          * GET and SET\r
37          */\r
38         public List<ModuleResource> getVfModules() {\r
39                 return vfModules;\r
40         }\r
41         public void setModules(List<ModuleResource> moduleResources) {\r
42                 this.vfModules = moduleResources;\r
43         }\r
44         public String getVnfType() {\r
45                 return vnfType;\r
46         }\r
47         public void setVnfType(String vnfType) {\r
48                 this.vnfType = vnfType;\r
49         }\r
50         \r
51         /*\r
52          * GET accessors per design requirements\r
53          */\r
54         \r
55         /**\r
56          * Returns a list of all VfModule objects.\r
57          * Base module is first entry in the list\r
58          * @return ordered list of ModuleResources objects\r
59          */\r
60         @JsonIgnore\r
61         public List<ModuleResource> getAllVfModuleObjects(){\r
62                 \r
63                 for (int i = 0; i < vfModules.size(); i++) {\r
64                         ModuleResource moduleResource = vfModules.get(i);\r
65                         if (moduleResource.getIsBase()){\r
66                                 vfModules.remove(moduleResource);\r
67                                 vfModules.add(0,moduleResource);\r
68                         }\r
69                 }\r
70                 return vfModules;\r
71         }\r
72         \r
73         /**\r
74          * \r
75          * @return Returns JSON list of all VfModule structures.\r
76          */\r
77         @JsonIgnore\r
78         public String getAllVfModulesJson(){\r
79                 \r
80                 return listToJson(vfModules);\r
81         }\r
82         \r
83         // methods to add to the list\r
84         public void addVfModule(ModuleResource moduleResource) {\r
85                 if (vfModules == null){\r
86                         vfModules = new ArrayList<ModuleResource>();\r
87                 }\r
88                 this.vfModules.add(moduleResource);\r
89         }\r
90         \r
91 }\r