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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 26 17:21:58 EDT 2010


Author: tirelli
Date: 2010-05-26 17:21:56 -0400 (Wed, 26 May 2010)
New Revision: 33104

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELEvalExpression.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELReturnValueExpression.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/EvalExpression.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ReturnValueExpression.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockEvalCondition.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/EvalNodeStep.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PackageCompilationDataTest.java
Log:
JBRULES-2482: Fixing varible resolution for evals and return value constraints

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel	2010-05-26 21:21:56 UTC (rev 33104)
@@ -50,6 +50,14 @@
     }
 @end{}
 
+ at declare{"replaceDeclaration"}
+    public void replaceDeclaration(org.drools.rule.Declaration declaration,
+                                   org.drools.rule.Declaration resolved) { 
+        // this class does not cache declarations
+    }
+ at end{}
+
+
 @declare{"returnValueInvoker"}
 package @{package};
 
@@ -90,6 +98,8 @@
             @end{","} );
     }
 
+    @includeNamed{"replaceDeclaration"}
+
     @includeNamed{"hashCode"}
 
     @includeNamed{"getMethodBytecode"}
@@ -146,7 +156,7 @@
 public class @{invokerClassName} implements org.drools.spi.EvalExpression, org.drools.spi.CompiledInvoker
 {
     private static final long serialVersionUID  = 400L;
-
+    
     // no need for context
     public Object createContext() { return null; }
 
@@ -167,6 +177,8 @@
             @foreach{identifier : globals}@{identifier}
             @end{","} );
     }
+    
+    @includeNamed{"replaceDeclaration"}
 
     @includeNamed{"hashCode"}
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -15,6 +15,9 @@
 import org.drools.Cheese;
 import org.drools.Cheesery;
 import org.drools.ClockType;
+import org.drools.FactA;
+import org.drools.FactB;
+import org.drools.FactC;
 import org.drools.FactHandle;
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
@@ -36,6 +39,8 @@
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsParserException;
 import org.drools.compiler.PackageBuilder;
+import org.drools.event.rule.AfterActivationFiredEvent;
+import org.drools.event.rule.AgendaEventListener;
 import org.drools.io.ResourceFactory;
 import org.drools.lang.descr.PackageDescr;
 import org.drools.rule.Package;
@@ -44,6 +49,7 @@
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.conf.ClockTypeOption;
 import org.drools.time.SessionPseudoClock;
+import static org.mockito.Mockito.*;
 
 public class FirstOrderLogicTest extends TestCase {
     protected RuleBase getRuleBase() throws Exception {
@@ -930,6 +936,33 @@
                       list.size() );
     }
 
+    // JBRULES-2482
+    public void testOrWithVariableResolution() throws Exception {
+        final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        kbuilder.add( ResourceFactory.newClassPathResource( "test_OrCEFollowedByMultipleEval.drl",
+                                                            FirstOrderLogicTest.class ),
+                      ResourceType.DRL );
+
+        assertFalse( kbuilder.getErrors().toString(),
+                     kbuilder.hasErrors() );
+
+        final KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+        final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+        final AgendaEventListener al = mock( AgendaEventListener.class );
+        ksession.addEventListener( al );
+
+        ksession.insert( new FactA( "a" ) );
+        ksession.insert( new FactB( "b" ) );
+        ksession.insert( new FactC( "c" ) );
+
+        ksession.fireAllRules();
+        verify( al,
+                times( 6 ) ).afterActivationFired( any( AfterActivationFiredEvent.class ) );
+    }
+
     public void testCollectWithMemberOfOperators() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectMemberOfOperator.drl" ) ) );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -8,6 +8,7 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
+import java.util.Map;
 
 import org.drools.base.mvel.DroolsMVELFactory;
 import org.drools.base.mvel.MVELCompilationUnit;
@@ -60,10 +61,12 @@
 //        out.writeObject(prototype);
     }
     
+    @SuppressWarnings("unchecked")
     public void compile(ClassLoader classLoader) {
         expr = unit.getCompiledExpression( classLoader );
         prototype = unit.getFactory( );
-        this.requiredDeclarations = (Declaration[]) this.unit.getFactory().getPreviousDeclarations().values().toArray(new Declaration[this.unit.getFactory().getPreviousDeclarations().size()]);
+        Map previousDeclarations = this.unit.getFactory().getPreviousDeclarations();
+        this.requiredDeclarations = (Declaration[]) previousDeclarations.values().toArray(new Declaration[previousDeclarations.size()]);
     }   
     
     public Declaration[] getRequiredDeclarations() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -7,7 +7,6 @@
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.drools.WorkingMemory;
 import org.drools.common.InternalFactHandle;
