[jboss-svn-commits] JBL Code SVN: r9831 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: rule and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 27 21:20:55 EST 2007


Author: mark.proctor at jboss.com
Date: 2007-02-27 21:20:55 -0500 (Tue, 27 Feb 2007)
New Revision: 9831

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELReturnValueExpression.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
Log:
JBRULES-708 MVEL Integration
-ReturnValue now works

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELReturnValueExpression.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELReturnValueExpression.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELReturnValueExpression.java	2007-02-28 02:20:55 UTC (rev 9831)
@@ -0,0 +1,39 @@
+package org.drools.base.mvel;
+
+import java.io.Serializable;
+
+import org.drools.WorkingMemory;
+import org.drools.rule.Declaration;
+import org.drools.spi.FieldValue;
+import org.drools.spi.PredicateExpression;
+import org.drools.spi.ReturnValueExpression;
+import org.drools.spi.Tuple;
+import org.mvel.MVEL;
+
+public class MVELReturnValueExpression
+    implements
+    ReturnValueExpression {
+    private static final long       serialVersionUID = 320L;
+
+    private final Serializable      expr;
+    private final DroolsMVELFactory factory;
+
+    public MVELReturnValueExpression(final Serializable expr,
+                                     final DroolsMVELFactory factory) {
+        this.expr = expr;
+        this.factory = factory;
+    }
+
+    public FieldValue evaluate(Object object,
+                               Tuple tuple,
+                               Declaration[] previousDeclarations,
+                               Declaration[] requiredDeclarations,
+                               WorkingMemory workingMemory) throws Exception {
+        factory.setContext( tuple,
+                            object,
+                            workingMemory );
+        return org.drools.base.FieldFactory.getFieldValue( MVEL.executeExpression( this.expr,
+                                                                                   factory ) );
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java	2007-02-28 02:20:49 UTC (rev 9830)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java	2007-02-28 02:20:55 UTC (rev 9831)
@@ -34,7 +34,7 @@
     /**
      * 
      */
-    private static final long            serialVersionUID = -3888281054472597050L;
+    private static final long            serialVersionUID = 320L;
 
     private final FieldExtractor         fieldExtractor;
     private final ReturnValueRestriction restriction;




More information about the jboss-svn-commits mailing list