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
public class ServiceDecomposition extends JsonWrapper implements Serializable {\r
\r
private static final long serialVersionUID = 1L;\r
- DecomposeJsonUtil jsonUtils = new DecomposeJsonUtil();\r
\r
@JsonProperty("modelInfo")\r
private ModelInfo modelInfo;\r
@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) {\r
-\r
- ServiceDecomposition serviceDecomposition = DecomposeJsonUtil.JsonToServiceDecomposition(catalogRestOutput);\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
* @param catalogRestOutput\r
* @param serviceInstanceId\r
*/\r
- public ServiceDecomposition (String catalogRestOutput, String serviceInstanceId) {\r
-\r
- ServiceDecomposition serviceDecomposition = DecomposeJsonUtil.JsonToServiceDecomposition(catalogRestOutput);\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
\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
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
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
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
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
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
/**\r
* This method returns String representation of one combined list of Resources of All Types\r
- * @return\r
*/\r
@JsonIgnore\r
- public String getServiceResourcesJsonString(){\r
- StringBuffer serviceResourcesJsonStringBuffer = new StringBuffer();\r
- serviceResourcesJsonStringBuffer.append(listToJson((this.getServiceNetworks())));\r
- serviceResourcesJsonStringBuffer.append(listToJson((this.getServiceVnfs())));\r
- serviceResourcesJsonStringBuffer.append(listToJson((this.getServiceAllottedResources())));\r
- return serviceResourcesJsonStringBuffer.toString();\r
+ public String getServiceResourcesJsonString() {\r
+ return listToJson((this.getServiceNetworks())) +\r
+ listToJson((this.getServiceVnfs())) +\r
+ listToJson((this.getServiceAllottedResources())) +\r
+ listToJson((this.getServiceConfigResources()));\r
}\r
\r
/**\r
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
public String getVnfResource(String resourceObjectId) {\r
\r
- Iterator<Resource> iter = getServiceResources().iterator();\r
- while (iter.hasNext()) {\r
- Resource resource = iter.next();\r
- //resource.getModelInfo().getModelInvariantId();\r
+ for (Resource resource : getServiceResources()) {\r
+ //resource.getModelInfo().getModelInvariantId();\r
\r
- if ("extracted information".equals(resourceObjectId)){\r
- return resource.toJsonString();\r
- }\r
- }\r
+ if ("extracted information".equals(resourceObjectId)) {\r
+ return resource.toJsonString();\r
+ }\r
+ }\r
return "";\r
}\r
\r
*/\r
public void addVnfResource(Resource vnfResource) {\r
if (vnfResources == null){\r
- vnfResources = new ArrayList<VnfResource>();\r
+ vnfResources = new ArrayList<>();\r
}\r
this.vnfResources.add((VnfResource)vnfResource);\r
}\r
*/\r
public void addNetworkResource(Resource networkResource) {\r
if (networkResources == null){\r
- networkResources = new ArrayList<NetworkResource>();\r
+ networkResources = new ArrayList<>();\r
}\r
this.networkResources.add((NetworkResource)networkResource);\r
}\r
*/\r
public void addAllottedResource(Resource allottedResource) {\r
if (allottedResources == null){\r
- allottedResources = new ArrayList<AllottedResource>();\r
+ allottedResources = new ArrayList<>();\r
}\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
* As dependencies are not currently supported, add it to the end of any ordered lists.\r
- * @param Resource\r
+ * @param resource\r
*/\r
public void addResource(Resource resource) {\r
//create resource based upon type\r
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
\r
/**\r
* Add resource to the list\r
- * @param Resource\r
+ * @param jsonResource\r
*/\r
- public void addVnfResource(String jsonResource) {\r
+ public void addVnfResource(String jsonResource) throws JsonDecomposingException {\r
VnfResource vnfResource = null;\r
- vnfResource = DecomposeJsonUtil.JsonToVnfResource(jsonResource);\r
+ vnfResource = DecomposeJsonUtil.jsonToVnfResource(jsonResource);\r
this.addVnfResource(vnfResource);\r
}\r
/**\r
* Add resource to the list\r
- * @param Resource\r
+ * @param jsonResource\r
*/\r
- public void addNetworkResource(String jsonResource) {\r
+ public void addNetworkResource(String jsonResource) throws JsonDecomposingException {\r
NetworkResource networkResource = null;\r
- networkResource = DecomposeJsonUtil.JsonToNetworkResource(jsonResource);\r
+ networkResource = DecomposeJsonUtil.jsonToNetworkResource(jsonResource);\r
this.addVnfResource(networkResource);\r
}\r
/**\r
* Add resource to the list\r
* @param Resource\r
*/\r
- public void addAllottedResource(String jsonResource) {\r
+ public void addAllottedResource(String jsonResource) throws JsonDecomposingException {\r
AllottedResource allottedResource = null;\r
- allottedResource = DecomposeJsonUtil.JsonToAllottedResource(jsonResource);\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
- * @param Resource\r
+ * @param newResource\r
* @return TRUE if replacement was a success\r
*/\r
public boolean replaceResource(Resource newResource){\r
boolean result = false;\r
List serviceResources = getServiceResources();\r
- Iterator<Resource> iter = serviceResources.iterator();\r
- while (iter.hasNext()) {\r
- Resource resource = iter.next();\r
+ for (Resource resource : (Iterable<Resource>) serviceResources) {\r
System.out.println("resource found");\r
- if (resource.resourceType == newResource.resourceType){\r
+ if (resource.resourceType == newResource.resourceType) {\r
System.out.println("resource type matches");\r
- if (resource.getResourceId().equalsIgnoreCase(newResource.getResourceId())){\r
+ if (resource.getResourceId().equalsIgnoreCase(newResource.getResourceId())) {\r
System.out.println("resource id matches");\r
//returns TRUE if replacement is a success\r
result = Collections.replaceAll(serviceResources, resource, newResource);\r
\r
/**\r
* Given a resource object ID, locate it in the Service Decomposition by its unique ID, and delete it.\r
- * @param Resource\r
+ * @param resource\r
* @return TRUE if delete was a success\r
*/\r
public boolean deleteResource(Resource resource){\r
List serviceResources = getServiceResources();\r
- Iterator<Resource> iter = serviceResources.iterator();\r
- while (iter.hasNext()) {\r
- Resource item = iter.next();\r
-\r
- if (item.resourceType == resource.resourceType){\r
- if (item.getResourceId().equalsIgnoreCase(resource.getResourceId())){\r
+ for (Resource item : (Iterable<Resource>) serviceResources) {\r
+ if (item.resourceType == resource.resourceType) {\r
+ if (item.getResourceId().equalsIgnoreCase(resource.getResourceId())) {\r
//returns TRUE if replacement is a success\r
return serviceResources.remove(resource);\r
}\r
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
@JsonIgnore\r
public Resource getServiceResource(String resourceId){\r
List<Resource> resources = getServiceResources();\r
- Iterator<Resource> iter = resources.iterator();\r
- while (iter.hasNext()){\r
- Resource resource = iter.next();\r
- if (resource.getResourceId().equalsIgnoreCase(resourceId)){\r
+ for (Resource resource : resources) {\r
+ if (resource.getResourceId().equalsIgnoreCase(resourceId)) {\r
//match\r
return resource;\r
}\r
}\r
return null;\r
}\r
+\r
}\r