support sequence flow convert 57/15257/1
authorLvbo163 <lv.bo163@zte.com.cn>
Tue, 26 Sep 2017 01:03:50 +0000 (09:03 +0800)
committerLvbo163 <lv.bo163@zte.com.cn>
Tue, 26 Sep 2017 01:03:50 +0000 (09:03 +0800)
Issue-ID: SDC-395

Change-Id: Ibd28a640cceade20b3115f097778355fd5d5ac54
Signed-off-by: Lvbo163 <lv.bo163@zte.com.cn>
sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/parser/Bpmn4ToscaJsonParser.java

index 81b41d9..64bff27 100644 (file)
@@ -14,10 +14,13 @@ package org.onap.sdc.workflowdesigner.parser;
 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
@@ -57,12 +60,41 @@ public class Bpmn4ToscaJsonParser {
                        // 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