AT&T 1712 and 1802 release code
[so.git] / bpmn / MSOCoreBPMN / src / main / java / org / openecomp / mso / bpmn / core / domain / ServiceDecomposition.java
index 8581eee..077e572 100644 (file)
@@ -30,11 +30,13 @@ import java.util.List;
 import com.fasterxml.jackson.annotation.JsonIgnore;\r
 import com.fasterxml.jackson.annotation.JsonProperty;\r
 import com.fasterxml.jackson.annotation.JsonRootName;\r
-\r
+import org.json.JSONObject;\r
 import org.openecomp.mso.bpmn.core.json.DecomposeJsonUtil;\r
 import org.openecomp.mso.bpmn.core.json.JsonDecomposingException;\r
 \r
 \r
+\r
+\r
 /**\r
  * Service Decomposition Structure\r
  * This Java object contains service information:\r
@@ -57,14 +59,69 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        @JsonProperty("serviceRole")\r
        private String serviceRole;\r
        private ServiceInstance serviceInstance;\r
+       private Request request;\r
+       private Customer customer;\r
+       private String callbackURN;\r
+       private String sdncVersion;\r
+       @JsonProperty("project")\r
+       private Project project;\r
+       @JsonProperty("owningEntity")\r
+       private OwningEntity owningEntity;\r
        @JsonProperty("vnfResource")\r
        private List <VnfResource>  vnfResources;\r
        @JsonProperty("networkResource")\r
        private List <NetworkResource>  networkResources;\r
        @JsonProperty("allottedResource")\r
        private List <AllottedResource>  allottedResources;\r
+       @JsonProperty("configResource")\r
+       private List <ConfigResource>  configResources;\r
 \r
        public ServiceDecomposition () {\r
+               super();\r
+       }\r
+\r
+       public ServiceDecomposition (String catalogRestOutput) throws JsonDecomposingException {\r
+               ServiceDecomposition serviceDecomposition = DecomposeJsonUtil.jsonToServiceDecomposition(catalogRestOutput);\r
+               this.modelInfo = serviceDecomposition.getModelInfo();\r
+               this.vnfResources = serviceDecomposition.getServiceVnfs();\r
+               this.allottedResources = serviceDecomposition.getServiceAllottedResources();\r
+               this.networkResources = serviceDecomposition.getServiceNetworks();\r
+               this.serviceRole = serviceDecomposition.getServiceRole();\r
+               this.serviceType = serviceDecomposition.getServiceType();\r
+               this.configResources = serviceDecomposition.getServiceConfigResources();\r
+       }\r
+\r
+       /**\r
+        * Constructor taking Catalog DB Adapter REST output (serviceResources model) + service Instance ID\r
+        * @param catalogRestOutput\r
+        * @param serviceInstanceId\r
+        */\r
+       public ServiceDecomposition (String catalogRestOutput, String serviceInstanceId) throws JsonDecomposingException {\r
+               ServiceDecomposition serviceDecomposition = DecomposeJsonUtil.jsonToServiceDecomposition(catalogRestOutput);\r
+               this.modelInfo = serviceDecomposition.getModelInfo();\r
+               this.vnfResources = serviceDecomposition.getServiceVnfs();\r
+               this.allottedResources = serviceDecomposition.getServiceAllottedResources();\r
+               this.configResources = serviceDecomposition.getServiceConfigResources();\r
+               this.networkResources = serviceDecomposition.getServiceNetworks();\r
+\r
+               this.serviceRole = serviceDecomposition.getServiceRole();\r
+               this.serviceType = serviceDecomposition.getServiceType();\r
+               \r
+               this.serviceInstance = new ServiceInstance();\r
+               this.serviceInstance.setInstanceId(serviceInstanceId);\r
+               \r
+               this.project = serviceDecomposition.getProject();\r
+               this.owningEntity = serviceDecomposition.getOwningEntity();\r
+       }\r
+\r
+       /**\r
+        * Constructor taking a Service Decomposition JSON serialization\r
+        * @param catalogRestOutput\r
+        * @param serviceInstanceId\r
+        */\r
+       public ServiceDecomposition (JSONObject jsonServiceDecomposition, String serviceInstanceId) {\r
+               //TODO provide constructor implementation\r
+\r
        }\r
 \r
        //*****\r
@@ -86,6 +143,18 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        public void setServiceInstance(ServiceInstance serviceInstance) {\r
                this.serviceInstance = serviceInstance;\r
        }\r
+       public Project getProject() {\r
+               return project;\r
+       }\r
+       public OwningEntity getOwningEntity() {\r
+               return owningEntity;\r
+       }\r
+       public void setProject(Project project) {\r
+               this.project = project;\r
+       }\r
+       public void setOwningEntity(OwningEntity owningEntity) {\r
+               this.owningEntity = owningEntity;\r
+       }\r
        public List<VnfResource> getServiceVnfs() {\r
                return vnfResources;\r
        }\r
@@ -95,6 +164,12 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        public List<NetworkResource> getServiceNetworks() {\r
                return networkResources;\r
        }\r
+       public void setServiceConfigs(List<ConfigResource> configResources) {\r
+               this.configResources = configResources;\r
+       }\r
+       public List<ConfigResource> getServiceConfigs() {\r
+               return configResources;\r
+       }\r
        public void setServiceNetworks(List<NetworkResource> networkResources) {\r
                this.networkResources = networkResources;\r
        }\r
@@ -104,6 +179,12 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        public void setServiceAllottedResources(List<AllottedResource> allottedResources) {\r
                this.allottedResources = allottedResources;\r
        }\r
