[jboss-svn-commits] JBL Code SVN: r6691 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/reteoo test/java/org/drools/examples/manners

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Oct 8 11:28:41 EDT 2006


Author: mark.proctor at jboss.com
Date: 2006-10-08 11:28:37 -0400 (Sun, 08 Oct 2006)
New Revision: 6691

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
Log:
JBRULES-498 Optimised HashMap implementations
-BetaNode now returns rules that its in

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java	2006-10-08 14:31:56 UTC (rev 6690)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java	2006-10-08 15:28:37 UTC (rev 6691)
@@ -16,6 +16,9 @@
  * limitations under the License.
  */
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.drools.RuleBaseConfiguration;
 import org.drools.base.evaluators.Operator;
 import org.drools.common.BaseNode;
@@ -128,6 +131,21 @@
         this.rightInput.addObjectSink( this );
     }
 
+    public List getRules() {
+        List list = new ArrayList();        
+        
+        TupleSink[] sinks = this.sink.getSinks();
+        for ( int i = 0, length = sinks.length; i < length; i++ ) {                
+            if ( sinks[i].getClass() == TerminalNode.class ) {
+                list.add( ( ( TerminalNode ) sinks[i]).getRule().getName() );
+            } else if  ( sinks[i] instanceof BetaNode )  {
+                list.addAll( ( (BetaNode) sinks[i] ).getRules() );
+            }
+        }        
+        
+        return list;
+    }    
+    
     public void attach(final InternalWorkingMemory[] workingMemories) {
         attach();
 

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-08 14:31:56 UTC (rev 6690)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2006-10-08 15:28:37 UTC (rev 6691)
@@ -223,7 +223,7 @@
                 }
             }               
         }
-    }
+    }    
     
     public String toString() {
         ObjectSource source = this.rightInput;

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2006-10-08 14:31:56 UTC (rev 6690)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2006-10-08 15:28:37 UTC (rev 6691)
@@ -57,7 +57,7 @@
         //           
         //        });
 
-        final InputStream is = getClass().getResourceAsStream( "/manners16.dat" );
+        final InputStream is = getClass().getResourceAsStream( "/manners5.dat" );
         final List list = getInputObjects( is );
         for ( final Iterator it = list.iterator(); it.hasNext(); ) {
             final Object object = it.next();
@@ -68,7 +68,10 @@
 
         final long start = System.currentTimeMillis();
         workingMemory.fireAllRules();
-        System.err.println( System.currentTimeMillis() - start );                   
+        System.err.println( System.currentTimeMillis() - start );
+        
+        MemoryVisitor visitor = new MemoryVisitor( ( InternalWorkingMemory ) workingMemory );
+        visitor.visit( ruleBase );               
 
         //        final ReteooJungViewer viewer = new ReteooJungViewer(ruleBase); 
         //        




More information about the jboss-svn-commits mailing list