Skip to content

Commit 0f83043

Browse files
KrisVerlaenenKrisVerlaenen
KrisVerlaenen
authored and
KrisVerlaenen
committed
JBRULES-1730: Add support for other data types when writing processes to XML
- pluggable data types support git-svn-id: http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk@21499 c60d74c8-e8f6-0310-9e8f-d4a2fc68ab70
1 parent d2f3ddd commit 0f83043

File tree

4 files changed

+99
-46
lines changed

4 files changed

+99
-46
lines changed
+13-21
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
<classpath>
2-
<classpathentry kind="src" path="src/main/java"/>
3-
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
4-
<classpathentry kind="src" path="src/main/rules" excluding="**/*.java"/>
5-
<classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
6-
<classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
7-
<classpathentry kind="output" path="target/classes"/>
8-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
9-
<classpathentry kind="var" path="M2_REPO/com/jgoodies/forms/1.0.7/forms-1.0.7.jar"/>
10-
<classpathentry kind="var" path="M2_REPO/org/drools/drools-templates/5.0.0.SNAPSHOT/drools-templates-5.0.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-templates/5.0.0.SNAPSHOT/drools-templates-5.0.0.SNAPSHOT-sources.jar"/>
11-
<classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
12-
<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
13-
<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
14-
<classpathentry kind="var" path="M2_REPO/org/drools/drools-decisiontables/5.0.0.SNAPSHOT/drools-decisiontables-5.0.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-decisiontables/5.0.0.SNAPSHOT/drools-decisiontables-5.0.0.SNAPSHOT-sources.jar"/>
15-
<classpathentry kind="var" path="M2_REPO/foxtrot/foxtrot/2.0/foxtrot-2.0.jar"/>
16-
<classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-dp4/mvel-2.0-dp4.jar"/>
17-
<classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/5.0.0.SNAPSHOT/drools-compiler-5.0.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-compiler/5.0.0.SNAPSHOT/drools-compiler-5.0.0.SNAPSHOT-sources.jar"/>
18-
<classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.0.0.SNAPSHOT/drools-core-5.0.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/5.0.0.SNAPSHOT/drools-core-5.0.0.SNAPSHOT-sources.jar"/>
19-
<classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
20-
<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
21-
</classpath>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" path="src/main/java"/>
4+
<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
5+
<classpathentry excluding="**/*.java" kind="src" path="src/main/rules"/>
6+
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
7+
<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
8+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
9+
<classpathentry kind="lib" path="lib/foxtrot-2.0.jar"/>
10+
<classpathentry kind="lib" path="lib/jgoodies-forms-1.0.4.jar"/>
11+
<classpathentry kind="con" path="DROOLS/Drools"/>
12+
<classpathentry kind="output" path="target/classes"/>
13+
</classpath>

drools-examples/drools-examples-drl/src/main/resources/META-INF/OrderWorkDefinitions.conf

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// The allowed properties are name, parameters, displayName, icon and customEditor
44
// The returned result should thus be of type List<Map<String, Object>>
55
import org.drools.process.core.datatype.impl.type.StringDataType;
6-
import org.drools.process.core.datatype.impl.type.DateDataType;
76

