\r
import static org.junit.Assert.assertEquals;\r
import static org.junit.Assert.fail;\r
+import static org.openecomp.mso.bpmn.core.json.JsonUtils.getJsonValue;\r
+import static org.openecomp.mso.bpmn.core.json.JsonUtils.updJsonValue;\r
\r
import java.io.IOException;\r
import java.io.StringReader;\r
import java.lang.reflect.Field;\r
import java.lang.reflect.Modifier;\r
import java.util.ArrayList;\r
-import java.util.Collections;\r
-import java.util.Comparator;\r
import java.util.HashMap;\r
import java.util.Iterator;\r
import java.util.List;\r
import org.custommonkey.xmlunit.XMLUnit;\r
import org.jboss.resteasy.spi.AsynchronousResponse;\r
import org.json.JSONArray;\r
+import org.json.JSONObject;\r
import org.junit.Before;\r
import org.junit.Rule;\r
import org.openecomp.mso.bpmn.common.adapter.sdnc.CallbackHeader;\r
import org.openecomp.mso.bpmn.common.workflow.service.WorkflowAsyncResource;\r
import org.openecomp.mso.bpmn.common.workflow.service.WorkflowMessageResource;\r
import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;\r
-import org.openecomp.mso.bpmn.core.utils.CamundaDBSetup;\r
import org.openecomp.mso.bpmn.core.PropertyConfigurationSetup;\r
import org.openecomp.mso.bpmn.core.domain.Resource;\r
import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;\r
-\r
-import static org.openecomp.mso.bpmn.core.json.JsonUtils.*;\r
+import org.openecomp.mso.bpmn.core.utils.CamundaDBSetup;\r
import org.w3c.dom.Document;\r
import org.w3c.dom.Element;\r
import org.w3c.dom.Node;\r
for(Resource resource:resourceList){\r
resourceId = resource.getResourceId();\r
}\r
+ //TODO.. most other locations refer to solutionInfo.placementInfo \r
String homingList = getJsonValue(content, "solutionInfo.placement");\r
- JSONArray placementArr = new JSONArray(homingList);\r
+ JSONArray placementArr = null;\r
+ try {\r
+ placementArr = new JSONArray(homingList);\r
+ }\r
+ catch (Exception e) {\r
+ return false;\r
+ }\r
if(placementArr.length() == 1){\r
content = content.replace("((SERVICE_RESOURCE_ID))", resourceId);\r
}\r
String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");\r
- JSONArray licenseArr = new JSONArray(licenseInfoList);\r
+ JSONArray licenseArr = null;\r
+ try {\r
+ licenseArr = new JSONArray(licenseInfoList);\r
+ }\r
+ catch (Exception e) {\r
+ return false;\r
+ }\r
if(licenseArr.length() == 1){\r
content = content.replace("((SERVICE_RESOURCE_ID))", resourceId);\r
}\r
}\r
+ else {\r
+ try {\r
+ String homingList = getJsonValue(content, "solutionInfo.placementInfo");\r
+ String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");\r
+ JSONArray placementArr = new JSONArray(homingList);\r
+ JSONArray licenseArr = new JSONArray(licenseInfoList);\r
+ for (Resource resource: resourceList) {\r
+ String resourceModuleName = resource.getModelInfo().getModelInstanceName();\r
+ String resourceId = resource.getResourceId();\r
+\r
+ for (int i=0; i<placementArr.length(); i++) {\r
+ JSONObject placementObj = placementArr.getJSONObject(i);\r
+ String placementModuleName = placementObj.getString("resourceModuleName");\r
+ if (placementModuleName.equalsIgnoreCase(resourceModuleName)) {\r
+ String placementString = placementObj.toString();\r
+ placementString = placementString.replace("((SERVICE_RESOURCE_ID))", resourceId);\r
+ JSONObject newPlacementObj = new JSONObject(placementString);\r
+ placementArr.put(i, newPlacementObj);\r
+ }\r
+ }\r
+ \r
+ for (int i=0; i<licenseArr.length(); i++) {\r
+ JSONObject licenseObj = licenseArr.getJSONObject(i);\r
+ String licenseModuleName = licenseObj.getString("resourceModuleName");\r
+ if (licenseModuleName.equalsIgnoreCase(resourceModuleName)) {\r
+ String licenseString = licenseObj.toString();\r
+ licenseString = licenseString.replace("((SERVICE_RESOURCE_ID))", resourceId);\r
+ JSONObject newLicenseObj = new JSONObject(licenseString);\r
+ licenseArr.put(i, newLicenseObj);\r
+ }\r
+ }\r
+ }\r
+ String newPlacementInfos = placementArr.toString();\r
+ String newLicenseInfos = licenseArr.toString();\r
+ content = updJsonValue(content, "solutionInfo.placementInfo", newPlacementInfos);\r
+ content = updJsonValue(content, "solutionInfo.licenseInfo", newLicenseInfos);\r
+ }\r
+ catch(Exception e) {\r
+ return false;\r
+ }\r
+ \r
+ }\r
}\r
}\r
System.out.println("Injecting " + messageType + " message");\r