[jboss-svn-commits] JBL Code SVN: r25549 - in labs/jbossrules/trunk/drools-ant/src: test/java/org/drools/contrib and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 9 05:39:42 EDT 2009
Author: Rikkola
Date: 2009-03-09 05:39:42 -0400 (Mon, 09 Mar 2009)
New Revision: 25549
Added:
labs/jbossrules/trunk/drools-ant/src/test/resources/ruleFlow/
labs/jbossrules/trunk/drools-ant/src/test/resources/ruleFlow/workitems.rf
Modified:
labs/jbossrules/trunk/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
labs/jbossrules/trunk/drools-ant/src/test/java/org/drools/contrib/DroolsAntTaskTest.java
labs/jbossrules/trunk/drools-ant/src/test/resources/DroolsAntTask.xml
Log:
JBRULES-1822 : Allow for compilation of ruleflow files with *.rf extension.
Modified: labs/jbossrules/trunk/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
===================================================================
--- labs/jbossrules/trunk/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java 2009-03-09 08:42:24 UTC (rev 25548)
+++ labs/jbossrules/trunk/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java 2009-03-09 09:39:42 UTC (rev 25549)
@@ -72,15 +72,16 @@
*/
public class DroolsCompilerAntTask extends MatchingTask {
- public static String BRLFILEEXTENSION = ".brl";
- public static String XMLFILEEXTENSION = ".xml";
- public static String RULEFLOWFILEEXTENSION = ".rfm";
- public static String DSLFILEEXTENSION = ".dsl";
- public static String DSLRFILEEXTENSION = ".dslr";
- public static String XLSFILEEXTENSION = ".xls";
+ public static String BRLFILEEXTENSION = ".brl";
+ public static String XMLFILEEXTENSION = ".xml";
+ public static String RULEFLOWMODELFILEEXTENSION = ".rfm";
+ public static String RULEFLOWFILEEXTENSION = ".rf";
+ public static String DSLFILEEXTENSION = ".dsl";
+ public static String DSLRFILEEXTENSION = ".dslr";
+ public static String XLSFILEEXTENSION = ".xls";
- public static String PACKAGEBINFORMAT = "package";
- public static String PACKAGEBINTYPE = "knowledge";
+ public static String PACKAGEBINFORMAT = "package";
+ public static String PACKAGEBINTYPE = "knowledge";
private File srcdir;
private File toFile;
@@ -302,7 +303,7 @@
kbuilder.add( ResourceFactory.newReaderResource( instream ),
ResourceType.DRL );
- } else if ( fileName.endsWith( DroolsCompilerAntTask.RULEFLOWFILEEXTENSION ) ) {
+ } else if ( fileName.endsWith( DroolsCompilerAntTask.RULEFLOWMODELFILEEXTENSION ) || fileName.endsWith( DroolsCompilerAntTask.RULEFLOWFILEEXTENSION ) ) {
kbuilder.add( ResourceFactory.newReaderResource( fileReader ),
ResourceType.DRF );
@@ -375,7 +376,7 @@
instream = new InputStreamReader( new FileInputStream( file ) );
}
- if ( fileName.endsWith( DroolsCompilerAntTask.RULEFLOWFILEEXTENSION ) ) {
+ if ( fileName.endsWith( DroolsCompilerAntTask.RULEFLOWMODELFILEEXTENSION ) || fileName.endsWith( DroolsCompilerAntTask.RULEFLOWFILEEXTENSION ) ) {
builder.addRuleFlow( instream );
} else if ( fileName.endsWith( DroolsCompilerAntTask.XMLFILEEXTENSION ) ) {
builder.addPackageFromXml( instream );
Modified: labs/jbossrules/trunk/drools-ant/src/test/java/org/drools/contrib/DroolsAntTaskTest.java
===================================================================
--- labs/jbossrules/trunk/drools-ant/src/test/java/org/drools/contrib/DroolsAntTaskTest.java 2009-03-09 08:42:24 UTC (rev 25548)
+++ labs/jbossrules/trunk/drools-ant/src/test/java/org/drools/contrib/DroolsAntTaskTest.java 2009-03-09 09:39:42 UTC (rev 25549)
@@ -112,6 +112,38 @@
kbase.getKnowledgePackages().size() );
}
+ public void testRuleFlow() throws IOException,
+ ClassNotFoundException {
+ try {
+ executeTarget( "ruleFlow" );
+ } catch ( Exception e ) {
+ e.printStackTrace();
+ Assert.fail( "Should not throw any exception: " + e.getMessage() );
+ }
+
+ RuleBase r1 = (RuleBase) DroolsStreamUtils.streamIn( new FileInputStream( "target/ruleFlow.rules" ) );
+
+ assertNotNull( r1 );
+ assertEquals( 1,
+ r1.getPackages().length );
+ }
+
+ public void testRuleFlowKnowledge() throws IOException,
+ ClassNotFoundException {
+ try {
+ executeTarget( "ruleFlowKnowledge" );
+ } catch ( Exception e ) {
+ e.printStackTrace();
+ Assert.fail( "Should not throw any exception: " + e.getMessage() );
+ }
+
+ KnowledgeBase kbase = (KnowledgeBase) DroolsStreamUtils.streamIn( new FileInputStream( "target/ruleFlow.rules" ) );
+
+ assertNotNull( kbase );
+ assertEquals( 1,
+ kbase.getKnowledgePackages().size() );
+ }
+
public void testNoPackageFile() {
try {
executeTarget( "rulesnopackagefile" );
Modified: labs/jbossrules/trunk/drools-ant/src/test/resources/DroolsAntTask.xml
===================================================================
--- labs/jbossrules/trunk/drools-ant/src/test/resources/DroolsAntTask.xml 2009-03-09 08:42:24 UTC (rev 25548)
+++ labs/jbossrules/trunk/drools-ant/src/test/resources/DroolsAntTask.xml 2009-03-09 09:39:42 UTC (rev 25549)
@@ -1,9 +1,9 @@
<project default="rules">
<!-- Uncomment this for Maven Runner -->
- <property name="eclipsepath" value=""/>
+ <property name="eclipsepath" value=""/>
<!-- Uncomment this for Eclipse Runner -->
- <!--<property name="eclipsepath" value="../../../"/> -->
+ <!--<property name="eclipsepath" value="../../../"/> -->
<path id="cheese.classpath">
<pathelement location="${eclipsepath}lib/cheese.jar"/>
@@ -72,7 +72,26 @@
<include name="*.dslr" />
</compiler>
</target>
+
+ <target name="ruleFlow" >
+ <compiler
+ srcdir="${eclipsepath}src/test/resources/ruleFlow"
+ tofile="${eclipsepath}target/ruleFlow.rules" >
+ <include name="*.drl" />
+ <include name="*.rf" />
+ </compiler>
+ </target>
+ <target name="ruleFlowKnowledge" >
+ <compiler
+ srcdir="${eclipsepath}src/test/resources/ruleFlow"
+ tofile="${eclipsepath}target/ruleFlow.rules"
+ bintype="knowledge" >
+ <include name="*.drl" />
+ <include name="*.rf" />
+ </compiler>
+ </target>
+
<target name="rulesnopackagefile" >
<compiler
srcdir="${eclipsepath}src/test/resources/packagefiletest/emptydir"
Added: labs/jbossrules/trunk/drools-ant/src/test/resources/ruleFlow/workitems.rf
===================================================================
--- labs/jbossrules/trunk/drools-ant/src/test/resources/ruleFlow/workitems.rf (rev 0)
+++ labs/jbossrules/trunk/drools-ant/src/test/resources/ruleFlow/workitems.rf 2009-03-09 09:39:42 UTC (rev 25549)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://drools.org/drools-5.0/process"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
+ type="RuleFlow" name="workitems" id="com.sample.ruleflow" package-name="com.sample" version="1" >
+
+ <header>
+ </header>
+
+ <nodes>
+ <start id="1" name="Start" x="21" y="100" width="80" height="40" />
+ <split id="2" name="Split" x="120" y="100" width="80" height="40" type="1" />
+ <workItem id="3" name="Log" x="232" y="61" width="80" height="40" >
+ <work name="Log" >
+ <parameter name="Message" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value>This is the first log message</value>
+ </parameter>
+ </work>
+ </workItem>
+ <workItem id="4" name="Email" x="231" y="139" width="80" height="40" >
+ <work name="Email" >
+ <parameter name="From" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value>me at mail.com</value>
+ </parameter>
+ <parameter name="Subject" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value>Urgent!</value>
+ </parameter>
+ <parameter name="To" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value>you at mail.com</value>
+ </parameter>
+ <parameter name="Text" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value>This is an urgent email !</value>
+ </parameter>
+ </work>
+ </workItem>
+ <join id="5" name="Join" x="333" y="99" width="80" height="40" type="1" />
+ <workItem id="6" name="Log" x="435" y="97" width="80" height="40" >
+ <work name="Log" >
+ <parameter name="Message" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value>This is the second log message</value>
+ </parameter>
+ </work>
+ </workItem>
+ <end id="7" name="End" x="538" y="95" width="80" height="40" />
+ </nodes>
+
+ <connections>
+ <connection from="1" to="2" />
+ <connection from="2" to="3" />
+ <connection from="2" to="4" />
+ <connection from="4" to="5" />
+ <connection from="3" to="5" />
+ <connection from="5" to="6" />
+ <connection from="6" to="7" />
+ </connections>
+
+</process>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list