87
[
98

drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/RuleSetExample.rf

+62-18
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,20 @@
2727
<nodes>
2828
<humanTask id="17" name="Verify Order" x="73" y="505" width="114" height="40" swimlane="SalesRepresentative" >
2929
<work name="Human Task" >
30-
<parameter name="Priority" type="org.drools.process.core.datatype.impl.type.StringDataType" />
31-
<parameter name="TaskName" type="org.drools.process.core.datatype.impl.type.StringDataType" >Verify Order</parameter>
32-
<parameter name="Comment" type="org.drools.process.core.datatype.impl.type.StringDataType" >#{order} has been shipped, verify that it reaches its destination correctly</parameter>
33-
<parameter name="ActorId" type="org.drools.process.core.datatype.impl.type.StringDataType" />
30+
<parameter name="Priority" >
31+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
32+
</parameter>
33+
<parameter name="TaskName" >
34+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
35+
<value>Verify Order</value>
36+
</parameter>
37+
<parameter name="Comment" >
38+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
39+
<value>#{order} has been shipped, verify that it reaches its destination correctly</value>
40+
</parameter>
41+
<parameter name="ActorId" >
42+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
43+
</parameter>
3444
</work>
3545
</humanTask>
3646
<start id="1" name="Start" x="88" y="16" width="80" height="40" />
@@ -48,38 +58,72 @@
4858
<end id="8" name="End" x="90" y="565" width="80" height="40" />
4959
<humanTask id="9" name="Correct Order" x="185" y="104" width="96" height="40" swimlane="SalesRepresentative" >
5060
<work name="Human Task" >
51-
<parameter name="Priority" type="org.drools.process.core.datatype.impl.type.StringDataType" />
52-
<parameter name="TaskName" type="org.drools.process.core.datatype.impl.type.StringDataType" >Correct Order</parameter>
53-
<parameter name="Comment" type="org.drools.process.core.datatype.impl.type.StringDataType" >Invalid #{order}, needs to be corrected (contact customer if necessary)</parameter>
54-
<parameter name="ActorId" type="org.drools.process.core.datatype.impl.type.StringDataType" />
61+
<parameter name="Priority" >
62+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
63+
</parameter>
64+
<parameter name="TaskName" >
65+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
66+
<value>Correct Order</value>
67+
</parameter>
68+
<parameter name="Comment" >
69+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
70+
<value>Invalid #{order}, needs to be corrected (contact customer if necessary)</value>
71+
</parameter>
72+
<parameter name="ActorId" >
73+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
74+
</parameter>
5575
</work>
5676
</humanTask>
5777
<humanTask id="10" name="Follow-up Order" x="8" y="204" width="106" height="40" swimlane="SalesRepresentative" >
5878
<work name="Human Task" >
59-
<parameter name="Priority" type="org.drools.process.core.datatype.impl.type.StringDataType" />
60-
<parameter name="TaskName" type="org.drools.process.core.datatype.impl.type.StringDataType" >Follow-up Order</parameter>
61-
<parameter name="Comment" type="org.drools.process.core.datatype.impl.type.StringDataType" >#{order} is a large order, follow up manually</parameter>
62-
<parameter name="ActorId" type="org.drools.process.core.datatype.impl.type.StringDataType" />
79+
<parameter name="Priority" >
80+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
81+
</parameter>
82+
<parameter name="TaskName" >
83+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
84+
<value>Follow-up Order</value>
85+
</parameter>
86+
<parameter name="Comment" >
87+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
88+
<value>#{order} is a large order, follow up manually</value>
89+
</parameter>
90+
<parameter name="ActorId" >
91+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
92+
</parameter>
6393
</work>
6494
</humanTask>
6595
<workItem id="12" name="Email" x="89" y="441" width="80" height="40" >
6696
<work name="Email" >
67-
<parameter name="Text" type="org.drools.process.core.datatype.impl.type.StringDataType" >Dear customer,
97+
<parameter name="Text" >
98+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
99+
<value>Dear customer,
68100

69101
#{order} is being shipped.
70102
You can track your shipment at our website using tracking id #{trackingId}.
71103

72104
John Johnsson,
73105
Sales departement manager
74-
MyCompany.com</parameter>
75-
<parameter name="To" type="org.drools.process.core.datatype.impl.type.StringDataType" >#{email}</parameter>
76-
<parameter name="Subject" type="org.drools.process.core.datatype.impl.type.StringDataType" >#{order}</parameter>
77-
<parameter name="From" type="org.drools.process.core.datatype.impl.type.StringDataType" >[email protected]</parameter>
106+
MyCompany.com</value>
107+
</parameter>
108+
<parameter name="To" >
109+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
110+
<value>#{email}</value>
111+
</parameter>
112+
<parameter name="Subject" >
113+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
114+
<value>#{order}</value>
115+
</parameter>
116+
<parameter name="From" >
117+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
118+
<value>[email protected]</value>
119+
</parameter>
78120
</work>
79121
</workItem>
80122
<workItem id="13" name="Shipping" x="88" y="376" width="80" height="40" >
81123
<work name="Shipping" >
82-
<parameter name="orderId" type="org.drools.process.core.datatype.impl.type.StringDataType" />
124+
<parameter name="orderId" >
125+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
126+
</parameter>
83127
</work>
84128
<mapping type="in" from="order" to="order" />
85129
<mapping type="out" from="trackingId" to="trackingId" />

drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ruleflow/workitems.rf

+24-6
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,39 @@
1212
<split id="2" name="Split" x="120" y="100" width="80" height="40" type="1" />
1313
<workItem id="3" name="Log" x="232" y="61" width="80" height="40" >
1414
<work name="Log" >
15-
<parameter name="Message" type="org.drools.process.core.datatype.impl.type.StringDataType" >This is the first log message</parameter>
15+
<parameter name="Message" >
16+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
17+
<value>This is the first log message</value>
18+
</parameter>
1619
</work>
1720
</workItem>
1821
<workItem id="4" name="Email" x="231" y="139" width="80" height="40" >
1922
<work name="Email" >
20-
<parameter name="From" type="org.drools.process.core.datatype.impl.type.StringDataType" >[email protected]</parameter>
21-
<parameter name="Subject" type="org.drools.process.core.datatype.impl.type.StringDataType" >Urgent!</parameter>
22-
<parameter name="To" type="org.drools.process.core.datatype.impl.type.StringDataType" >[email protected]</parameter>
23-
<parameter name="Text" type="org.drools.process.core.datatype.impl.type.StringDataType" >This is an urgent email !</parameter>
23+
<parameter name="From" >
24+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
25+
<value>[email protected]</value>
26+
</parameter>
27+
<parameter name="Subject" >
28+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
29+
<value>Urgent!</value>
30+
</parameter>
31+
<parameter name="To" >
32+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
33+
<value>[email protected]</value>
34+
</parameter>
35+
<parameter name="Text" >
36+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
37+
<value>This is an urgent email !</value>
38+
</parameter>
2439
</work>
2540
</workItem>
2641
<join id="5" name="Join" x="333" y="99" width="80" height="40" type="1" />
2742
<workItem id="6" name="Log" x="435" y="97" width="80" height="40" >
2843
<work name="Log" >
29-
<parameter name="Message" type="org.drools.process.core.datatype.impl.type.StringDataType" >This is the second log message</parameter>
44+
<parameter name="Message" >
45+
<type name="org.drools.process.core.datatype.impl.type.StringDataType" />
46+
<value>This is the second log message</value>
47+
</parameter>
3048
</work>
3149
</workItem>
3250
<end id="7" name="End" x="538" y="95" width="80" height="40" />

0 commit comments

Comments
 (0)