[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