[jboss-svn-commits] JBL Code SVN: r6269 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: common reteoo
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Sep 18 09:40:09 EDT 2006
Author: tirelli
Date: 2006-09-18 09:40:02 -0400 (Mon, 18 Sep 2006)
New Revision: 6269
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeTupleSinkAdapter.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleTupleSinkAdapter.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSinkPropagator.java
Log:
JBRULES-484: fixing compilation problems
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -94,6 +94,7 @@
protected GlobalResolver globalResolver;
protected static final Object NULL = new Serializable() {
+ private static final long serialVersionUID = -6666310064415179894L;
};
/** The eventSupport */
@@ -243,7 +244,7 @@
if ( value == null ) {
return;
}
-
+
try {
lock.lock();
// Make sure the global has been declared in the RuleBase
@@ -262,7 +263,7 @@
lock.unlock();
}
}
-
+
public void setGlobalResolver(GlobalResolver globalResolver) {
this.globalResolver = globalResolver;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -4,6 +4,7 @@
import org.drools.WorkingMemory;
import org.drools.event.AgendaEventSupport;
+import org.drools.spi.FactHandleFactory;
public interface InternalWorkingMemory extends WorkingMemory {
public long getId();
@@ -20,6 +21,8 @@
public TruthMaintenanceSystem getTruthMaintenanceSystem();
- public void propagateQueuedActions();
+ public void propagateQueuedActions();
+
+ public FactHandleFactory getFactHandleFactory();
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -28,7 +28,6 @@
import org.drools.rule.Accumulate;
import org.drools.spi.FieldConstraint;
import org.drools.spi.PropagationContext;
-import org.drools.spi.Tuple;
import org.drools.util.LinkedList;
import org.drools.util.LinkedListEntry;
@@ -111,7 +110,7 @@
*/
public void assertTuple(ReteTuple leftTuple,
PropagationContext context,
- ReteooWorkingMemory workingMemory) {
+ InternalWorkingMemory workingMemory) {
final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
@@ -173,7 +172,7 @@
*/
public void modifyTuple(ReteTuple leftTuple,
PropagationContext context,
- ReteooWorkingMemory workingMemory) {
+ InternalWorkingMemory workingMemory) {
this.retractTuple( leftTuple,
context,
@@ -193,7 +192,7 @@
*/
public void retractTuple(ReteTuple leftTuple,
PropagationContext context,
- ReteooWorkingMemory workingMemory) {
+ InternalWorkingMemory workingMemory) {
final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
memory.remove( workingMemory,
leftTuple );
@@ -211,9 +210,10 @@
// if tuple was propagated
if ( (leftTuple.getChildEntries() != null) && (leftTuple.getChildEntries().size() > 0) ) {
// Need to store the accumulate result object for later disposal
- InternalFactHandle lastHandle = ((ReteTuple) ((LinkedListEntry)leftTuple.getChildEntries().getFirst()).getObject()).getLastHandle();
+ InternalFactHandle lastHandle = ((ReteTuple) ((LinkedListEntry) leftTuple.getChildEntries().getFirst()).getObject()).getLastHandle();
- leftTuple.retractChildEntries( context, workingMemory );
+ leftTuple.retractChildEntries( context,
+ workingMemory );
// Destroying the acumulate result object
workingMemory.getFactHandleFactory().destroyFactHandle( lastHandle );
@@ -234,8 +234,8 @@
InternalWorkingMemory workingMemory) {
final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
- ObjectMatches objectMatches = memory.add( workingMemory,
- handle );
+ memory.add( workingMemory,
+ handle );
final BetaNodeConstraints binder = getJoinNodeBinder();
for ( final Iterator it = memory.leftTupleIterator( workingMemory,
@@ -313,7 +313,7 @@
/**
* @inheritDoc
*/
- public List getPropagatedTuples(ReteooWorkingMemory workingMemory,
+ public List getPropagatedTuples(InternalWorkingMemory workingMemory,
TupleSink sink) {
final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
//final int index = this.getTupleSinks().indexOf( sink );
@@ -340,11 +340,9 @@
for ( final Iterator it = memory.getLeftTupleMemory().iterator(); it.hasNext(); ) {
final ReteTuple leftTuple = (ReteTuple) it.next();
- final ReteTuple child = new ReteTuple( leftTuple );
- leftTuple.addLinkedTuple( child );
- ((TupleSink) getTupleSinks().get( getTupleSinks().size() - 1 )).assertTuple( child,
- context,
- workingMemory );
+ this.sink.propagateNewTupleSink( (ReteTuple) leftTuple.getChildEntries().getFirst(),
+ context,
+ workingMemory );
}
this.attachingNewNode = false;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeTupleSinkAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeTupleSinkAdapter.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CompositeTupleSinkAdapter.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -62,7 +62,7 @@
public void propagateAssertTuple(final ReteTuple tuple,
final InternalFactHandle handle,
final PropagationContext context,
- final ReteooWorkingMemory workingMemory) {
+ final InternalWorkingMemory workingMemory) {
for ( TupleSinkNode sink = this.sinks.getFirst(); sink != null; sink = sink.getNextTupleSinkNode() ) {
final ReteTuple joined = new ReteTuple( tuple,
handle,
@@ -111,6 +111,18 @@
workingMemory );
}
+ public void propagateNewTupleSink(ReteTuple tuple,
+ PropagationContext context,
+ InternalWorkingMemory workingMemory) {
+
+ final TupleSink sink = sinks.getLast();
+ ReteTuple child = new ReteTuple( tuple,
+ sink );
+ tuple.addChildEntry( child );
+ child.assertTuple( context,
+ workingMemory );
+ }
+
public void propagateNewTupleSink(InternalFactHandle handle,
LinkedList list,
PropagationContext context,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -31,7 +31,6 @@
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalRuleBase;
import org.drools.common.PropagationContextImpl;
-import org.drools.common.AbstractWorkingMemory.WorkingMemoryAction;
import org.drools.rule.Query;
import org.drools.rule.Rule;
import org.drools.spi.Activation;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleTupleSinkAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleTupleSinkAdapter.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleTupleSinkAdapter.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -62,7 +62,7 @@
public void propagateAssertTuple(final ReteTuple tuple,
final InternalFactHandle handle,
final PropagationContext context,
- final ReteooWorkingMemory workingMemory) {
+ final InternalWorkingMemory workingMemory) {
final ReteTuple joined = new ReteTuple( tuple,
handle,
sink );
@@ -91,6 +91,13 @@
}
+ public void propagateNewTupleSink(ReteTuple tuple,
+ PropagationContext context,
+ InternalWorkingMemory workingMemory) {
+ // do nothing, as we have no new tuple sinks
+ throw new RuntimeException( "This is a bug you cannot update new data through this single sink adapter" );
+ }
+
public List getPropagatedTuples(final Map memory,
final InternalWorkingMemory workingMemory,
final TupleSink sink) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSinkPropagator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSinkPropagator.java 2006-09-18 13:35:47 UTC (rev 6268)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSinkPropagator.java 2006-09-18 13:40:02 UTC (rev 6269)
@@ -14,11 +14,11 @@
TupleMatch tupleMatch,
PropagationContext context,
InternalWorkingMemory workingMemory);
-
+
public void propagateAssertTuple(ReteTuple tuple,
PropagationContext context,
- InternalWorkingMemory workingMemory);
-
+ InternalWorkingMemory workingMemory);
+
/**
* Propagates a new tuple adding the given fact handle to the tuple
* before propagating.
@@ -29,30 +29,33 @@
* @param workingMemory
*/
public void propagateAssertTuple(final ReteTuple tuple,
- final InternalFactHandle handle,
- final PropagationContext context,
- final ReteooWorkingMemory workingMemory);
-
+ final InternalFactHandle handle,
+ final PropagationContext context,
+ final InternalWorkingMemory workingMemory);
+
public LinkedList createAndAssertTuple(InternalFactHandle handle,
- PropagationContext context,
- InternalWorkingMemory workingMemory);
-
+ PropagationContext context,
+ InternalWorkingMemory workingMemory);
public TupleSink[] getSinks();
public void propagateNewTupleSink(TupleMatch tupleMatch,
PropagationContext context,
InternalWorkingMemory workingMemory);
-
+
public void propagateNewTupleSink(InternalFactHandle handle,
LinkedList list,
PropagationContext context,
- InternalWorkingMemory workingMemory);
-
+ InternalWorkingMemory workingMemory);
+
+ public void propagateNewTupleSink(ReteTuple tuple,
+ PropagationContext context,
+ InternalWorkingMemory workingMemory);
+
public List getPropagatedTuples(final Map memory,
final InternalWorkingMemory workingMemory,
final TupleSink sink);
-
+
public int size();
}
More information about the jboss-svn-commits
mailing list