import java.io.IOException;\r
import java.net.MalformedURLException;\r
import java.net.URI;\r
+import java.util.ArrayList;\r
import java.util.Iterator;\r
+import java.util.List;\r
\r
import org.onap.sdc.workflowdesigner.model.Element;\r
import org.onap.sdc.workflowdesigner.model.Process;\r
+import org.onap.sdc.workflowdesigner.model.SequenceFlow;\r
import org.slf4j.Logger;\r
import org.slf4j.LoggerFactory;\r
\r
// get element\r
Element element = createElementFromJson(jsonNode);\r
process.getElementList().add(element);\r
+ \r
+ // get sequence flows \r
+ List<SequenceFlow> flowList = getSequenceFlows(jsonNode);\r
+ process.getSequenceFlowList().addAll(flowList);\r
}\r
\r
return process;\r
\r
}\r
\r
+ private List<SequenceFlow> getSequenceFlows(JsonNode jsonNode) {\r
+ List<SequenceFlow> flowList = new ArrayList<SequenceFlow>();\r
+ JsonNode sequenceFlowNodes = jsonNode.get("sequenceFlows");\r
+ \r
+ Iterator<JsonNode> iter = sequenceFlowNodes.iterator();\r
+ while (iter.hasNext()) {\r
+ JsonNode connectionEntry = (JsonNode) iter.next();\r
+ String sourceRef = getValueFromJsonNode(connectionEntry, "sourceRef");\r
+ String targetRef = getValueFromJsonNode(connectionEntry, "targetRef");\r
+ String condition = getValueFromJsonNode(connectionEntry, "condition");\r
+ SequenceFlow flow = new SequenceFlow();\r
+ flow.setId(sourceRef + targetRef);\r
+ flow.setSourceRef(sourceRef);\r
+ flow.setTargetRef(targetRef);\r
+ flow.setCondition(condition);\r
+ flowList.add(flow);\r
+ }\r
+ \r
+ return flowList;\r
+ }\r
+ \r
+ private String getValueFromJsonNode(JsonNode jsonNode, String key) {\r
+ return jsonNode.get(key) == null ? null : jsonNode.get(key).asText();\r
+ }\r
+ \r
protected Element createElementFromJson(JsonNode jsonNode) throws JsonParseException, JsonMappingException, IOException {\r
String jsonObject = jsonNode.toString();\r
return MAPPER.readValue(jsonObject, Element.class);\r