@@ -151,7 +150,7 @@
                            final KnowledgeHelper knowledgeHelper,
                            final Object object,
                            final WorkingMemory workingMemory,
-                           final Map<String, Object> variables) {
+                           final Map<String, Object> variables ) {
         if (tuple != null) {
             this.tupleObjects = ((LeftTuple) tuple).toFactHandles();
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELCompilationUnit.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -381,4 +381,22 @@
         return cls;
 
     }
+
+    public void replaceDeclaration(Declaration declaration,
+                                   Declaration resolved) {
+        if( previousDeclarations != null ) {
+            for( int i = 0; i < previousDeclarations.length; i++ ) {
+                if( previousDeclarations[i].equals( declaration ) ) {
+                    previousDeclarations[i] = resolved; 
+                }
+            }
+        }
+        if( localDeclarations != null ) {
+            for( int i = 0; i < localDeclarations.length; i++ ) {
+                if( localDeclarations[i].equals( declaration ) ) {
+                    localDeclarations[i] = resolved; 
+                }
+            }
+        }
+    }
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELEvalExpression.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELEvalExpression.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELEvalExpression.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -5,6 +5,7 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.Serializable;
+import java.util.Map;
 
 import org.drools.rule.Declaration;
 import org.drools.rule.MVELDialectRuntimeData;
@@ -18,17 +19,15 @@
     implements
     EvalExpression,
     MVELCompileable,
-    Externalizable  {
+    Externalizable {
 
+    private static final long   serialVersionUID = 400L;
 
-    private static final long       serialVersionUID = 400L;
-
     private MVELCompilationUnit unit;
-    private String id;
-    
-    private Serializable      expr;
-    private DroolsMVELFactory prototype;
+    private String              id;
 
+    private Serializable        expr;
+    private DroolsMVELFactory   prototype;
 
     public MVELEvalExpression() {
     }
@@ -39,24 +38,25 @@
         this.id = id;
     }
 
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
         id = in.readUTF();
-        unit = ( MVELCompilationUnit ) in.readObject();
-//        expr    = (Serializable)in.readObject();
-//        prototype   = (DroolsMVELFactory)in.readObject();
+        unit = (MVELCompilationUnit) in.readObject();
+        //        expr    = (Serializable)in.readObject();
+        //        prototype   = (DroolsMVELFactory)in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
         out.writeUTF( id );
         out.writeObject( unit );
-//        out.writeObject(expr);
-//        out.writeObject(prototype);
+        //        out.writeObject(expr);
+        //        out.writeObject(prototype);
     }
-    
+
     public void compile(ClassLoader classLoader) {
         expr = unit.getCompiledExpression( classLoader );
-        prototype = unit.getFactory( );
-    }    
+        prototype = unit.getFactory();
+    }
 
     public Object createContext() {
         return this.prototype.clone();
@@ -68,15 +68,15 @@
                             final Object context) throws Exception {
         DroolsMVELFactory factory = (DroolsMVELFactory) context;
         factory.setContext( tuple,
-                                 null,
-                                 null,
-                                 workingMemory,
-                                 null );
+                            null,
+                            null,
+                            workingMemory,
+                            null );
 
         // do we have any functions for this namespace?
         Package pkg = workingMemory.getRuleBase().getPackage( "MAIN" );
         if ( pkg != null ) {
-            MVELDialectRuntimeData data = ( MVELDialectRuntimeData ) pkg.getDialectRuntimeRegistry().getDialectData( this.id );
+            MVELDialectRuntimeData data = (MVELDialectRuntimeData) pkg.getDialectRuntimeRegistry().getDialectData( this.id );
             factory.setNextFactory( data.getFunctionFactory() );
         }
 
@@ -85,9 +85,23 @@
                                                                  factory );
         return result.booleanValue();
     }
-    
+
     public String toString() {
         return this.unit.getExpression();
     }
 
+    @SuppressWarnings("unchecked")
+    public Declaration[] getRequiredDeclarations() {
+        Map previousDeclarations = this.unit.getFactory().getPreviousDeclarations();
+        return (Declaration[]) previousDeclarations.values().toArray(new Declaration[previousDeclarations.size()]);
+    }
+
+    public void replaceDeclaration(Declaration declaration,
+                                   Declaration resolved) {
+        this.unit.replaceDeclaration( declaration,
+                                      resolved );
+        // need to get a new prototype factory, since the declaration was updated
+        prototype = unit.getFactory();        
+    }
+
 }

