[jboss-svn-commits] JBL Code SVN: r12981 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jul 1 19:50:28 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-07-01 19:50:28 -0400 (Sun, 01 Jul 2007)
New Revision: 12981

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
Log:
JBRULES-947 sequential rete
-sequence ordering only happens once now, on first use

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java	2007-07-01 22:42:36 UTC (rev 12980)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java	2007-07-01 23:50:28 UTC (rev 12981)
@@ -71,6 +71,8 @@
     private transient ReteooRuleBuilder       ruleBuilder;
 
     private IdGenerator                       idGenerator;
+    
+    private boolean                           ordered;
 
     // ------------------------------------------------------------
     // Constructors
@@ -128,6 +130,10 @@
     }
     
     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(); ) {
@@ -163,6 +169,7 @@
             
             ruleBase.getAgendaGroupRuleTotals().put( agendaGroup, new Integer( i ) );
         }
+        ordered = true;
     }
 
     public static class RuleSequenceComparator implements Comparator {




More information about the jboss-svn-commits mailing list