[jboss-svn-commits] JBL Code SVN: r14376 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: reteoo and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Aug 19 21:30:21 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-08-19 21:30:21 -0400 (Sun, 19 Aug 2007)
New Revision: 14376

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
Log:
-StatelessSession was not inserting initialfact.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java	2007-08-20 00:35:07 UTC (rev 14375)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalRuleBase.java	2007-08-20 01:30:21 UTC (rev 14376)
@@ -76,7 +76,7 @@
     public void assertObject(FactHandle handle,
                              Object object,
                              PropagationContext context,
-                             ReteooWorkingMemory workingMemory) throws FactException;
+                             InternalWorkingMemory workingMemory) throws FactException;
 
     /**
      * Retract a fact object.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java	2007-08-20 00:35:07 UTC (rev 14375)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooRuleBase.java	2007-08-20 01:30:21 UTC (rev 14376)
@@ -32,12 +32,14 @@
 import org.drools.common.AbstractRuleBase;
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
 import org.drools.concurrent.CommandExecutor;
 import org.drools.concurrent.DefaultExecutorService;
 import org.drools.concurrent.ExecutorService;
 import org.drools.rule.CompositePackageClassLoader;
 import org.drools.rule.InvalidPatternException;
 import org.drools.rule.Rule;
+import org.drools.reteoo.ReteooWorkingMemory.WorkingMemoryReteAssertAction;
 import org.drools.spi.FactHandleFactory;
 import org.drools.spi.PropagationContext;
 import org.drools.util.ObjectHashSet;
@@ -186,7 +188,7 @@
     public void assertObject(final FactHandle handle,
                              final Object object,
                              final PropagationContext context,
-                             final ReteooWorkingMemory workingMemory) throws FactException {
+                             final InternalWorkingMemory workingMemory) throws FactException {
         getRete().assertObject( (DefaultFactHandle) handle,
                                 context,
                                 workingMemory );
@@ -234,7 +236,7 @@
 
             final InitialFactHandle handle = new InitialFactHandle( session.getFactHandleFactory().newFactHandle( new InitialFactHandleDummyObject() ) );
 
-            session.queueWorkingMemoryAction( session.new WorkingMemoryReteAssertAction( handle,
+            session.queueWorkingMemoryAction( new WorkingMemoryReteAssertAction( handle,
                                                                                          false,
                                                                                          true,
                                                                                          null,
@@ -266,7 +268,7 @@
         this.reteooBuilder.removeRule( rule );
     }
 
-    private static class InitialFactHandleDummyObject
+    public static class InitialFactHandleDummyObject
         implements
         Serializable {
         private static final long serialVersionUID = 400L;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java	2007-08-20 00:35:07 UTC (rev 14375)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooStatelessSession.java	2007-08-20 01:30:21 UTC (rev 14376)
@@ -25,6 +25,8 @@
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventListener;
 import org.drools.event.WorkingMemoryEventSupport;
+import org.drools.reteoo.ReteooRuleBase.InitialFactHandleDummyObject;
+import org.drools.reteoo.ReteooWorkingMemory.WorkingMemoryReteAssertAction;
 import org.drools.spi.AgendaFilter;
 import org.drools.spi.GlobalResolver;
 
@@ -35,7 +37,7 @@
 
     private InternalRuleBase            ruleBase;
     private AgendaFilter                agendaFilter;
-    private GlobalResolver              globalResolver                   = new MapGlobalResolver();
+    private GlobalResolver              globalResolver            = new MapGlobalResolver();
 
     /** The eventSupport */
     protected WorkingMemoryEventSupport workingMemoryEventSupport = new WorkingMemoryEventSupport();
@@ -58,6 +60,13 @@
             wm.setAgendaEventSupport( this.agendaEventSupport );
             wm.setRuleFlowEventSupport( ruleFlowEventSupport );
 
+            final InitialFactHandle handle = new InitialFactHandle( wm.getFactHandleFactory().newFactHandle( new InitialFactHandleDummyObject() ) );
+
+            wm.queueWorkingMemoryAction( new WorkingMemoryReteAssertAction( handle,
+                                                                            false,
+                                                                            true,
+                                                                            null,
+                                                                            null ) );
             return wm;
         }
     }
@@ -105,7 +114,7 @@
     public void setGlobal(String identifier,
                           Object value) {
         this.globalResolver.setGlobal( identifier,
-                          value );
+                                       value );
     }
 
     public void setGlobalResolver(GlobalResolver globalResolver) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2007-08-20 00:35:07 UTC (rev 14375)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2007-08-20 01:30:21 UTC (rev 14376)
@@ -128,7 +128,7 @@
                                node );
     }
 
-    public class WorkingMemoryReteAssertAction
+    public static class WorkingMemoryReteAssertAction
         implements
         WorkingMemoryAction {
         private InternalFactHandle factHandle;
@@ -156,14 +156,15 @@
 
         public void execute(InternalWorkingMemory workingMemory) {
 
-            final PropagationContext context = new PropagationContextImpl( ReteooWorkingMemory.this.propagationIdCounter++,
+            final PropagationContext context = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),
                                                                            PropagationContext.ASSERTION,
                                                                            this.ruleOrigin,
                                                                            this.activationOrigin );
-            ReteooWorkingMemory.this.ruleBase.assertObject( this.factHandle,
+            ReteooRuleBase ruleBase = ( ReteooRuleBase ) workingMemory.getRuleBase();
+            ruleBase.assertObject( this.factHandle,
                                                             this.factHandle.getObject(),
                                                             context,
-                                                            ReteooWorkingMemory.this );
+                                                            workingMemory );
         }
     }
 }




More information about the jboss-svn-commits mailing list