[jboss-svn-commits] JBL Code SVN: r17867 - in labs/jbossrules/branches/temporal_rete/drools-core/src: main/java/org/drools/reteoo and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 15 10:53:14 EST 2008
Author: tirelli
Date: 2008-01-15 10:53:14 -0500 (Tue, 15 Jan 2008)
New Revision: 17867
Modified:
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/common/BaseNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/FromNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/PropagationQueuingNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/Rete.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java
labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockObjectSource.java
labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java
labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java
Log:
JBRULES-1390: recycling node IDs
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/common/BaseNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/common/BaseNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/common/BaseNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -1,5 +1,7 @@
package org.drools.common;
+import org.drools.reteoo.ReteooBuilder;
+
/*
* Copyright 2005 JBoss Inc
*
@@ -57,9 +59,11 @@
/**
* Removes the node from teh network. Usually from the parent <code>ObjectSource</code> or <code>TupleSource</code>
+ * @param builder TODO
*
*/
- public abstract void remove(BaseNode node,
+ public abstract void remove(ReteooBuilder builder,
+ BaseNode node,
InternalWorkingMemory[] workingMemories);
// /**
@@ -86,10 +90,14 @@
/**
* Each time a node is unshared a counter is decreased.
+ * @param builder TODO
*
*/
- public void removeShare() {
+ public void removeShare(ReteooBuilder builder) {
--this.sharedCount;
+ if( !this.isInUse() ) {
+ builder.getIdGenerator().releaseId( this.id );
+ }
}
/**
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -185,20 +185,20 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeObjectSink( (ObjectSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
}
- this.objectSource.remove( this,
- workingMemories );
+ this.objectSource.remove( builder,
+ this, workingMemories );
}
public void setObjectMemoryAllowed(boolean objectMemoryAllowed) {
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/BetaNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/BetaNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -155,22 +155,22 @@
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeTupleSink( (TupleSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
}
- this.rightInput.remove( this,
- workingMemories );
- this.leftInput.remove( this,
- workingMemories );
+ this.rightInput.remove( builder,
+ this, workingMemories );
+ this.leftInput.remove( builder,
+ this, workingMemories );
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EntryPointNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -211,8 +211,8 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
final ObjectTypeNode objectTypeNode = (ObjectTypeNode) node;
removeObjectSink( objectTypeNode );
for ( int i = 0; i < workingMemories.length; i++ ) {
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -219,19 +219,19 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeTupleSink( (TupleSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
}
- this.tupleSource.remove( this,
- workingMemories );
+ this.tupleSource.remove( builder,
+ this, workingMemories );
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/FromNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/FromNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/FromNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -139,21 +139,21 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeTupleSink( (TupleSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
}
- this.tupleSource.remove( this,
- workingMemories );
+ this.tupleSource.remove( builder,
+ this, workingMemories );
}
public void updateSink(final TupleSink sink,
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -175,19 +175,19 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeTupleSink( (TupleSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
}
- this.objectSource.remove( this,
- workingMemories );
+ this.objectSource.remove( builder,
+ this, workingMemories );
}
public boolean isObjectMemoryEnabled() {
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -219,12 +219,12 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeObjectSink( (ObjectSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/PropagationQueuingNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/PropagationQueuingNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/PropagationQueuingNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -109,22 +109,22 @@
}
/**
- * @see org.drools.common.BaseNode#remove(org.drools.common.BaseNode, org.drools.common.InternalWorkingMemory[])
+ * @see org.drools.common.BaseNode#remove(ReteooBuilder, org.drools.common.BaseNode, org.drools.common.InternalWorkingMemory[])
*/
@Override
- public void remove(BaseNode node,
- InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ BaseNode node, InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeObjectSink( (ObjectSink) node );
}
- removeShare();
+ removeShare(builder);
if ( !this.isInUse() ) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
}
- this.objectSource.remove( this,
- workingMemories );
+ this.objectSource.remove( builder,
+ this, workingMemories );
}
/**
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -150,16 +150,16 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
workingMemories[i].clearNodeMemory( this );
}
- removeShare();
+ removeShare(builder);
- this.tupleSource.remove( this,
- workingMemories );
+ this.tupleSource.remove( builder,
+ this, workingMemories );
}
public void updateNewNode(final InternalWorkingMemory workingMemory,
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/Rete.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/Rete.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -160,8 +160,8 @@
throw new UnsupportedOperationException( "cannot call attach() from the root Rete node" );
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
final EntryPointNode entryPointNode = (EntryPointNode) node;
removeObjectSink( entryPointNode );
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -24,9 +24,14 @@
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Queue;
import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
import org.drools.RuleIntegrationException;
import org.drools.base.SalienceInteger;
@@ -37,7 +42,6 @@
import org.drools.reteoo.builder.ReteooRuleBuilder;
import org.drools.rule.InvalidPatternException;
import org.drools.rule.Rule;
-import org.drools.spi.AgendaGroup;
import org.drools.spi.Salience;
/**
@@ -62,7 +66,7 @@
private static final long serialVersionUID = 400L;
/** The RuleBase */
- private transient InternalRuleBase ruleBase;
+ private transient InternalRuleBase ruleBase;
private transient InternalWorkingMemory[] workingMemories;
@@ -71,7 +75,7 @@
private transient ReteooRuleBuilder ruleBuilder;
private IdGenerator idGenerator;
-
+
private boolean ordered;
// ------------------------------------------------------------
@@ -95,7 +99,7 @@
ClassNotFoundException {
stream.defaultReadObject();
this.ruleBase = ((DroolsObjectInputStream) stream).getRuleBase();
- this.ruleBuilder = new ReteooRuleBuilder();
+ this.ruleBuilder = new ReteooRuleBuilder();
}
// ------------------------------------------------------------
@@ -121,84 +125,91 @@
this.rules.put( rule,
terminals.toArray( new BaseNode[terminals.size()] ) );
}
-
+
public IdGenerator getIdGenerator() {
return this.idGenerator;
}
-
+
public void order() {
if ( ordered ) {
// we should only do this on first call, its expected the RuleBase should not change afterwards.
return;
}
Map map = new HashMap();
-
+
for ( Iterator it = this.rules.values().iterator(); it.hasNext(); ) {
BaseNode[] nodes = (BaseNode[]) it.next();
- for ( int i = 0 ; i < nodes.length; i++ ) {
+ for ( int i = 0; i < nodes.length; i++ ) {
if ( nodes[i] instanceof RuleTerminalNode ) {
- RuleTerminalNode node = ( RuleTerminalNode ) nodes[i];
+ RuleTerminalNode node = (RuleTerminalNode) nodes[i];
String agendaGroup = node.getRule().getAgendaGroup();
if ( agendaGroup == null || agendaGroup.equals( "" ) ) {
agendaGroup = "MAIN";
}
- List rules = ( List ) map.get( agendaGroup );
+ List rules = (List) map.get( agendaGroup );
if ( rules == null ) {
rules = new ArrayList();
- map.put( agendaGroup, rules );
+ map.put( agendaGroup,
+ rules );
}
rules.add( node );
}
}
}
-
+
for ( Iterator it = map.entrySet().iterator(); it.hasNext(); ) {
- Entry entry = ( Entry ) it.next();
+ Entry entry = (Entry) it.next();
String agendaGroup = (String) entry.getKey();
- List rules = ( List ) entry.getValue();
- Collections.sort( rules, RuleSequenceComparator.INSTANCE );
-
+ List rules = (List) entry.getValue();
+ Collections.sort( rules,
+ RuleSequenceComparator.INSTANCE );
+
int i = 0;
for ( Iterator listIter = rules.iterator(); listIter.hasNext(); ) {
- RuleTerminalNode node = ( RuleTerminalNode ) listIter.next();
+ RuleTerminalNode node = (RuleTerminalNode) listIter.next();
node.setSequence( i++ );
}
-
- ruleBase.getAgendaGroupRuleTotals().put( agendaGroup, new Integer( i ) );
+
+ ruleBase.getAgendaGroupRuleTotals().put( agendaGroup,
+ new Integer( i ) );
}
ordered = true;
}
- public static class RuleSequenceComparator implements Comparator {
+ public static class RuleSequenceComparator
+ implements
+ Comparator {
public final static RuleSequenceComparator INSTANCE = new RuleSequenceComparator();
public int compare(Object o1,
Object o2) {
RuleTerminalNode r1 = (RuleTerminalNode) o1;
RuleTerminalNode r2 = (RuleTerminalNode) o2;
-
+
Salience so1 = r1.getRule().getSalience();
- if (so1 != null && !(so1 instanceof SalienceInteger) ) {
- throw new RuntimeException(r1.getRule().getName() + "must not have a dynamic salience" );
+ if ( so1 != null && !(so1 instanceof SalienceInteger) ) {
+ throw new RuntimeException( r1.getRule().getName() + "must not have a dynamic salience" );
}
Salience so2 = r2.getRule().getSalience();
- if (so2 != null && !(so2 instanceof SalienceInteger) ) {
- throw new RuntimeException(r2.getRule().getName() + "must not have a dynamic salience" );
+ if ( so2 != null && !(so2 instanceof SalienceInteger) ) {
+ throw new RuntimeException( r2.getRule().getName() + "must not have a dynamic salience" );
}
-
- int s1 = so1.getValue( null, null );
- int s2 = so2.getValue( null, null );
-
- if ( s1 > s2) {
+
+ int s1 = so1.getValue( null,
+ null );
+ int s2 = so2.getValue( null,
+ null );
+
+ if ( s1 > s2 ) {
return -1;
} else if ( s1 < s2 ) {
return 1;
- }
-
- int id1 =r1.getId();
- int id2 =r2.getId();
-
- if ( id1 < id2) {
+ }
+
+ int id1 = r1.getId();
+ int id2 = r2.getId();
+
+ if ( id1 < id2 ) {
return -1;
} else if ( id1 > id2 ) {
return 1;
@@ -206,9 +217,9 @@
return 0;
}
}
-
+
}
-
+
public BaseNode[] getTerminalNodes(final Rule rule) {
return (BaseNode[]) this.rules.get( rule );
}
@@ -222,7 +233,8 @@
final BaseNode[] nodes = (BaseNode[]) object;
for ( int i = 0, length = nodes.length; i < length; i++ ) {
final BaseNode node = nodes[i];
- node.remove( null,
+ node.remove( this,
+ null,
this.workingMemories );
}
}
@@ -233,19 +245,29 @@
private static final long serialVersionUID = 400L;
+ private Queue<Integer> recycledIds;
private int nextId;
public IdGenerator(final int firstId) {
this.nextId = firstId;
+ this.recycledIds = new LinkedList<Integer>();
}
public int getNextId() {
- return this.nextId++;
+ Integer id = this.recycledIds.poll();
+ if( id == null ) {
+ return this.nextId++;
+ }
+ return id.intValue();
}
public void releaseLastId() {
this.nextId--;
}
+
+ public void releaseId( int id ) {
+ this.recycledIds.add( new Integer(id) );
+ }
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -165,14 +165,14 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
if ( !node.isInUse() ) {
removeObjectSink( (ObjectSink) node );
}
- removeShare();
- this.tupleSource.remove( this,
- workingMemories );
+ removeShare(builder);
+ this.tupleSource.remove( builder,
+ this, workingMemories );
}
public boolean isTupleMemoryEnabled() {
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -432,8 +432,8 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
final InternalWorkingMemory workingMemory = workingMemories[i];
@@ -461,10 +461,10 @@
workingMemory.clearNodeMemory( this );
}
- removeShare();
+ removeShare(builder);
- this.tupleSource.remove( this,
- workingMemories );
+ this.tupleSource.remove( builder,
+ this, workingMemories );
}
public Object createMemory(final RuleBaseConfiguration config) {
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/BaseNodeTest.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -60,8 +60,8 @@
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
// TODO Auto-generated method stub
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockObjectSource.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockObjectSource.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockObjectSource.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -71,8 +71,8 @@
}
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
// TODO Auto-generated method stub
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSink.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -96,8 +96,8 @@
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
// TODO Auto-generated method stub
}
Modified: labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java
===================================================================
--- labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java 2008-01-15 13:44:55 UTC (rev 17866)
+++ labs/jbossrules/branches/temporal_rete/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java 2008-01-15 15:53:14 UTC (rev 17867)
@@ -53,8 +53,8 @@
this.updated++;
}
- public void remove(final BaseNode node,
- final InternalWorkingMemory[] workingMemories) {
+ public void remove(ReteooBuilder builder,
+ final BaseNode node, final InternalWorkingMemory[] workingMemories) {
// TODO Auto-generated method stub
}
More information about the jboss-svn-commits
mailing list