Modified: 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	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELReturnValueExpression.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -1,6 +1,5 @@
 package org.drools.base.mvel;
 
-
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
@@ -20,57 +19,57 @@
     implements
     ReturnValueExpression,
     MVELCompileable,
-    Externalizable  {
-    private static final long       serialVersionUID = 400L;
+    Externalizable {
+    private static final long   serialVersionUID = 400L;
 
     private MVELCompilationUnit unit;
-    private String id;
-    
-    private Serializable      expr;
-    private DroolsMVELFactory prototype;
-    
+    private String              id;
+
+    private Serializable        expr;
+    private DroolsMVELFactory   prototype;
+
     public MVELReturnValueExpression() {
     }
 
     public MVELReturnValueExpression(final MVELCompilationUnit unit,
-                              final String id) {
+                                     final String id) {
         this.unit = unit;
         this.id = id;
-    }    
+    }
 
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
         id = in.readUTF();
-        unit = ( MVELCompilationUnit ) in.readObject();
+        unit = (MVELCompilationUnit) in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
         out.writeUTF( id );
         out.writeObject( unit );
     }
-    
+
     public void compile(ClassLoader classLoader) {
         expr = unit.getCompiledExpression( classLoader );
-        prototype = unit.getFactory( );
-    }     
-      
+        prototype = unit.getFactory();
+    }
 
     public FieldValue evaluate(final Object object,
                                final Tuple tuple,
                                final Declaration[] previousDeclarations,
                                final Declaration[] requiredDeclarations,
                                final WorkingMemory workingMemory,
-                               final Object ctx ) throws Exception {
+                               final Object ctx) throws Exception {
         DroolsMVELFactory factory = (DroolsMVELFactory) ctx;
         factory.setContext( tuple,
-                                 null,
-                                 object,
-                                 workingMemory,
-                                 null );
+                            null,
+                            object,
+                            workingMemory,
+                            null );
 
         // do we have any functions for this namespace?
         Package pkg = workingMemory.getRuleBase().getPackage( "MAIN" );
         if ( pkg != null ) {
-            MVELDialectRuntimeData data = ( MVELDialectRuntimeData ) pkg.getDialectRuntimeRegistry().getDialectData( this.id );
+            MVELDialectRuntimeData data = (MVELDialectRuntimeData) pkg.getDialectRuntimeRegistry().getDialectData( this.id );
             factory.setNextFactory( data.getFunctionFactory() );
         }
 
@@ -82,7 +81,7 @@
     public Object createContext() {
         return this.prototype.clone();
     }
-    
+
     public String toString() {
         return this.unit.getExpression();
     }
@@ -92,8 +91,8 @@
         final int prime = 31;
         int result = 1;
         if ( expr == null ) {
-            throw new RuntimeException("this MVELReturnValueExpression must be compiled for hashCode");
-        }        
+            throw new RuntimeException( "this MVELReturnValueExpression must be compiled for hashCode" );
+        }
         result = prime * result + unit.getExpression().hashCode();
         return result;
     }
@@ -103,17 +102,25 @@
         if ( this == obj ) return true;
         if ( obj == null ) return false;
         if ( getClass() != obj.getClass() ) return false;
-        
+
         if ( expr == null ) {
-            throw new RuntimeException("this MVELReturnValueExpression must be compiled for equality");
+            throw new RuntimeException( "this MVELReturnValueExpression must be compiled for equality" );
         }
-        
+
         MVELReturnValueExpression other = (MVELReturnValueExpression) obj;
         if ( other.expr == null ) {
-            throw new RuntimeException("other MVELReturnValueExpression must be compiled for equality");
+            throw new RuntimeException( "other MVELReturnValueExpression must be compiled for equality" );
         }
-        
+
         return this.expr.equals( other.expr );
-    } 
+    }
 
+    public void replaceDeclaration(Declaration declaration,
+                                   Declaration resolved) {
+        this.unit.replaceDeclaration( declaration,
+                                      resolved );
+        // need to get a new prototype factory, since the declaration was updated
+        prototype = unit.getFactory();        
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -201,6 +201,8 @@
                 this.requiredDeclarations[i] = resolved;
             }
         }
