[jboss-svn-commits] JBL Code SVN: r14918 - in labs/jbossrules/trunk/drools-core/src: test/java/org/drools/reteoo and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 6 21:35:01 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-09-06 21:35:01 -0400 (Thu, 06 Sep 2007)
New Revision: 14918
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/CollectNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockObjectSink.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
Log:
JBRULES-1153 Accumulate/Collect can't be used in queries
-Test fixes and the stat of the memoryAllowed property, that will compliment hasMemory.
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 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -454,4 +454,11 @@
public Object context;
}
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -374,4 +374,9 @@
public InternalFactHandle handle;
public boolean propagated;
}
+
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -249,4 +249,9 @@
return "[ExistsNode - " + ((ObjectTypeNode) source).getObjectType() + "]";
}
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
+
}
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 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -255,4 +255,9 @@
return "[JoinNode - " + ((ObjectTypeNode) source).getObjectType() + "]";
}
+
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -301,6 +301,16 @@
final InternalWorkingMemory workingMemory) {
throw new UnsupportedOperationException( "ObjectSinkAdapter onlys supports assertObject method calls" );
}
+
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
}
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -243,4 +243,9 @@
return "[NotNode - " + ((ObjectTypeNode) source).getObjectType() + "]";
}
+
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -61,4 +61,6 @@
void retractObject(InternalFactHandle handle,
PropagationContext context,
InternalWorkingMemory workingMemory);
+
+ public void setIsMemoryAllowed(boolean memoryAllowed);
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -49,6 +49,8 @@
protected ObjectSource objectSource;
private int alphaNodeHashingThreshold;
+
+ private boolean memoryAllowed;
// ------------------------------------------------------------
// Constructors
@@ -134,5 +136,9 @@
public ObjectSinkPropagator getSinkPropagator() {
return this.sink;
}
+
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ this.memoryAllowed = memoryAllowed;
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -19,6 +19,8 @@
import java.io.Serializable;
import org.drools.RuleBaseConfiguration;
+import org.drools.base.ClassObjectType;
+import org.drools.base.DroolsQuery;
import org.drools.common.BaseNode;
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalWorkingMemory;
@@ -219,7 +221,7 @@
*/
public void attach() {
this.rete.addObjectSink( this );
- }
+ }
public void attach(final InternalWorkingMemory[] workingMemories) {
attach();
@@ -295,13 +297,18 @@
return this.objectType.equals( other.objectType );
}
- /**
+ /**
* @inheritDoc
*/
protected void addObjectSink(final ObjectSink objectSink) {
super.addObjectSink( objectSink );
this.skipOnModify = canSkipOnModify( this.sink.getSinks() );
+ if ( objectType instanceof ClassObjectType && ((ClassObjectType)this.objectType).getClassType() == DroolsQuery.class ) {
+ objectSink.setIsMemoryAllowed( false );
+ }
}
+
+
/**
* @inheritDoc
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -409,6 +409,23 @@
RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setSequential( true );
+ ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
+ BuildContext buildContext = new BuildContext( ruleBase,
+ ruleBase.getReteooBuilder().getIdGenerator() );
+ buildContext.setHasLeftMemory( false );
+ // overide the original node, so we an set the BuildContext
+ this.node = new AccumulateNode( 15,
+ this.tupleSource,
+ this.objectSource,
+ new AlphaNodeFieldConstraint[0],
+ EmptyBetaConstraints.getInstance(),
+ EmptyBetaConstraints.getInstance(),
+ this.accumulate,
+ false,
+ buildContext );
+
+ this.node.addTupleSink( this.sink );
+
this.workingMemory = new ReteooWorkingMemory( 1,
(ReteooRuleBase) RuleBaseFactory.newRuleBase( conf ) );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -421,5 +421,10 @@
}
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
+
}
}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockObjectSink.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockObjectSink.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockObjectSink.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -88,4 +88,9 @@
this.previousObjectSinkNode = previous;
}
+ public void setIsMemoryAllowed(boolean memoryAllowed) {
+ // TODO Auto-generated method stub
+
+ }
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java 2007-09-07 01:32:01 UTC (rev 14917)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java 2007-09-07 01:35:01 UTC (rev 14918)
@@ -102,6 +102,7 @@
alphaNode.attach();
BuildContext buildContext = new BuildContext( ruleBase, ruleBase.getReteooBuilder().getIdGenerator() );
+ buildContext.setHasLeftMemory( false );
final JoinNode joinNode = new JoinNode( 6,
liaNode,
More information about the jboss-svn-commits
mailing list