[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