support BPMN data object as default value 59/16259/1
authorLvbo163 <lv.bo163@zte.com.cn>
Thu, 28 Sep 2017 07:35:05 +0000 (15:35 +0800)
committerLvbo163 <lv.bo163@zte.com.cn>
Thu, 28 Sep 2017 07:35:05 +0000 (15:35 +0800)
Issue-ID: SDC-416

Change-Id: I128870ef03d2ec35c97347b0c8a9d8f191fe158a
Signed-off-by: Lvbo163 <lv.bo163@zte.com.cn>
sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/model/DataObject.java [new file with mode: 0644]
sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/model/Process.java
sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/parser/Bpmn4ToscaJsonParser.java

diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/model/DataObject.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/model/DataObject.java
new file mode 100644 (file)
index 0000000..0ae76b5
--- /dev/null
@@ -0,0 +1,42 @@
+/**\r
+ * Copyright (c) 2017 ZTE Corporation.\r
+ * All rights reserved. This program and the accompanying materials\r
+ * are made available under the Apache License, Version 2.0\r
+ * and the Eclipse Public License v1.0 which both accompany this distribution,\r
+ * and are available at http://www.eclipse.org/legal/epl-v10.html\r
+ * and http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Contributors:\r
+ *     ZTE - initial API and implementation and/or initial documentation\r
+ */\r
+package org.onap.sdc.workflowdesigner.model;\r
+\r
+public class DataObject {\r
+    private String id;\r
+    private String name;\r
+    private String value;\r
+\r
+    public String getId() {\r
+        return id;\r
+    }\r
+\r
+    public void setId(String id) {\r
+        this.id = id;\r
+    }\r
+\r
+    public String getName() {\r
+        return name;\r
+    }\r
+\r
+    public void setName(String name) {\r
+        this.name = name;\r
+    }\r
+\r
+    public String getValue() {\r
+        return value;\r
+    }\r
+\r
+    public void setValue(String value) {\r
+        this.value = value;\r
+    }\r
+}\r
index c229c29..6413ad6 100644 (file)
@@ -19,6 +19,7 @@ public class Process {
     private boolean isExecutable;\r
     private List<Element> elementList = new ArrayList<Element>();\r
     private List<SequenceFlow> sequenceFlowList = new ArrayList<SequenceFlow>();\r
+    private List<DataObject> dataObjectList = new ArrayList<DataObject>();\r
 \r
     public Process(String id) {\r
         this.id = id;\r
@@ -56,4 +57,11 @@ public class Process {
         this.sequenceFlowList = sequenceFlowList;\r
     }\r
 \r
+    public List<DataObject> getDataObjectList() {\r
+        return dataObjectList;\r
+    }\r
+\r
+    public void setDataObjectList(List<DataObject> dataObjectList) {\r
+        this.dataObjectList = dataObjectList;\r
+    }\r
 }\r
index 8cad4d8..390dc0b 100644 (file)
@@ -18,8 +18,10 @@ import java.util.ArrayList;
 import java.util.Iterator;\r
 import java.util.List;\r
 \r
+import org.onap.sdc.workflowdesigner.model.DataObject;\r
 import org.onap.sdc.workflowdesigner.model.Element;\r
 import org.onap.sdc.workflowdesigner.model.EndEvent;\r
+import org.onap.sdc.workflowdesigner.model.Parameter;\r
 import org.onap.sdc.workflowdesigner.model.Process;\r
 import org.onap.sdc.workflowdesigner.model.SequenceFlow;\r
 import org.onap.sdc.workflowdesigner.model.StartEvent;\r
@@ -67,12 +69,33 @@ public class Bpmn4ToscaJsonParser {
             // get sequence flows\r
             List<SequenceFlow> flowList = getSequenceFlows(jsonNode);\r
             process.getSequenceFlowList().addAll(flowList);\r
+\r
+            // add dataObject\r
+            if (element instanceof StartEvent) {\r
+                List<DataObject> dataObjects = this.getDataObject((StartEvent) element);\r
+                process.getDataObjectList().addAll(dataObjects);\r
+            }\r
         }\r
 \r
         return process;\r
 \r
     }\r
 \r
+    private List<DataObject> getDataObject(StartEvent startEvent) {\r
+        List<DataObject> dataObjects = new ArrayList<DataObject>();\r
+\r
+        for (Parameter parameter : startEvent.getParameters()) {\r
+            DataObject dataObject = new DataObject();\r
+            dataObject.setId(parameter.getName());\r
+            dataObject.setName(parameter.getName());\r
+            dataObject.setValue((String) parameter.getValue());\r
+\r
+            dataObjects.add(dataObject);\r
+        }\r
+\r
+        return dataObjects;\r
+    }\r
+\r
     private List<SequenceFlow> getSequenceFlows(JsonNode jsonNode) {\r
         List<SequenceFlow> flowList = new ArrayList<SequenceFlow>();\r
         JsonNode sequenceFlowNodes = jsonNode.get(JsonKeys.SEQUENCE_FLOWS);\r
@@ -94,10 +117,6 @@ public class Bpmn4ToscaJsonParser {
         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)\r
             throws JsonParseException, JsonMappingException, IOException {\r
         String jsonObject = jsonNode.toString();\r
@@ -119,4 +138,8 @@ public class Bpmn4ToscaJsonParser {
         return element;\r
     }\r
 \r
+    private String getValueFromJsonNode(JsonNode jsonNode, String key) {\r
+        return jsonNode.get(key) == null ? null : jsonNode.get(key).asText();\r
+    }\r
+\r
 }\r