[jboss-svn-commits] JBL Code SVN: r17184 - in labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/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:13:12 EST 2007
Author: fmeyer
Date: 2007-12-11 11:13:12 -0500 (Tue, 11 Dec 2007)
New Revision: 17184
Added:
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/resources/rules/MultiSheetDST.xls
Modified:
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java
Log:
JBRULES-1350 Support for decision tables in drools-ant
Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath 2007-12-11 15:50:56 UTC (rev 17183)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath 2007-12-11 16:13:12 UTC (rev 17184)
@@ -4,18 +4,20 @@
<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="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.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/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.8/mvel14-1.2.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.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/drools/drools-compiler/4.0.2.SNAPSHOT/drools-compiler-4.0.2.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-compiler/4.0.2.SNAPSHOT/drools-compiler-4.0.2.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-decisiontables/4.0.2.SNAPSHOT/drools-decisiontables-4.0.2.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-decisiontables/4.0.2.SNAPSHOT/drools-decisiontables-4.0.2.SNAPSHOT-sources.jar"/>
<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="src" path="/drools-core"/>
- <classpathentry kind="src" path="/drools-analytics"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.8/mvel14-1.2.8.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/4.0.2.SNAPSHOT/drools-core-4.0.2.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/4.0.2.SNAPSHOT/drools-core-4.0.2.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-analytics/4.0.2.SNAPSHOT/drools-analytics-4.0.2.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-analytics/4.0.2.SNAPSHOT/drools-analytics-4.0.2.SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
- <classpathentry kind="src" path="/drools-compiler"/>
+ <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
</classpath>
\ No newline at end of file
Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project 2007-12-11 15:50:56 UTC (rev 17183)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project 2007-12-11 16:13:12 UTC (rev 17184)
@@ -1,11 +1,7 @@
<projectDescription>
<name>drools-ant</name>
<comment>A rule production system</comment>
- <projects>
- <project>drools-core</project>
- <project>drools-analytics</project>
- <project>drools-compiler</project>
- </projects>
+ <projects/>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml 2007-12-11 15:50:56 UTC (rev 17183)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml 2007-12-11 16:13:12 UTC (rev 17184)
@@ -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/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java 2007-12-11 15:50:56 UTC (rev 17183)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsAnalyticsAntTask.java 2007-12-11 16:13:12 UTC (rev 17184)
@@ -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/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java 2007-12-11 15:50:56 UTC (rev 17183)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java 2007-12-11 16:13:12 UTC (rev 17184)
@@ -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;
@@ -206,8 +198,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)) {
@@ -223,15 +216,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/Branch_4_0_2_SOA_4_2/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java 2007-12-11 15:50:56 UTC (rev 17183)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/java/org/drools/contrib/BuildFileTest.java 2007-12-11 16:13:12 UTC (rev 17184)
@@ -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/Branch_4_0_2_SOA_4_2/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