[jboss-svn-commits] JBL Code SVN: r23334 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/integrationtests and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 6 19:52:55 EDT 2008


Author: tirelli
Date: 2008-10-06 19:52:55 -0400 (Mon, 06 Oct 2008)
New Revision: 23334

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MVELrewrite.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
Allowing MVEL to call parameterless methods without explicit ()

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java	2008-10-06 22:44:55 UTC (rev 23333)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELDialect.java	2008-10-06 23:52:55 UTC (rev 23334)
@@ -166,10 +166,11 @@
         setLanguageLevel( this.configuration.getLangLevel() );
         this.strictMode = this.configuration.isStrict();
 
-        MVEL.setThreadSafe( true );
-
         this.imports = new HashMap();
         this.packageImports = new HashMap();
+        
+        // setting MVEL option directly
+        MVEL.COMPILER_OPT_ALLOW_NAKED_METH_CALL = true;        
 
         this.interceptors = new HashMap( 1 );
         this.interceptors.put( "Modify",

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-10-06 22:44:55 UTC (rev 23333)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-10-06 23:52:55 UTC (rev 23334)
@@ -271,6 +271,37 @@
                       c.getPrice() );
     }
 
+    public void testMVELRewrite() throws Exception {
+
+        // read in the source
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_MVELrewrite.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
+
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
+        StatefulSession session = ruleBase.newStatefulSession();
+
+        session = SerializationHelper.getSerialisedStatefulSession( session,
+                                                                    ruleBase );
+        List results = new ArrayList();
+        session.setGlobal( "results", results );
+        
+        Cheese brie = new Cheese( "brie",
+                                  2 );
+        Cheese stilton = new Cheese( "stilton",
+                                  2 );
+        Cheesery cheesery = new Cheesery();
+        cheesery.addCheese( brie );
+        cheesery.addCheese( stilton );
+
+        session.insert( cheesery );
+        session.fireAllRules();
+        
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( cheesery,
+                      results.get( 0 ) );
+    }
+
     public void testGlobals() throws Exception {
 
         final PackageBuilder builder = new PackageBuilder();

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MVELrewrite.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MVELrewrite.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MVELrewrite.drl	2008-10-06 23:52:55 UTC (rev 23334)
@@ -0,0 +1,11 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test mvel rewrite"
+    dialect "mvel"
+	when
+		$c : Cheesery( cheeses.size == 2 )
+	then
+		results.add( $c );
+end
\ No newline at end of file




More information about the jboss-svn-commits mailing list