[jboss-svn-commits] JBL Code SVN: r15032 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 11 19:26:20 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-09-11 19:26:20 -0400 (Tue, 11 Sep 2007)
New Revision: 15032

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ModifyInterceptor.java
Log:
JBRULES-1182

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ModifyInterceptor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ModifyInterceptor.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ModifyInterceptor.java	2007-09-11 23:26:20 UTC (rev 15032)
@@ -0,0 +1,37 @@
+package org.drools.base;
+
+import java.io.Serializable;
+
+import org.drools.base.mvel.DroolsMVELKnowledgeHelper;
+import org.drools.spi.KnowledgeHelper;
+import org.mvel.ASTNode;
+import org.mvel.ast.WithNode;
+import org.mvel.integration.Interceptor;
+import org.mvel.integration.VariableResolverFactory;
+
+public class ModifyInterceptor
+    implements
+    Interceptor,
+    Serializable {
+    private static final long serialVersionUID = 400L;
+
+    public int doBefore(ASTNode node,
+                        VariableResolverFactory factory) {
+        Object object = ((WithNode) node).getNestedStatement().getValue( null,
+                                                                         factory );
+
+        DroolsMVELKnowledgeHelper resolver = (DroolsMVELKnowledgeHelper) factory.getVariableResolver( "drools" );
+        KnowledgeHelper helper = (KnowledgeHelper) resolver.getValue();
+        helper.modifyRetract( object );
+        return 0;
+    }
+
+    public int doAfter(Object value,
+                       ASTNode node,
+                       VariableResolverFactory factory) {
+        DroolsMVELKnowledgeHelper resolver = (DroolsMVELKnowledgeHelper) factory.getVariableResolver( "drools" );
+        KnowledgeHelper helper = (KnowledgeHelper) resolver.getValue();
+        helper.modifyInsert( value );
+        return 0;
+    }
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ModifyInterceptor.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list