[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