diff --git a/.gitignore b/.gitignore
index a1c2a238..4d6fc931 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,7 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
+
+target/
+*.iml
+.idea
diff --git a/global/.gitkeep b/global/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/global/customeditors.json b/global/customeditors.json
new file mode 100644
index 00000000..d7232a67
--- /dev/null
+++ b/global/customeditors.json
@@ -0,0 +1,3 @@
+{ "editors":{
+ "Actors" : "/designer/customeditors/sampleactorseditor.html"
+}}
diff --git a/global/defaultemailicon.gif b/global/defaultemailicon.gif
new file mode 100644
index 00000000..5bb455dd
Binary files /dev/null and b/global/defaultemailicon.gif differ
diff --git a/global/defaultlogicon.gif b/global/defaultlogicon.gif
new file mode 100644
index 00000000..03d577e9
Binary files /dev/null and b/global/defaultlogicon.gif differ
diff --git a/global/defaultmilestoneicon.png b/global/defaultmilestoneicon.png
new file mode 100644
index 00000000..2ebb3e3e
Binary files /dev/null and b/global/defaultmilestoneicon.png differ
diff --git a/global/defaultservicenodeicon.png b/global/defaultservicenodeicon.png
new file mode 100644
index 00000000..0220b1f6
Binary files /dev/null and b/global/defaultservicenodeicon.png differ
diff --git a/global/defaultsubcaseicon.png b/global/defaultsubcaseicon.png
new file mode 100644
index 00000000..32c1b17a
Binary files /dev/null and b/global/defaultsubcaseicon.png differ
diff --git a/global/patterns.json b/global/patterns.json
new file mode 100644
index 00000000..312a0992
--- /dev/null
+++ b/global/patterns.json
@@ -0,0 +1,859 @@
+[
+ {
+ "id": "wp-sequence",
+ "name": "Sequence",
+ "description" : "Sequence Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3"],
+ "xyOffset" : [140,0]
+ },
+ {
+ "id" : "3",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [140,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-parallelsplit",
+ "name": "Parallel Split",
+ "description" : "Parallel Split Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#ParallelGateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3", "4"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "B1",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,-60]
+ },
+ {
+ "id" : "4",
+ "name": "B2",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,60]
+ }
+ ]
+ },
+ {
+ "id": "wp-xorsplit",
+ "name": "XOR Split",
+ "description" : "XOR Split Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3", "4"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "B1",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,-60]
+ },
+ {
+ "id" : "4",
+ "name": "B2",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,60]
+ }
+ ]
+ },
+ {
+ "id": "wp-exclusivechoice",
+ "name": "Exclusive Choice",
+ "description" : "Exclusive Choice Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3", "4", "5"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,-90]
+ },
+ {
+ "id" : "4",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "5",
+ "name": "D",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [120,90]
+ }
+ ]
+ },
+ {
+ "id": "wp-synchronization",
+ "name": "Synchronization",
+ "description" : "Synchronization Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "B1",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["3"],
+ "xyOffset" : [0,-60]
+ },
+ {
+ "id" : "2",
+ "name": "B2",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["3"],
+ "xyOffset" : [0,60]
+ },
+ {
+ "id" : "3",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#ParallelGateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1","2"],
+ "children" : ["4"],
+ "xyOffset" : [120,60]
+ },
+ {
+ "id" : "4",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["3"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-implicittermination",
+ "name": "Implicit Termination",
+ "description" : "Implicit Termination Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#StartNoneEvent",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["4","5"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "4",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["3"],
+ "children" : ["6"],
+ "xyOffset" : [120,-60]
+ },
+ {
+ "id" : "5",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["3"],
+ "children" : ["7"],
+ "xyOffset" : [120,60]
+ },
+ {
+ "id" : "6",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#EndTerminateEvent",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["4"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "7",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#EndTerminateEvent",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["5"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-simplemerge",
+ "name": "Simple Merge",
+ "description" : "Simple Merge Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["4"],
+ "xyOffset" : [0,-60]
+ },
+ {
+ "id" : "2",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["4"],
+ "xyOffset" : [0,60]
+ },
+ {
+ "id" : "4",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1","2","3"],
+ "children" : ["5"],
+ "xyOffset" : [120,60]
+ },
+ {
+ "id" : "5",
+ "name": "D",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["4"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-synchronizingmerge",
+ "name": "Synchronizing Merge",
+ "description" : "Synchronizing Merge Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#InclusiveGateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3","4"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["5"],
+ "xyOffset" : [120,-90]
+ },
+ {
+ "id" : "4",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["5"],
+ "xyOffset" : [120,90]
+ },
+ {
+ "id" : "5",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#InclusiveGateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["3","4"],
+ "children" : ["6"],
+ "xyOffset" : [120,90]
+ },
+ {
+ "id" : "6",
+ "name": "D",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["5"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-arbitrarycycles",
+ "name": "Arbitrary Cycles",
+ "description" : "Arbitrary Cycles Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3","4"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["5"],
+ "xyOffset" : [0,180]
+ },
+ {
+ "id" : "4",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["6"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "5",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["3"],
+ "children" : ["6"],
+ "xyOffset" : [120,-90]
+ },
+ {
+ "id" : "6",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["5"],
+ "children" : ["7"],
+ "xyOffset" : [120,45]
+ },
+ {
+ "id" : "7",
+ "name": "D",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["6"],
+ "children" : ["8"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "8",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["7"],
+ "children" : ["9","10"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "9",
+ "name": "E",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["8"],
+ "children" : [],
+ "xyOffset" : [120,-45]
+ },
+ {
+ "id" : "10",
+ "name": "F",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["8"],
+ "children" : ["11"],
+ "xyOffset" : [120,45]
+ },
+ {
+ "id" : "11",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Exclusive_Databased_Gateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["10"],
+ "children" : ["3","12"],
+ "xyOffset" : [0,90]
+ },
+ {
+ "id" : "12",
+ "name": "G",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["11"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-miwithoutsynchronization",
+ "name": "MI Without Synchronization",
+ "description" : "Multiple Instance Without Synchronization Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#MultipleInstanceSubprocess",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3"],
+ "xyOffset" : [240,0]
+ },
+ {
+ "id" : "3",
+ "name": "c",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [240,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-deferredchoice",
+ "name": "Deferred Choice",
+ "description" : "Deferred Choice Pattern",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0]
+ },
+ {
+ "id" : "2",
+ "name": "",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#EventbasedGateway",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3","4"],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id" : "3",
+ "name": "b",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#IntermediateMessageEventCatching",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["5"],
+ "xyOffset" : [60,-45]
+ },
+ {
+ "id" : "4",
+ "name": "c",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#IntermediateMessageEventCatching",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : ["6"],
+ "xyOffset" : [60,45]
+ },
+ {
+ "id": "5",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["3"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ },
+ {
+ "id": "6",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["4"],
+ "children" : [],
+ "xyOffset" : [120,0]
+ }
+ ]
+ },
+ {
+ "id": "wp-datasequence",
+ "name": "Sequence with Data",
+ "description" : "Sequence Pattern with Data",
+ "elements" : [
+ {
+ "id": "1",
+ "name": "A",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType" : "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : [],
+ "children" : ["2"],
+ "xyOffset" : [0,0],
+ "properties":{
+ "name":"A",
+ "documentation":"",
+ "isselectable":"true",
+ "invisid":"",
+ "isforcompensation":"",
+ "assignments":"[din]aVar->aIn,[dout]aOut->aVar",
+ "tasktype":"User",
+ "messageref":"",
+ "script":"",
+ "script_language":"java",
+ "bgcolor":"#99CC00",
+ "bordercolor":"#000000",
+ "fontcolor":"#000000",
+ "fontsize":"",
+ "datainputset":"aIn:String",
+ "dataoutputset":"aOut:String",
+ "origbgcolor":"#fafad2",
+ "nomorph":"true",
+ "origbordercolor":"#000000",
+ "ruleflowgroup":"",
+ "onentryactions":"",
+ "onexitactions":"",
+ "isasync":"false",
+ "taskname":"aTask",
+ "serviceoperation":"",
+ "serviceinterface":"",
+ "serviceimplementation":"Java",
+ "actors":"aActor",
+ "groupid":"",
+ "subject":"",
+ "description":"",
+ "content":"",
+ "reassignment":"",
+ "notifications":"",
+ "locale":"",
+ "createdby":"",
+ "skippable":"true",
+ "priority":"",
+ "multipleinstance":false,
+ "multipleinstancecollectioninput":"",
+ "multipleinstancecollectionoutput":"",
+ "multipleinstancedatainput":"",
+ "multipleinstancedataoutput":"",
+ "multipleinstancecompletioncondition":"",
+ "min":"5",
+ "max":"10",
+ "standarddeviation":"1",
+ "mean":"0",
+ "distributiontype":"uniform",
+ "quantity":"1",
+ "workinghours":"8",
+ "unitcost":"0"
+ }
+ },
+ {
+ "id" : "2",
+ "name": "B",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["1"],
+ "children" : ["3"],
+ "xyOffset" : [140,0],
+ "properties":{
+ "name":"B",
+ "documentation":"",
+ "isselectable":"true",
+ "invisid":"",
+ "isforcompensation":"",
+ "assignments":"[din]aVar->bIn,[dout]bOut->aVar",
+ "tasktype":"User",
+ "messageref":"",
+ "script":"",
+ "script_language":"java",
+ "bgcolor":"#3366FF",
+ "bordercolor":"#000000",
+ "fontcolor":"#000000",
+ "fontsize":"",
+ "datainputset":"bIn:String",
+ "dataoutputset":"bOut:String",
+ "origbgcolor":"#fafad2",
+ "nomorph":"true",
+ "origbordercolor":"#000000",
+ "ruleflowgroup":"",
+ "onentryactions":"",
+ "onexitactions":"",
+ "isasync":"false",
+ "taskname":"bTask",
+ "serviceoperation":"",
+ "serviceinterface":"",
+ "serviceimplementation":"Java",
+ "actors":"bActor",
+ "groupid":"",
+ "subject":"",
+ "description":"",
+ "content":"",
+ "reassignment":"",
+ "notifications":"",
+ "locale":"",
+ "createdby":"",
+ "skippable":"true",
+ "priority":"",
+ "multipleinstance":false,
+ "multipleinstancecollectioninput":"",
+ "multipleinstancecollectionoutput":"",
+ "multipleinstancedatainput":"",
+ "multipleinstancedataoutput":"",
+ "multipleinstancecompletioncondition":"",
+ "min":"5",
+ "max":"10",
+ "standarddeviation":"1",
+ "mean":"0",
+ "distributiontype":"uniform",
+ "quantity":"1",
+ "workinghours":"8",
+ "unitcost":"0"
+ }
+ },
+ {
+ "id" : "3",
+ "name": "C",
+ "nodetype" : "http://b3mn.org/stencilset/bpmn2.0#Task",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "connectingType": "http://b3mn.org/stencilset/bpmn2.0#SequenceFlow",
+ "parent" : ["2"],
+ "children" : [],
+ "xyOffset" : [140,0],
+ "properties":{
+ "name":"C",
+ "documentation":"",
+ "isselectable":"true",
+ "invisid":0.4580388036556542,
+ "isforcompensation":"",
+ "assignments":"[din]aVar->cIn,[dout]cOut->aVar",
+ "tasktype":"User",
+ "messageref":"",
+ "script":"",
+ "script_language":"java",
+ "bgcolor":"#FF9900",
+ "bordercolor":"#000000",
+ "fontcolor":"#000000",
+ "fontsize":"",
+ "datainputset":"cIn:String",
+ "dataoutputset":"cOut:String",
+ "origbgcolor":"#fafad2",
+ "nomorph":"true",
+ "origbordercolor":"#000000",
+ "ruleflowgroup":"",
+ "onentryactions":"",
+ "onexitactions":"",
+ "isasync":"false",
+ "taskname":"cTask",
+ "serviceoperation":"",
+ "serviceinterface":"",
+ "serviceimplementation":"Java",
+ "actors":"cActor",
+ "groupid":"",
+ "subject":"",
+ "description":"",
+ "content":"",
+ "reassignment":"",
+ "notifications":"",
+ "locale":"",
+ "createdby":"",
+ "skippable":"true",
+ "priority":"",
+ "multipleinstance":false,
+ "multipleinstancecollectioninput":"",
+ "multipleinstancecollectionoutput":"",
+ "multipleinstancedatainput":"",
+ "multipleinstancedataoutput":"",
+ "multipleinstancecompletioncondition":"",
+ "min":"5",
+ "max":"10",
+ "standarddeviation":"1",
+ "mean":"0",
+ "distributiontype":"uniform",
+ "quantity":"1",
+ "workinghours":"8",
+ "unitcost":"0"
+ }
+ }
+
+ ]
+ }
+]
\ No newline at end of file
diff --git a/global/themes.json b/global/themes.json
new file mode 100644
index 00000000..1c6ade36
--- /dev/null
+++ b/global/themes.json
@@ -0,0 +1,31 @@
+{ "themes":{
+ "jBPM":{
+ "Start Events" : "#9acd32|#000000|#000000",
+ "Catching Intermediate Events" : "#f5deb3|#a0522d|#000000",
+ "Throwing Intermediate Events" : "#8cabff|#008cec|#000000",
+ "End Events" : "#ff6347|#000000|#000000",
+ "Gateways" : "#f0e68c|#a67f00|#000000",
+ "Tasks" : "#fafad2|#000000|#000000",
+ "Subprocesses" : "#fafad2|#000000|#000000",
+ "Service Tasks" : "#fafad2|#000000|#000000",
+ "Data Objects" : "#C0C0C0|#000000|#000000",
+ "Swimlanes" : "#ffffff|#000000|#000000",
+ "Artifacts" : "#ffffff|#000000|#000000",
+ "Connecting Objects" : "#000000|#000000|#000000"
+ },
+ "HighContrast":{
+ "Start Events" : "#d2b29f|#000000|#000000",
+ "Catching Intermediate Events" : "#ffd3a6|#a37e25|#000000",
+ "Throwing Intermediate Events" : "#adbaf2|#000099|#000000",
+ "End Events" : "#ffc4d1|#000000|#000000",
+ "Gateways" : "#ccaea0|#330600|#000000",
+ "Tasks" : "#f3df8c|#000000|#000000",
+ "Subprocesses" : "#fafad2|#000000|#000000",
+ "Service Tasks" : "#f3df8c|#000000|#000000",
+ "Data Objects" : "#C0C0C0|#000000|#000000",
+ "Swimlanes" : "#ffffff|#000000|#000000",
+ "Artifacts" : "#ffffff|#000000|#000000",
+ "Connecting Objects" : "#000000|#000000|#000000"
+ }
+ }
+}
diff --git a/package-names-white-list b/package-names-white-list
new file mode 100644
index 00000000..e69de29b
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..c3c51c34
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,95 @@
+
+
+ 4.0.0
+ com.myspace
+ sample-analytics
+ 1.0.0-SNAPSHOT
+ kjar
+ sample-analytics
+
+
+
+ com.thoughtworks.xstream
+ xstream
+ 1.4.10
+ test
+
+
+ org.kie
+ kie-internal
+ 7.18.0.Final-redhat-00002
+ provided
+
+
+ org.optaplanner
+ optaplanner-core
+ 7.18.0.Final-redhat-00002
+ provided
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.optaplanner
+ optaplanner-persistence-jaxb
+ 7.18.0.Final-redhat-00002
+ provided
+
+
+ org.kie
+ kie-api
+ 7.18.0.Final-redhat-00002
+ provided
+
+
+ org.drools
+ drools-wb-scenario-simulation-editor-api
+ 7.18.0.Final-redhat-00002
+ test
+
+
+ org.drools
+ drools-wb-scenario-simulation-editor-backend
+ 7.18.0.Final-redhat-00002
+ test
+
+
+ org.drools
+ drools-compiler
+ 7.18.0.Final-redhat-00002
+ test
+
+
+ org.kie
+ kie-dmn-feel
+ 7.18.0.Final-redhat-00002
+ test
+
+
+ org.kie
+ kie-dmn-api
+ 7.18.0.Final-redhat-00002
+ test
+
+
+ org.kie
+ kie-dmn-core
+ 7.18.0.Final-redhat-00002
+ test
+
+
+
+
+
+ org.kie
+ kie-maven-plugin
+ 7.18.0.Final-redhat-00002
+ true
+
+
+
+
diff --git a/project.imports b/project.imports
new file mode 100644
index 00000000..9bcee21a
--- /dev/null
+++ b/project.imports
@@ -0,0 +1,31 @@
+
+
+
+
+ java.lang.Number
+
+
+ java.lang.Boolean
+
+
+ java.lang.String
+
+
+ java.lang.Integer
+
+
+ java.lang.Double
+
+
+ java.util.List
+
+
+ java.util.Collection
+
+
+ java.util.ArrayList
+
+
+
+ 1.0
+
\ No newline at end of file
diff --git a/project.repositories b/project.repositories
new file mode 100644
index 00000000..c8da00ec
--- /dev/null
+++ b/project.repositories
@@ -0,0 +1,20 @@
+
+
+
+ true
+
+ central
+ https://repo1.maven.org/maven2
+ SETTINGS
+
+
+
+ true
+
+ local
+ /home/jboss/.m2/repository
+ LOCAL
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/.gitkeep b/src/main/java/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/.gitkeep b/src/main/java/com/myspace/sample_analytics/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/decisiontable/.gitkeep b/src/main/java/com/myspace/sample_analytics/decisiontable/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/pojo/.gitkeep b/src/main/java/com/myspace/sample_analytics/pojo/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/pojo/input/.gitkeep b/src/main/java/com/myspace/sample_analytics/pojo/input/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/pojo/input/InputDataModel.java b/src/main/java/com/myspace/sample_analytics/pojo/input/InputDataModel.java
new file mode 100644
index 00000000..18e29b88
--- /dev/null
+++ b/src/main/java/com/myspace/sample_analytics/pojo/input/InputDataModel.java
@@ -0,0 +1,82 @@
+package com.myspace.sample_analytics.pojo.input;
+
+/**
+ * This class was automatically generated by the data modeler tool.
+ */
+
+@javax.persistence.Entity
+public class InputDataModel implements java.io.Serializable {
+
+ static final long serialVersionUID = 1L;
+
+ @javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.AUTO, generator = "INPUTDATAMODEL_ID_GENERATOR")
+ @javax.persistence.Id
+ @javax.persistence.SequenceGenerator(sequenceName = "INPUTDATAMODEL_ID_SEQ", name = "INPUTDATAMODEL_ID_GENERATOR")
+ private java.lang.Long id;
+
+ @org.kie.api.definition.type.Label(value = "Customer ID")
+ private java.lang.String customerId;
+
+ @org.kie.api.definition.type.Label(value = "Source payload file name")
+ private java.lang.String fileName;
+
+ @org.kie.api.definition.type.Label(value = "Number of hosts found")
+ private java.lang.Integer numberOfHosts;
+
+ @org.kie.api.definition.type.Label(value = "Total disk space used found ")
+ private java.lang.Long totalDiskSpace;
+
+ public InputDataModel() {
+ }
+
+ public java.lang.Long getId() {
+ return this.id;
+ }
+
+ public void setId(java.lang.Long id) {
+ this.id = id;
+ }
+
+ public java.lang.String getCustomerId() {
+ return this.customerId;
+ }
+
+ public void setCustomerId(java.lang.String customerId) {
+ this.customerId = customerId;
+ }
+
+ public java.lang.String getFileName() {
+ return this.fileName;
+ }
+
+ public void setFileName(java.lang.String fileName) {
+ this.fileName = fileName;
+ }
+
+ public java.lang.Integer getNumberOfHosts() {
+ return this.numberOfHosts;
+ }
+
+ public void setNumberOfHosts(java.lang.Integer numberOfHosts) {
+ this.numberOfHosts = numberOfHosts;
+ }
+
+ public java.lang.Long getTotalDiskSpace() {
+ return this.totalDiskSpace;
+ }
+
+ public void setTotalDiskSpace(java.lang.Long totalDiskSpace) {
+ this.totalDiskSpace = totalDiskSpace;
+ }
+
+ public InputDataModel(java.lang.Long id, java.lang.String customerId,
+ java.lang.String fileName, java.lang.Integer numberOfHosts,
+ java.lang.Long totalDiskSpace) {
+ this.id = id;
+ this.customerId = customerId;
+ this.fileName = fileName;
+ this.numberOfHosts = numberOfHosts;
+ this.totalDiskSpace = totalDiskSpace;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/myspace/sample_analytics/pojo/output/.gitkeep b/src/main/java/com/myspace/sample_analytics/pojo/output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/pojo/output/ReportDataModel.java b/src/main/java/com/myspace/sample_analytics/pojo/output/ReportDataModel.java
new file mode 100644
index 00000000..87f89bd9
--- /dev/null
+++ b/src/main/java/com/myspace/sample_analytics/pojo/output/ReportDataModel.java
@@ -0,0 +1,107 @@
+package com.myspace.sample_analytics.pojo.output;
+
+/**
+ * This class was automatically generated by the data modeler tool.
+ */
+
+@javax.persistence.Entity
+public class ReportDataModel implements java.io.Serializable {
+
+ static final long serialVersionUID = 1L;
+
+ @javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.AUTO, generator = "INPUTDATAMODEL_ID_GENERATOR")
+ @javax.persistence.Id
+ @javax.persistence.SequenceGenerator(sequenceName = "INPUTDATAMODEL_ID_SEQ", name = "INPUTDATAMODEL_ID_GENERATOR")
+ private java.lang.Long id;
+
+ @org.kie.api.definition.type.Label("Customer ID")
+ private java.lang.String customerId;
+
+ @org.kie.api.definition.type.Label("Source payload file name")
+ private java.lang.String fileName;
+
+ @org.kie.api.definition.type.Label("Number of hosts found")
+ private java.lang.Integer numberOfHosts;
+
+ @org.kie.api.definition.type.Label("Total disk space used found ")
+ private java.lang.Long totalDiskSpace;
+
+ @org.kie.api.definition.type.Label("Total price for subscriptions once migrated")
+ private java.lang.Integer totalPrice;
+
+ @org.kie.api.definition.type.Label(value = "Date of creation")
+ private java.util.Date creationDate;
+
+ public ReportDataModel() {
+ }
+
+ public java.lang.Long getId() {
+ return this.id;
+ }
+
+ public void setId(java.lang.Long id) {
+ this.id = id;
+ }
+
+ public java.lang.String getCustomerId() {
+ return this.customerId;
+ }
+
+ public void setCustomerId(java.lang.String customerId) {
+ this.customerId = customerId;
+ }
+
+ public java.lang.String getFileName() {
+ return this.fileName;
+ }
+
+ public void setFileName(java.lang.String fileName) {
+ this.fileName = fileName;
+ }
+
+ public java.lang.Integer getNumberOfHosts() {
+ return this.numberOfHosts;
+ }
+
+ public void setNumberOfHosts(java.lang.Integer numberOfHosts) {
+ this.numberOfHosts = numberOfHosts;
+ }
+
+ public java.lang.Long getTotalDiskSpace() {
+ return this.totalDiskSpace;
+ }
+
+ public void setTotalDiskSpace(java.lang.Long totalDiskSpace) {
+ this.totalDiskSpace = totalDiskSpace;
+ }
+
+ public java.lang.Integer getTotalPrice() {
+ return this.totalPrice;
+ }
+
+ public void setTotalPrice(java.lang.Integer totalPrice) {
+ this.totalPrice = totalPrice;
+ }
+
+ public java.util.Date getCreationDate() {
+ return this.creationDate;
+ }
+
+ public void setCreationDate(java.util.Date creationDate) {
+ this.creationDate = creationDate;
+ }
+
+ public ReportDataModel(java.lang.Long id, java.lang.String customerId,
+ java.lang.String fileName, java.lang.Integer numberOfHosts,
+ java.lang.Long totalDiskSpace, java.lang.Integer totalPrice,
+ java.util.Date creationDate) {
+ this.id = id;
+ this.customerId = customerId;
+ this.fileName = fileName;
+ this.numberOfHosts = numberOfHosts;
+ this.totalDiskSpace = totalDiskSpace;
+ this.totalPrice = totalPrice;
+ this.creationDate = creationDate;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/myspace/sample_analytics/rules/.gitkeep b/src/main/java/com/myspace/sample_analytics/rules/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/java/com/myspace/sample_analytics/test/.gitkeep b/src/main/java/com/myspace/sample_analytics/test/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/.gitkeep b/src/main/resources/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/META-INF/kie-deployment-descriptor.xml b/src/main/resources/META-INF/kie-deployment-descriptor.xml
new file mode 100644
index 00000000..4454be12
--- /dev/null
+++ b/src/main/resources/META-INF/kie-deployment-descriptor.xml
@@ -0,0 +1,18 @@
+
+
+ org.jbpm.domain
+ org.jbpm.domain
+ JPA
+ JPA
+ SINGLETON
+
+
+
+
+
+
+
+
+
+ true
+
diff --git a/src/main/resources/META-INF/kmodule.xml b/src/main/resources/META-INF/kmodule.xml
new file mode 100644
index 00000000..509b3cc1
--- /dev/null
+++ b/src/main/resources/META-INF/kmodule.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 00000000..fda3021d
--- /dev/null
+++ b/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,18 @@
+
+
+
+ org.hibernate.jpa.HibernatePersistenceProvider
+ java:jboss/datasources/ExampleDS
+ com.myspace.sample_analytics.pojo.input.InputDataModel
+ com.myspace.sample_analytics.pojo.output.ReportDataModel
+ true
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/com/myspace/sample_analytics/.gitkeep b/src/main/resources/com/myspace/sample_analytics/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/com/myspace/sample_analytics/decisiontable/.gitkeep b/src/main/resources/com/myspace/sample_analytics/decisiontable/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/com/myspace/sample_analytics/pojo/.gitkeep b/src/main/resources/com/myspace/sample_analytics/pojo/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/com/myspace/sample_analytics/pojo/input/.gitkeep b/src/main/resources/com/myspace/sample_analytics/pojo/input/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/com/myspace/sample_analytics/pojo/output/.gitkeep b/src/main/resources/com/myspace/sample_analytics/pojo/output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/com/myspace/sample_analytics/rules/.gitkeep b/src/main/resources/com/myspace/sample_analytics/rules/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/main/resources/com/myspace/sample_analytics/rules/GetReport.drl b/src/main/resources/com/myspace/sample_analytics/rules/GetReport.drl
new file mode 100644
index 00000000..0c054e21
--- /dev/null
+++ b/src/main/resources/com/myspace/sample_analytics/rules/GetReport.drl
@@ -0,0 +1,2 @@
+package com.myspace.sample_analytics.rules;
+
diff --git a/src/main/resources/com/myspace/sample_analytics/rules/GetReports.drl b/src/main/resources/com/myspace/sample_analytics/rules/GetReports.drl
new file mode 100644
index 00000000..812934fa
--- /dev/null
+++ b/src/main/resources/com/myspace/sample_analytics/rules/GetReports.drl
@@ -0,0 +1,5 @@
+package com.myspace.sample_analytics.rules;
+
+query "get reports"()
+ report : com.myspace.sample_analytics.pojo.output.ReportDataModel()
+end
\ No newline at end of file
diff --git a/src/main/resources/com/myspace/sample_analytics/rules/PricingGuidedRule.rdrl b/src/main/resources/com/myspace/sample_analytics/rules/PricingGuidedRule.rdrl
new file mode 100644
index 00000000..340c7546
--- /dev/null
+++ b/src/main/resources/com/myspace/sample_analytics/rules/PricingGuidedRule.rdrl
@@ -0,0 +1,23 @@
+package com.myspace.sample_analytics.rules;
+
+import java.lang.Number;
+import com.myspace.sample_analytics.pojo.input.InputDataModel;
+import com.myspace.sample_analytics.pojo.output.ReportDataModel;
+import java.util.Date;
+
+rule "PricingGuidedRule"
+ dialect "mvel"
+ when
+ input : InputDataModel( customerId != null )
+ then
+ java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MMM-yyyy");
+ ReportDataModel report = new ReportDataModel();
+ report.setCustomerId( input.getCustomerId() );
+ report.setNumberOfHosts( input.getNumberOfHosts() );
+ report.setTotalPrice( input.getNumberOfHosts() * 42 );
+ report.setFileName( input.getFileName() );
+ report.setTotalDiskSpace( input.getTotalDiskSpace() );
+ report.setCreationDate( new Date() );
+ insert( report );
+ System.out.println("********** HelloRules DRL Report: " + report.getTotalPrice() + " **********");
+end
diff --git a/src/main/resources/com/myspace/sample_analytics/test/.gitkeep b/src/main/resources/com/myspace/sample_analytics/test/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/.gitkeep b/src/test/java/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/.gitkeep b/src/test/java/com/myspace/sample_analytics/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/decisiontable/.gitkeep b/src/test/java/com/myspace/sample_analytics/decisiontable/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/pojo/.gitkeep b/src/test/java/com/myspace/sample_analytics/pojo/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/pojo/input/.gitkeep b/src/test/java/com/myspace/sample_analytics/pojo/input/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/pojo/output/.gitkeep b/src/test/java/com/myspace/sample_analytics/pojo/output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/rules/.gitkeep b/src/test/java/com/myspace/sample_analytics/rules/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/com/myspace/sample_analytics/test/.gitkeep b/src/test/java/com/myspace/sample_analytics/test/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/java/testscenario/ScenarioJunitActivatorTest.java b/src/test/java/testscenario/ScenarioJunitActivatorTest.java
new file mode 100644
index 00000000..958dc758
--- /dev/null
+++ b/src/test/java/testscenario/ScenarioJunitActivatorTest.java
@@ -0,0 +1,7 @@
+package testscenario;
+/**
+* Do not remove this file
+*/
+@org.junit.runner.RunWith(org.drools.workbench.screens.scenariosimulation.backend.server.runner.ScenarioJunitActivator.class)
+public class ScenarioJunitActivatorTest {
+}
\ No newline at end of file
diff --git a/src/test/resources/.gitkeep b/src/test/resources/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/.gitkeep b/src/test/resources/com/myspace/sample_analytics/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/decisiontable/.gitkeep b/src/test/resources/com/myspace/sample_analytics/decisiontable/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/pojo/.gitkeep b/src/test/resources/com/myspace/sample_analytics/pojo/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/pojo/input/.gitkeep b/src/test/resources/com/myspace/sample_analytics/pojo/input/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/pojo/output/.gitkeep b/src/test/resources/com/myspace/sample_analytics/pojo/output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/rules/.gitkeep b/src/test/resources/com/myspace/sample_analytics/rules/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/test/.gitkeep b/src/test/resources/com/myspace/sample_analytics/test/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/test/resources/com/myspace/sample_analytics/test/PricingTest.scesim b/src/test/resources/com/myspace/sample_analytics/test/PricingTest.scesim
new file mode 100644
index 00000000..72cdad35
--- /dev/null
+++ b/src/test/resources/com/myspace/sample_analytics/test/PricingTest.scesim
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+ Index
+ OTHER
+
+
+ #
+ java.lang.Integer
+
+ java.lang.Integer
+ #
+
+
+
+
+ Description
+ OTHER
+
+
+ Scenario description
+ java.lang.String
+
+ java.lang.String
+ Scenario description
+
+
+
+
+ InputDataModel
+
+
+ customerId
+
+
+
+ 0|1
+ GIVEN
+
+
+ 0|1
+ com.myspace.sample_analytics.pojo.input.InputDataModel
+
+ java.lang.String
+ InputDataModel
+ customerId
+
+
+
+
+ InputDataModel
+
+
+ numberOfHosts
+
+
+
+ 1556635589011
+ GIVEN
+
+
+ java.lang.Integer
+ InputDataModel
+ numberOfHosts
+
+
+
+
+ ReportDataModel
+
+
+ customerId
+
+
+
+ 0|2
+ EXPECT
+
+
+ 0|2
+ com.myspace.sample_analytics.pojo.output.ReportDataModel
+
+ java.lang.String
+ ReportDataModel
+ customerId
+
+
+
+
+ ReportDataModel
+
+
+ numberOfHosts
+
+
+
+ 1556639422502
+ EXPECT
+
+
+ java.lang.Integer
+ ReportDataModel
+ numberOfHosts
+
+
+
+
+ ReportDataModel
+
+
+ totalPrice
+
+
+
+ 1556639439382
+ EXPECT
+
+
+ java.lang.Integer
+ ReportDataModel
+ totalPrice
+
+
+ default
+ RULE
+
+
+
+
+
+
+
+ S size project
+
+
+
+
+ 1
+
+
+
+
+ 123456
+
+
+
+
+ 123456
+
+
+
+
+ 10
+
+
+
+
+ 10
+
+
+
+
+ 420
+
+
+
+
+
+
+
+
+
+ com.myspace.sample_analytics.pojo.input.InputDataModel
+
+
+ com.myspace.sample_analytics.pojo.output.ReportDataModel
+
+
+
+
\ No newline at end of file