[jboss-svn-commits] JBL Code SVN: r6330 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: base common reteoo

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 20 14:38:22 EDT 2006


Author: tirelli
Date: 2006-09-20 14:38:13 -0400 (Wed, 20 Sep 2006)
New Revision: 6330

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java
Log:
Reusing KnowledgeHelper

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2006-09-20 18:30:20 UTC (rev 6329)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2006-09-20 18:38:13 UTC (rev 6330)
@@ -33,11 +33,15 @@
 public class DefaultKnowledgeHelper
     implements
     KnowledgeHelper {
-    private final Rule                         rule;
-    private final Activation                   activation;
-    private final Tuple                        tuple;
+    private Rule                               rule;
+    private Activation                         activation;
+    private Tuple                              tuple;
     private final InternalWorkingMemoryActions workingMemory;
 
+    public DefaultKnowledgeHelper(final WorkingMemory workingMemory) {
+        this.workingMemory = (InternalWorkingMemoryActions) workingMemory;
+    }
+
     public DefaultKnowledgeHelper(final Activation agendaItem,
                                   final WorkingMemory workingMemory) {
         this.rule = agendaItem.getRule();
@@ -45,6 +49,12 @@
         this.tuple = agendaItem.getTuple();
         this.workingMemory = (InternalWorkingMemoryActions) workingMemory;
     }
+    
+    public void setActivation(Activation agendaItem) {
+        this.rule = agendaItem.getRule();
+        this.activation = agendaItem;
+        this.tuple = agendaItem.getTuple();
+    }
 
     public void assertObject(final Object object) throws FactException {
         assertObject( object,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2006-09-20 18:30:20 UTC (rev 6329)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2006-09-20 18:38:13 UTC (rev 6330)
@@ -26,6 +26,7 @@
 import java.util.Map;
 
 import org.drools.WorkingMemory;
+import org.drools.base.DefaultKnowledgeHelper;
 import org.drools.spi.Activation;
 import org.drools.spi.ActivationGroup;
 import org.drools.spi.AgendaFilter;
@@ -54,7 +55,7 @@
  */
 public class DefaultAgenda
     implements
-    Serializable, 
+    Serializable,
     InternalAgenda {
     // ------------------------------------------------------------
     // Instance members
@@ -82,6 +83,8 @@
 
     private AgendaGroup                main;
 
+    private DefaultKnowledgeHelper     knowledgeHelper;
+
     // ------------------------------------------------------------
     // Constructors
     // ------------------------------------------------------------
@@ -96,6 +99,7 @@
      */
     public DefaultAgenda(final WorkingMemory workingMemory) {
         this.workingMemory = workingMemory;
+        this.knowledgeHelper = new DefaultKnowledgeHelper(this.workingMemory);
         this.agendaGroups = new HashMap();
         this.activationGroups = new HashMap();
         this.focusStack = new LinkedList();
@@ -171,7 +175,7 @@
         // Agenda may not have been created yet, if not create it.
         if ( agendaGroup == null ) {
             agendaGroup = new AgendaGroupImpl( name );
-            ( ( DefaultAgenda ) this.workingMemory.getAgenda() ).addAgendaGroup( agendaGroup );
+            ((DefaultAgenda) this.workingMemory.getAgenda()).addAgendaGroup( agendaGroup );
         }
         setFocus( agendaGroup );
     }
@@ -336,7 +340,7 @@
     public void clearAgendaGroup(final AgendaGroup agendaGroup) {
         final EventSupport eventsupport = (EventSupport) this.workingMemory;
 
-        final Queueable[] queueable = ( ( AgendaGroupImpl) agendaGroup ).getQueueable();
+        final Queueable[] queueable = ((AgendaGroupImpl) agendaGroup).getQueueable();
         for ( int i = 0, length = queueable.length; i < length; i++ ) {
             final AgendaItem item = (AgendaItem) queueable[i];
             if ( item == null ) {
@@ -352,7 +356,7 @@
 
             eventsupport.getAgendaEventSupport().fireActivationCancelled( item );
         }
-        ( ( AgendaGroupImpl )agendaGroup ).clear();
+        ((AgendaGroupImpl) agendaGroup).clear();
     }
 
     /* (non-Javadoc)
@@ -431,8 +435,7 @@
         activation.setActivated( false );
 
         try {
-            final KnowledgeHelper knowledgeHelper = new org.drools.base.DefaultKnowledgeHelper( activation,
-                                                                                                this.workingMemory );
+            knowledgeHelper.setActivation(activation);
             activation.getRule().getConsequence().evaluate( knowledgeHelper,
                                                             this.workingMemory );
         } catch ( final Exception e ) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java	2006-09-20 18:30:20 UTC (rev 6329)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TerminalNode.java	2006-09-20 18:38:13 UTC (rev 6330)
@@ -34,7 +34,6 @@
 import org.drools.spi.AgendaGroup;
 import org.drools.spi.Duration;
 import org.drools.spi.PropagationContext;
-import org.drools.spi.Tuple;
 
 /**
  * Leaf Rete-OO node responsible for enacting <code>Action</code> s on a
@@ -369,6 +368,8 @@
     }
 
     class TerminalNodeMemory implements Serializable {
+        private static final long serialVersionUID = -2770066307284050292L;
+
         private AgendaGroupImpl agendaGroup;
 
         private ActivationGroup activationGroup;




More information about the jboss-svn-commits mailing list