[jboss-svn-commits] JBL Code SVN: r17185 - in labs/jbossrules/branches/4.0.x/drools-ant: src/main/java/org/drools/contrib and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 11 11:49:21 EST 2007


Author: fmeyer
Date: 2007-12-11 11:49:21 -0500 (Tue, 11 Dec 2007)
New Revision: 17185

Added:
   labs/jbossrules/branches/4.0.x/drools-ant/src/test/resources/rules/MultiSheetDST.xls
Modified:
   labs/jbossrules/branches/4.0.x/drools-ant/.classpath
   labs/jbossrules/branches/4.0.x/drools-ant/.project
   labs/jbossrules/branches/4.0.x/drools-ant/pom.xml
   labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java
   labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
   labs/jbossrules/branches/4.0.x/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java
Log:
JBRULES-1350 Support for decision tables in drools-ant


Modified: labs/jbossrules/branches/4.0.x/drools-ant/.classpath
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-ant/.classpath	2007-12-11 16:13:12 UTC (rev 17184)
+++ labs/jbossrules/branches/4.0.x/drools-ant/.classpath	2007-12-11 16:49:21 UTC (rev 17185)
@@ -4,18 +4,16 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
+  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar"/>
   <classpathentry kind="var" path="M2_REPO/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="src" path="/drools-analytics"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
   <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.10/mvel14-1.2.10.jar"/>
-  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
-  <classpathentry kind="src" path="/drools-compiler"/>
-  <classpathentry kind="src" path="/drools-core"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-  <classpathentry kind="src" path="/drools-analytics"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
+  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/4.0.x/drools-ant/.project
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-ant/.project	2007-12-11 16:13:12 UTC (rev 17184)
+++ labs/jbossrules/branches/4.0.x/drools-ant/.project	2007-12-11 16:49:21 UTC (rev 17185)
@@ -3,8 +3,8 @@
   <comment>A rule production system</comment>
   <projects>
     <project>drools-compiler</project>
+    <project>drools-analytics</project>
     <project>drools-core</project>
-    <project>drools-analytics</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: labs/jbossrules/branches/4.0.x/drools-ant/pom.xml
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-ant/pom.xml	2007-12-11 16:13:12 UTC (rev 17184)
+++ labs/jbossrules/branches/4.0.x/drools-ant/pom.xml	2007-12-11 16:49:21 UTC (rev 17185)
@@ -34,6 +34,11 @@
     </dependency>
 
     <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-decisiontables</artifactId>
+    </dependency>
+
+    <dependency>
       <groupId>ant</groupId>
       <artifactId>ant</artifactId>
       <version>1.6.5</version>

Modified: labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java	2007-12-11 16:13:12 UTC (rev 17184)
+++ labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java	2007-12-11 16:49:21 UTC (rev 17185)
@@ -16,10 +16,6 @@
 public class DroolsAnalyticsAntTask extends MatchingTask {
 
 	public static final String DRLFILEEXTENSION = ".drl";
-	public static final String BRLFILEEXTENSION = ".brl";
-	public static final String XMLFILEEXTENSION = ".xml";
-	public static final String RULEFLOWFILEEXTENSION = ".rfm";
-	public static final String DSLFILEEXTENSION = ".dslr";
 
 	private File srcdir;
 	private File toFile;

Modified: labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java	2007-12-11 16:13:12 UTC (rev 17184)
+++ labs/jbossrules/branches/4.0.x/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java	2007-12-11 16:49:21 UTC (rev 17185)
@@ -16,19 +16,6 @@
 
 package org.drools.contrib;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.ObjectOutputStream;
-import java.io.Reader;
-import java.io.StringReader;
-
 import org.apache.tools.ant.AntClassLoader;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DirectoryScanner;
@@ -45,11 +32,15 @@
 import org.drools.compiler.DroolsParserException;
 import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.decisiontable.InputType;
+import org.drools.decisiontable.SpreadsheetCompiler;
 import org.drools.lang.Expander;
 import org.drools.lang.dsl.DSLMappingFile;
 import org.drools.lang.dsl.DefaultExpander;
 import org.drools.lang.dsl.DefaultExpanderResolver;
 
+import java.io.*;
+
 /**
  * An ant task to allow rulebase compilation and serialization during a build.
  * 
@@ -61,8 +52,9 @@
 	public static String XMLFILEEXTENSION = ".xml";
 	public static String RULEFLOWFILEEXTENSION = ".rfm";
 	public static String DSLFILEEXTENSION = ".dslr";
+    public static String XLSFILEEXTENSION = ".xls";
 
-	private File srcdir;
+    private File srcdir;
 	private File toFile;
 	private Path classpath;
 
@@ -201,8 +193,9 @@
 	private void compileAndAddFile(PackageBuilder builder, String fileName)
 			throws FileNotFoundException, DroolsParserException, IOException {
 		InputStreamReader instream = null;
+        File file = new File(this.srcdir, fileName);
 
-		try {
+        try {
 
 			if (fileName.endsWith(DroolsCompilerAntTask.BRLFILEEXTENSION)) {
 
@@ -218,15 +211,25 @@
 				instream = new InputStreamReader(istream);
 
 			} else {
-				File file = new File(this.srcdir, fileName);
 				instream = new InputStreamReader(new FileInputStream(file));
 			}
-
-			if (fileName.endsWith(DroolsCompilerAntTask.RULEFLOWFILEEXTENSION)) {
+            
+            if (fileName.endsWith(DroolsCompilerAntTask.RULEFLOWFILEEXTENSION)) {
 				builder.addRuleFlow(instream);
 			} else if (fileName.endsWith(DroolsCompilerAntTask.XMLFILEEXTENSION)) {
 				builder.addPackageFromXml(instream);
-			} else if (fileName.endsWith(DroolsCompilerAntTask.DSLFILEEXTENSION)) {
+            } else if (fileName.equals(DroolsCompilerAntTask.XLSFILEEXTENSION)) {
+
+                final SpreadsheetCompiler converter = new SpreadsheetCompiler();
+                final String drl = converter.compile( new FileInputStream(file),
+                                                      InputType.XLS );
+
+
+                System.out.println(drl);
+
+                builder.addPackageFromDrl(new StringReader(drl));
+
+            } else if (fileName.endsWith(DroolsCompilerAntTask.DSLFILEEXTENSION)) {
 				DrlParser parser = new DrlParser();
 				String expandedDRL = parser.getExpandedDRL(
 						loadResource(fileName), resolveDSLFiles());

Modified: labs/jbossrules/branches/4.0.x/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java	2007-12-11 16:13:12 UTC (rev 17184)
+++ labs/jbossrules/branches/4.0.x/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java	2007-12-11 16:49:21 UTC (rev 17185)
@@ -368,7 +368,6 @@
      * assuming a vm working directory. The resource path must be
      * relative to the package name or absolute from the root path.
      * @param resource the resource to retrieve its url.
-     * @throws AssertionFailureException if resource is not found.
      */
     protected URL getResource(String resource){
         URL url = getClass().getResource(resource);

Copied: labs/jbossrules/branches/4.0.x/drools-ant/src/test/resources/rules/MultiSheetDST.xls (from rev 17138, labs/jbossrules/trunk/drools-ant/src/test/resources/rules/MultiSheetDST.xls)
===================================================================
(Binary files differ)




More information about the jboss-svn-commits mailing list