+        this.expression.replaceDeclaration( declaration,
+                                            resolved );
     }
     
     @Override

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -50,7 +50,7 @@
     private ReturnValueExpression        expression;
 
     private String[]                     requiredGlobals;
-    
+
     private Declaration[]                requiredDeclarations;
 
     private Declaration[]                previousDeclarations;
@@ -129,7 +129,7 @@
     public void readExternal(ObjectInput in) throws IOException,
                                             ClassNotFoundException {
         expression = (ReturnValueExpression) in.readObject();
-        requiredGlobals = ( String[] ) in.readObject();
+        requiredGlobals = (String[]) in.readObject();
         requiredDeclarations = (Declaration[]) in.readObject();
         previousDeclarations = (Declaration[]) in.readObject();
         localDeclarations = (Declaration[]) in.readObject();
@@ -144,7 +144,7 @@
         } else {
             out.writeObject( this.expression );
         }
-        out.writeObject(  requiredGlobals );
+        out.writeObject( requiredGlobals );
         out.writeObject( requiredDeclarations );
         out.writeObject( previousDeclarations );
         out.writeObject( localDeclarations );
@@ -190,6 +190,8 @@
                 this.localDeclarations[i] = newDecl;
             }
         }
+        this.expression.replaceDeclaration( oldDecl,
+                                            newDecl );
     }
 
     public void wire(Object object) {
@@ -210,7 +212,7 @@
     public Evaluator getEvaluator() {
         return this.evaluator;
     }
-    
+
     public boolean isTemporal() {
         return this.evaluator.isTemporal();
     }
@@ -221,7 +223,7 @@
                              final WorkingMemory workingMemory,
                              final ContextEntry context) {
         try {
-            return this.evaluator.evaluate( (InternalWorkingMemory)workingMemory,
+            return this.evaluator.evaluate( (InternalWorkingMemory) workingMemory,
                                             this.readAccessor,
                                             handle.getObject(),
                                             this.expression.evaluate( handle.getObject(),

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/EvalExpression.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/EvalExpression.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/EvalExpression.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -29,4 +29,7 @@
                             Declaration[] requiredDeclarations,
                             WorkingMemory workingMemory,
                             Object context ) throws Exception;
+
+    public void replaceDeclaration(Declaration declaration,
+                                   Declaration resolved);
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ReturnValueExpression.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ReturnValueExpression.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ReturnValueExpression.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -31,5 +31,8 @@
                                Declaration[] localDeclarations,
                                WorkingMemory workingMemory,
                                Object context ) throws Exception;
+    
+    public void replaceDeclaration(Declaration declaration,
+                                   Declaration resolved);
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockEvalCondition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockEvalCondition.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockEvalCondition.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -56,6 +56,14 @@
         public void writeExternal(ObjectOutput out) throws IOException {
 
         }
+
+        public Declaration[] getRequiredDeclarations() {
+            return null;
+        }
+
+        public void replaceDeclaration(Declaration declaration,
+                                       Declaration resolved) {
+        }
                                                   };
 
     public MockEvalCondition(final boolean isAllowed) {

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/EvalNodeStep.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/EvalNodeStep.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/EvalNodeStep.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -118,5 +118,13 @@
             return result.booleanValue();
         }
 
+        public Declaration[] getRequiredDeclarations() {
+            return null;
+        }
+
+        public void replaceDeclaration(Declaration declaration,
+                                       Declaration resolved) {
+        }
+
     }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -327,6 +327,10 @@
             public void writeExternal(ObjectOutput out) throws IOException {
 
             }
+
+            public void replaceDeclaration(Declaration declaration,
+                                           Declaration resolved) {
+            }
         };
 
         final ReturnValueRestriction restriction1 = new ReturnValueRestriction( priceExtractor,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PackageCompilationDataTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PackageCompilationDataTest.java	2010-05-26 21:05:03 UTC (rev 33103)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PackageCompilationDataTest.java	2010-05-26 21:21:56 UTC (rev 33104)
@@ -29,6 +29,12 @@
         public void writeExternal(ObjectOutput out) throws IOException {
 
         }
+        public Declaration[] getRequiredDeclarations() {
+            return null;
+        }
+        public void replaceDeclaration(Declaration declaration,
+                                       Declaration resolved) {
+        }
     }
 
     public void testCodeSourceUrl() throws Exception {



More information about the jboss-svn-commits mailing list