[jboss-svn-commits] JBL Code SVN: r8752 - in labs/jbossrules/trunk/drools-compiler: . src/main/java/org/drools/semantics/java/builder src/test/java/org/drools/integrationtests src/test/resources/org/drools/integrationtests
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Jan 7 14:35:09 EST 2007
Author: mark.proctor at jboss.com
Date: 2007-01-07 14:35:02 -0500 (Sun, 07 Jan 2007)
New Revision: 8752
Modified:
labs/jbossrules/trunk/drools-compiler/.classpath
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromWithParams.drl
Log:
JBRULES-604 integrate MVEL into JBRules intead of JFDI.
Modified: labs/jbossrules/trunk/drools-compiler/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-compiler/.classpath 2007-01-07 19:34:56 UTC (rev 8751)
+++ labs/jbossrules/trunk/drools-compiler/.classpath 2007-01-07 19:35:02 UTC (rev 8752)
@@ -25,5 +25,6 @@
<classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-jci-core/1.0-406301/commons-jci-core-1.0-406301.jar"/>
<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/drools-core"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/mvel"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java 2007-01-07 19:34:56 UTC (rev 8751)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java 2007-01-07 19:35:02 UTC (rev 8752)
@@ -16,15 +16,8 @@
package org.drools.semantics.java.builder;
-import java.io.IOException;
-
-import org.antlr.runtime.ANTLRStringStream;
-import org.antlr.runtime.CommonTokenStream;
-import org.antlr.runtime.TokenStream;
-import org.codehaus.jfdi.parser.JFDILexer;
-import org.codehaus.jfdi.parser.JFDIParser;
-import org.drools.base.DroolsJFDIFactory;
-import org.drools.base.dataproviders.JFDIDataProvider;
+import org.drools.base.DroolsMVELFactory;
+import org.drools.base.dataproviders.MVELDataProvider;
import org.drools.compiler.RuleError;
import org.drools.lang.descr.AccessorDescr;
import org.drools.lang.descr.BaseDescr;
@@ -33,6 +26,8 @@
import org.drools.rule.ConditionalElement;
import org.drools.rule.From;
import org.drools.spi.DataProvider;
+import org.mvel.CompiledExpression;
+import org.mvel.ExpressionParser;
/**
* A builder for "from" conditional element
@@ -63,14 +58,16 @@
AccessorDescr accessor = (AccessorDescr) fromDescr.getDataSource();
DataProvider dataProvider = null;
try {
- JFDIParser parser = createParser( utils,
- accessor.toString() );
- DroolsJFDIFactory factory = new DroolsJFDIFactory( utils.getTypeResolver() );
+// JFDIParser parser = createParser( utils,
+// accessor.toString() );
+ DroolsMVELFactory factory = new DroolsMVELFactory( );
factory.setDeclarationMap( context.getDeclarationResolver().getDeclarations() );
factory.setGlobalsMap( context.getPkg().getGlobals() );
- parser.setValueHandlerFactory( factory );
+
+ //parser.setValueHandlerFactory( factory );
+ CompiledExpression compiled = (CompiledExpression) ExpressionParser.compileExpression( accessor.toString() );
- dataProvider = new JFDIDataProvider( parser.expr(),
+ dataProvider = new MVELDataProvider( compiled,
factory );
} catch ( final Exception e ) {
context.getErrors().add( new RuleError( context.getRule(),
@@ -83,22 +80,4 @@
return new From( column,
dataProvider );
}
-
- protected JFDIParser createParser(BuildUtils utils,
- String text) throws IOException {
- JFDIParser parser = new JFDIParser( createTokenStream( text ) );
- DroolsJFDIFactory factory = new DroolsJFDIFactory( utils.getTypeResolver() );
- parser.setValueHandlerFactory( factory );
- return parser;
- }
-
- private TokenStream createTokenStream(String text) throws IOException {
- return new CommonTokenStream( createLexer( text ) );
- }
-
- private JFDILexer createLexer(String text) throws IOException {
- JFDILexer lexer = new JFDILexer( new ANTLRStringStream( text ) );
- return lexer;
- }
-
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2007-01-07 19:34:56 UTC (rev 8751)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2007-01-07 19:35:02 UTC (rev 8752)
@@ -27,6 +27,7 @@
import java.io.Reader;
import java.io.StringReader;
import java.math.BigDecimal;
+import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@@ -938,7 +939,7 @@
assertSame( p,
bob );
- assertEquals( new Integer( 42 ),
+ assertEquals( new BigDecimal( 42 ),
array.get( 1 ) );
List nested = (List) array.get( 2 );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromWithParams.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromWithParams.drl 2007-01-07 19:34:56 UTC (rev 8751)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromWithParams.drl 2007-01-07 19:35:02 UTC (rev 8752)
@@ -10,7 +10,7 @@
rule "test from"
when
$person : Person()
- $object : Object() from testObject.toList(globalObject, $person, "literal", 42, { $person => globalObject, "key1" => { "key2" => "value2" } }, [$person, 42, ["x", "y"]] )
+ $object : Object() from testObject.toList(globalObject, $person, "literal", 42, [ $person : globalObject, "key1" : [ "key2" : "value2"]], [$person, 42, ["x", "y"]])
then
list.add( $object );
end
More information about the jboss-svn-commits
mailing list