[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