+       public List<ConfigResource> getServiceConfigResources() {\r
+               return configResources;\r
+       }\r
+       public void setServiceConfigResources(List<ConfigResource> configResources) {\r
+               this.configResources = configResources;\r
+       }\r
        public String getServiceType() {\r
                return serviceType;\r
        }\r
@@ -119,6 +200,35 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        public void setServiceRole(String serviceRole) {\r
                this.serviceRole = serviceRole;\r
        }\r
+       public Request getRequest() {\r
+               return request;\r
+       }\r
+\r
+       public void setRequest(Request request) {\r
+               this.request = request;\r
+       }\r
+       public Customer getCustomer() {\r
+               return customer;\r
+       }\r
+       public void setCustomer(Customer customer) {\r
+               this.customer = customer;\r
+       }\r
+       public String getCallbackURN() {\r
+               return callbackURN;\r
+       }\r
+\r
+       public void setCallbackURN(String callbackURN) {\r
+               this.callbackURN = callbackURN;\r
+       }\r
+\r
+       public String getSdncVersion() {\r
+               return sdncVersion;\r
+       }\r
+\r
+       public void setSdncVersion(String sdncVersion) {\r
+               this.sdncVersion = sdncVersion;\r
+       }\r
+       \r
        //*****\r
 \r
        //*****\r
@@ -141,6 +251,9 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
                if(this.getServiceVnfs() != null){\r
                        serviceResources.addAll(this.getServiceVnfs());\r
                }\r
+               if(this.getServiceConfigResources() != null){\r
+                       serviceResources.addAll(this.getServiceConfigResources());\r
+               }\r
                return serviceResources;\r
        }\r
 \r
@@ -151,7 +264,8 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        public String getServiceResourcesJsonString() {\r
                return listToJson((this.getServiceNetworks())) +\r
                        listToJson((this.getServiceVnfs())) +\r
-                       listToJson((this.getServiceAllottedResources()));\r
+                       listToJson((this.getServiceAllottedResources())) +\r
+                       listToJson((this.getServiceConfigResources()));\r
        }\r
 \r
        /**\r
@@ -178,6 +292,14 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        public String getServiceAllottedResourcesJson(){\r
                return listToJson(this.getServiceAllottedResources());\r
        }\r
+       /**\r
+        * Returns a JSON list of all Config Resource structures (i.e. the serialized ConfigResource objects).\r
+        * @return\r
+        */\r
+       @JsonIgnore\r
+       public String getServiceConfigResourcesJson(){\r
+               return listToJson(this.getServiceConfigResources());\r
+       }\r
 \r
        //TODO - define Resource Object ID\r
        @JsonIgnore\r
@@ -224,7 +346,16 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
                }\r
                this.allottedResources.add((AllottedResource)allottedResource);\r
        }\r
-\r
+       /**\r
+        * Add Config resource to the list\r
+        * @param allottedResource\r
+        */\r
+       public void addConfigResource(Resource configResource) {\r
+               if (configResources == null){\r
+                       configResources = new ArrayList<>();\r
+               }\r
+               this.configResources.add((ConfigResource)configResource);\r
+       }\r
        /**\r
         * Add resource to the list\r
         * Given a ResourceDecomposition (subclass) object, add it to the Service Decomposition (in the appropriate category, e.g. as a VNF, Network, or Allotted Resource).\r
@@ -243,6 +374,9 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
                case ALLOTTED_RESOURCE:\r
                        this.addAllottedResource(resource);\r
                    break;\r
+               case CONFIGURATION:\r
+                       this.addConfigResource(resource);\r
+                   break;\r
                default:\r
                     throw new IllegalArgumentException("Invalid resource type: " + resource.resourceType);\r
                 }\r
@@ -268,14 +402,22 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
        }\r
        /**\r
         * Add resource to the list\r
-        * @param jsonResource\r
+        * @param Resource\r
         */\r
        public void addAllottedResource(String jsonResource) throws JsonDecomposingException {\r
                AllottedResource allottedResource = null;\r
                allottedResource = DecomposeJsonUtil.jsonToAllottedResource(jsonResource);\r
                this.addVnfResource(allottedResource);\r
        }\r
-\r
+       /**\r
+        * Add resource to the list\r
+        * @param Resource\r
+        */\r
+       public void addConfigResource(String jsonResource) throws JsonDecomposingException {\r
+               ConfigResource configResource = null;\r
+               configResource = DecomposeJsonUtil.jsonToConfigResource(jsonResource);\r
+               this.addVnfResource(configResource);\r
+       }\r
        /**\r
         * Given a ResourceDecomposition (subclass) object, locate it in the Service Decomposition by its unique ID, and replace the current version with the new one.\r
         * This method should support concurrency control via an auto-incrementing field in the ResourceDecomposition class.\r
@@ -348,6 +490,9 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
                case ALLOTTED_RESOURCE:\r
                        this.setServiceAllottedResources((List<AllottedResource>)(List<?>)resources);\r
                    break;\r
+               case CONFIGURATION:\r
+                       this.setServiceConfigResources((List<ConfigResource>)(List<?>)resources);\r
+                   break;\r
                default:\r
                     throw new IllegalArgumentException("Invalid resource type: " + resources.get(0).resourceType);\r
                 }\r
@@ -375,4 +520,5 @@ public class ServiceDecomposition extends JsonWrapper implements Serializable {
                }\r
                return null;\r
        }\r
+\r
 }\r