[jboss-svn-commits] JBL Code SVN: r6934 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: common reteoo rule spi
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 19 18:47:07 EDT 2006
Author: tirelli
Date: 2006-10-19 18:45:59 -0400 (Thu, 19 Oct 2006)
New Revision: 6934
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/RuleFlowNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ReturnValueExpression.java
Log:
JBRULES-527: Fixing compilation problems
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -6,9 +6,9 @@
public interface BetaConstraints {
- public void updateFromTuple(ReteTuple tuple);
+ public void updateFromTuple(InternalWorkingMemory workingMemory, ReteTuple tuple);
- public void updateFromFactHandle(InternalFactHandle handle);
+ public void updateFromFactHandle(InternalWorkingMemory workingMemory, InternalFactHandle handle);
public boolean isAllowedCachedLeft(Object object);
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -90,18 +90,18 @@
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromTuple(org.drools.reteoo.ReteTuple)
*/
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
for ( ContextEntry context = this.contexts; context != null; context = context.getNext() ) {
- context.updateFromTuple( tuple );
+ context.updateFromTuple( workingMemory, tuple );
}
}
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromFactHandle(org.drools.common.InternalFactHandle)
*/
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
for ( ContextEntry context = this.contexts; context != null; context = context.getNext() ) {
- context.updateFromFactHandle( handle );
+ context.updateFromFactHandle( workingMemory, handle );
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -87,17 +87,17 @@
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromTuple(org.drools.reteoo.ReteTuple)
*/
- public void updateFromTuple(final ReteTuple tuple) {
- this.context0.updateFromTuple( tuple );
- this.context1.updateFromTuple( tuple );
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
+ this.context0.updateFromTuple( workingMemory, tuple );
+ this.context1.updateFromTuple( workingMemory, tuple );
}
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromFactHandle(org.drools.common.InternalFactHandle)
*/
- public void updateFromFactHandle(final InternalFactHandle handle) {
- this.context0.updateFromFactHandle( handle );
- this.context1.updateFromFactHandle( handle );
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
+ this.context0.updateFromFactHandle( workingMemory, handle );
+ this.context1.updateFromFactHandle( workingMemory, handle );
}
/* (non-Javadoc)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -46,13 +46,13 @@
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromTuple(org.drools.reteoo.ReteTuple)
*/
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
}
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromFactHandle(org.drools.common.InternalFactHandle)
*/
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
}
/* (non-Javadoc)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -110,13 +110,12 @@
this.entry = entry;
}
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
this.left = tuple.get( this.column.getFactIndex() ).getObject();
- }
+ }
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
this.right = handle.getObject();
-
}
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -105,11 +105,11 @@
this.entry = entry;
}
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
this.left = tuple.get( this.column.getFactIndex() ).getObject();
}
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
this.right = handle.getObject();
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/RuleFlowNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/RuleFlowNode.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/RuleFlowNode.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -38,6 +38,7 @@
this.name = name;
this.agenda = agenda;
this.queue = new BinaryHeapQueue( DepthConflictResolver.getInstance() );
+ this.lock = new Object();
}
/* (non-Javadoc)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -69,15 +69,15 @@
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromTuple(org.drools.reteoo.ReteTuple)
*/
- public void updateFromTuple(final ReteTuple tuple) {
- this.context.updateFromTuple( tuple );
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
+ this.context.updateFromTuple( workingMemory, tuple );
}
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromFactHandle(org.drools.common.InternalFactHandle)
*/
- public void updateFromFactHandle(final InternalFactHandle handle) {
- this.context.updateFromFactHandle( handle );
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
+ this.context.updateFromFactHandle( workingMemory, handle );
}
/* (non-Javadoc)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -131,19 +131,19 @@
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromTuple(org.drools.reteoo.ReteTuple)
*/
- public void updateFromTuple(final ReteTuple tuple) {
- this.context0.updateFromTuple( tuple );
- this.context1.updateFromTuple( tuple );
- this.context2.updateFromTuple( tuple );
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
+ this.context0.updateFromTuple( workingMemory, tuple );
+ this.context1.updateFromTuple( workingMemory, tuple );
+ this.context2.updateFromTuple( workingMemory, tuple );
}
/* (non-Javadoc)
* @see org.drools.common.BetaNodeConstraints#updateFromFactHandle(org.drools.common.InternalFactHandle)
*/
- public void updateFromFactHandle(final InternalFactHandle handle) {
- this.context0.updateFromFactHandle( handle );
- this.context1.updateFromFactHandle( handle );
- this.context2.updateFromFactHandle( handle );
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
+ this.context0.updateFromFactHandle( workingMemory, handle );
+ this.context1.updateFromFactHandle( workingMemory, handle );
+ this.context2.updateFromFactHandle( workingMemory, handle );
}
/* (non-Javadoc)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -109,7 +109,7 @@
memory.getTupleMemory().add( leftTuple );
final Iterator it = memory.getObjectMemory().iterator( leftTuple );
- this.constraints.updateFromTuple( leftTuple );
+ this.constraints.updateFromTuple( workingMemory, leftTuple );
for ( FactEntry entry = (FactEntry) it.next(); entry != null; entry = (FactEntry) it.next() ) {
final InternalFactHandle handle = entry.getFactHandle();
if ( this.constraints.isAllowedCachedLeft( handle.getObject() ) ) {
@@ -146,7 +146,7 @@
memory.getObjectMemory().add( handle );
final Iterator it = memory.getTupleMemory().iterator();
- this.constraints.updateFromFactHandle( handle );
+ this.constraints.updateFromFactHandle( workingMemory, handle );
for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
if ( this.constraints.isAllowedCachedRight( tuple ) ) {
this.sink.propagateAssertTuple( tuple,
@@ -177,7 +177,7 @@
}
final Iterator it = memory.getTupleMemory().iterator();
- this.constraints.updateFromFactHandle( handle );
+ this.constraints.updateFromFactHandle( workingMemory, handle );
for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
if ( this.constraints.isAllowedCachedRight( tuple ) ) {
this.sink.propagateRetractTuple( tuple,
@@ -211,7 +211,7 @@
}
final Iterator it = memory.getObjectMemory().iterator( leftTuple );
- this.constraints.updateFromTuple( leftTuple );
+ this.constraints.updateFromTuple( workingMemory, leftTuple );
for ( FactEntry entry = (FactEntry) it.next(); entry != null; entry = (FactEntry) it.next() ) {
final InternalFactHandle handle = entry.getFactHandle();
if ( this.constraints.isAllowedCachedLeft( handle.getObject() ) ) {
@@ -237,7 +237,7 @@
final Iterator tupleIter = memory.getTupleMemory().iterator();
for ( ReteTuple tuple = (ReteTuple) tupleIter.next(); tuple != null; tuple = (ReteTuple) tupleIter.next() ) {
final Iterator objectIter = memory.getObjectMemory().iterator( tuple );
- this.constraints.updateFromTuple( tuple );
+ this.constraints.updateFromTuple( workingMemory, tuple );
for ( FactEntry entry = (FactEntry) objectIter.next(); entry != null; entry = (FactEntry) objectIter.next() ) {
final InternalFactHandle handle = entry.getFactHandle();
if ( this.constraints.isAllowedCachedLeft( handle.getObject() ) ) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -1,6 +1,7 @@
package org.drools.rule;
import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
import org.drools.reteoo.ReteTuple;
public interface ContextEntry {
@@ -9,8 +10,8 @@
public void setNext(ContextEntry entry);
- public void updateFromTuple(ReteTuple tuple);
+ public void updateFromTuple(InternalWorkingMemory workingMemory, ReteTuple tuple);
- public void updateFromFactHandle(InternalFactHandle handle);
+ public void updateFromFactHandle(InternalWorkingMemory workingMemory, InternalFactHandle handle);
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -17,14 +17,15 @@
*/
import org.drools.RuntimeDroolsException;
-import org.drools.WorkingMemory;
-import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.reteoo.ReteTuple;
+import org.drools.spi.BetaNodeFieldConstraint;
import org.drools.spi.PredicateExpression;
-import org.drools.spi.Tuple;
public class PredicateConstraint
implements
- AlphaNodeFieldConstraint {
+ BetaNodeFieldConstraint {
/**
*
@@ -84,21 +85,6 @@
return "[PredicateConstraint declarations=" + this.requiredDeclarations + "]";
}
- public boolean isAllowed(final Object object,
- final Tuple tuple,
- final WorkingMemory workingMemory) {
- try {
- return this.expression.evaluate( object,
- tuple,
- this.declaration,
- this.requiredDeclarations,
- workingMemory );
- } catch ( final Exception e ) {
- throw new RuntimeDroolsException( e );
- }
-
- }
-
public int hashCode() {
return this.expression.hashCode();
}
@@ -138,4 +124,70 @@
return this.expression.equals( other.expression );
}
-};
\ No newline at end of file
+
+ public ContextEntry getContextEntry() {
+ return new PredicateContextEntry();
+ }
+
+ public boolean isAllowedCachedLeft(ContextEntry context,
+ Object object) {
+ try {
+ PredicateContextEntry ctx = (PredicateContextEntry) context;
+ return this.expression.evaluate( object,
+ ctx.leftTuple,
+ declaration,
+ requiredDeclarations,
+ ctx.workingMemory );
+ } catch ( Exception e ) {
+ throw new RuntimeDroolsException("Exception executing predicate "+this.expression, e);
+ }
+ }
+
+ public boolean isAllowedCachedRight(ReteTuple tuple,
+ ContextEntry context) {
+ try {
+ PredicateContextEntry ctx = (PredicateContextEntry) context;
+ return this.expression.evaluate( ctx.rightObject,
+ tuple,
+ declaration,
+ requiredDeclarations,
+ ctx.workingMemory );
+ } catch ( Exception e ) {
+ throw new RuntimeDroolsException("Exception executing predicate "+this.expression, e);
+ }
+ }
+
+ public static class PredicateContextEntry
+ implements
+ ContextEntry {
+ public ReteTuple leftTuple;
+ public Object rightObject;
+ public InternalWorkingMemory workingMemory;
+
+ private ContextEntry entry;
+
+ public PredicateContextEntry() {
+ }
+
+ public ContextEntry getNext() {
+ return this.entry;
+ }
+
+ public void setNext(final ContextEntry entry) {
+ this.entry = entry;
+ }
+
+ public void updateFromFactHandle(InternalWorkingMemory workingMemory,
+ InternalFactHandle handle) {
+ this.workingMemory = workingMemory;
+ this.rightObject = handle.getObject();
+ }
+
+ public void updateFromTuple(InternalWorkingMemory workingMemory,
+ ReteTuple tuple) {
+ this.workingMemory = workingMemory;
+ this.leftTuple = tuple;
+ }
+ }
+
+}
\ No newline at end of file
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 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -16,16 +16,18 @@
* limitations under the License.
*/
-import org.drools.WorkingMemory;
-import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.RuntimeDroolsException;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.reteoo.ReteTuple;
+import org.drools.spi.BetaNodeFieldConstraint;
import org.drools.spi.Evaluator;
import org.drools.spi.FieldExtractor;
import org.drools.spi.ReturnValueExpression;
-import org.drools.spi.Tuple;
public class ReturnValueConstraint
implements
- AlphaNodeFieldConstraint {
+ BetaNodeFieldConstraint {
/**
*
@@ -75,15 +77,6 @@
return this.restriction.getEvaluator();
}
- public boolean isAllowed(final Object object,
- final Tuple tuple,
- final WorkingMemory workingMemory) {
- return this.restriction.isAllowed( this.fieldExtractor,
- object,
- tuple,
- workingMemory );
- }
-
public String toString() {
return "[ReturnValueConstraint fieldExtractor=" + this.fieldExtractor + " evaluator=" + getEvaluator() + " declarations=" + getRequiredDeclarations() + "]";
}
@@ -109,4 +102,70 @@
return this.fieldExtractor.equals( other.fieldExtractor ) && this.restriction.equals( other.restriction );
}
+
+ public ContextEntry getContextEntry() {
+ return new ReturnValueContextEntry();
+ }
+
+ public boolean isAllowedCachedLeft(ContextEntry context,
+ Object object) {
+ try {
+ ReturnValueContextEntry ctx = (ReturnValueContextEntry) context;
+ return this.restriction.isAllowed( this.fieldExtractor,
+ object,
+ ctx.leftTuple,
+ ctx.workingMemory );
+ } catch ( Exception e ) {
+ throw new RuntimeDroolsException( "Exception executing ReturnValue constraint " + this.restriction,
+ e );
+ }
+ }
+
+ public boolean isAllowedCachedRight(ReteTuple tuple,
+ ContextEntry context) {
+ try {
+ ReturnValueContextEntry ctx = (ReturnValueContextEntry) context;
+ return this.restriction.isAllowed( this.fieldExtractor,
+ ctx.rightObject,
+ tuple,
+ ctx.workingMemory );
+ } catch ( Exception e ) {
+ throw new RuntimeDroolsException( "Exception executing ReturnValue constraint " + this.restriction,
+ e );
+ }
+ }
+
+ public static class ReturnValueContextEntry
+ implements
+ ContextEntry {
+ public ReteTuple leftTuple;
+ public Object rightObject;
+ public InternalWorkingMemory workingMemory;
+
+ private ContextEntry entry;
+
+ public ReturnValueContextEntry() {
+ }
+
+ public ContextEntry getNext() {
+ return this.entry;
+ }
+
+ public void setNext(final ContextEntry entry) {
+ this.entry = entry;
+ }
+
+ public void updateFromFactHandle(InternalWorkingMemory workingMemory,
+ InternalFactHandle handle) {
+ this.workingMemory = workingMemory;
+ this.rightObject = handle.getObject();
+ }
+
+ public void updateFromTuple(InternalWorkingMemory workingMemory,
+ ReteTuple tuple) {
+ this.workingMemory = workingMemory;
+ this.leftTuple = tuple;
+ }
+ }
+
}
\ No newline at end of file
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 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -20,6 +20,8 @@
import org.drools.RuntimeDroolsException;
import org.drools.WorkingMemory;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.reteoo.ReteTuple;
import org.drools.spi.Evaluator;
import org.drools.spi.Extractor;
import org.drools.spi.Restriction;
@@ -107,6 +109,22 @@
}
}
+ public boolean isAllowed(Extractor extractor,
+ Object object,
+ InternalWorkingMemory workingMemoiry) {
+ throw new UnsupportedOperationException( "does not support method call isAllowed(Object object, InternalWorkingMemory workingMemoiry)" );
+ }
+
+ public boolean isAllowedCachedLeft(ContextEntry context,
+ Object object) {
+ throw new UnsupportedOperationException( "does not support method call isAllowed(Object object, InternalWorkingMemory workingMemoiry)" );
+ }
+
+ public boolean isAllowedCachedRight(ReteTuple tuple,
+ ContextEntry context) {
+ throw new UnsupportedOperationException( "does not support method call isAllowed(Object object, InternalWorkingMemory workingMemoiry)" );
+ }
+
public int hashCode() {
final int PRIME = 31;
int result = 1;
@@ -138,4 +156,5 @@
return this.expression.equals( other.expression );
}
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableConstraint.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -17,6 +17,7 @@
*/
import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
import org.drools.reteoo.ReteTuple;
import org.drools.spi.BetaNodeFieldConstraint;
import org.drools.spi.Evaluator;
@@ -26,19 +27,11 @@
implements
BetaNodeFieldConstraint {
- /**
- *
- */
private static final long serialVersionUID = 320L;
private final FieldExtractor fieldExtractor;
private final VariableRestriction restriction;
- private static final byte TYPE_BOOLEAN = 0;
- private static final byte TYPE_FLOAT = 1;
- private static final byte TYPE_INTEGER = 2;
- private static final byte TYPE_OBJECT = 3;
-
public VariableConstraint(final FieldExtractor fieldExtractor,
final Declaration declaration,
final Evaluator evaluator) {
@@ -154,11 +147,11 @@
declaration );
}
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
this.left = this.declaration.getExtractor().getValue( tuple.get( this.declaration ).getObject() );
}
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
this.right = this.extractor.getValue( handle.getObject() );
}
}
@@ -173,11 +166,11 @@
declaration );
}
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
this.left = this.declaration.getExtractor().getLongValue( tuple.get( this.declaration ).getObject() );
}
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
this.right = this.extractor.getLongValue( handle.getObject() );
}
}
@@ -192,11 +185,11 @@
declaration );
}
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
this.left = this.declaration.getExtractor().getDoubleValue( tuple.get( this.declaration ).getObject() );
}
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
this.right = this.extractor.getDoubleValue( handle.getObject() );
}
}
@@ -211,11 +204,11 @@
declaration );
}
- public void updateFromTuple(final ReteTuple tuple) {
+ public void updateFromTuple(final InternalWorkingMemory workingMemory, final ReteTuple tuple) {
this.left = this.declaration.getExtractor().getBooleanValue( tuple.get( this.declaration ).getObject() );
}
- public void updateFromFactHandle(final InternalFactHandle handle) {
+ public void updateFromFactHandle(final InternalWorkingMemory workingMemory, final InternalFactHandle handle) {
this.right = this.extractor.getBooleanValue( handle.getObject() );
}
}
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 2006-10-19 21:15:01 UTC (rev 6933)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ReturnValueExpression.java 2006-10-19 22:45:59 UTC (rev 6934)
@@ -22,7 +22,7 @@
public interface ReturnValueExpression
extends
Invoker {
- public Object evaluate(Tuple tuple,
- Declaration[] requiredDeclarations,
- WorkingMemory workingMemory) throws Exception;
+ public FieldValue evaluate(Tuple tuple,
+ Declaration[] requiredDeclarations,
+ WorkingMemory workingMemory) throws Exception;
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list