[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