[jboss-svn-commits] JBL Code SVN: r25831 - in labs/jbossrules/branches/salaboy_streams: drools-compiler/src/test/resources/org/drools/integrationtests and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 25 16:57:18 EDT 2009


Author: salaboy21
Date: 2009-03-25 16:57:18 -0400 (Wed, 25 Mar 2009)
New Revision: 25831

Modified:
   labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint_ModifyEvent.drl
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/InputMarshaller.java
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/OutputMarshaller.java
   labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
Log:
fixes in default knowledge helper and serialization of the entryPoints in Input/Output Marshallers.. analyze how turn off and on this caching in identityMap


Modified: labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -57,7 +57,6 @@
 import org.drools.IndexedNumber;
 import org.drools.InsertedObject;
 import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseConfiguration;
 import org.drools.KnowledgeBaseFactory;
 import org.drools.Message;
 import org.drools.MockPersistentSet;
@@ -104,7 +103,6 @@
 import org.drools.compiler.PackageBuilderConfiguration;
 import org.drools.compiler.ParserError;
 import org.drools.compiler.PackageBuilder.PackageMergeException;
-import org.drools.conf.SequentialOption;
 import org.drools.definition.KnowledgePackage;
 import org.drools.definition.type.FactType;
 import org.drools.event.ActivationCancelledEvent;
@@ -134,13 +132,11 @@
 import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
 import org.drools.runtime.Globals;
 import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.StatelessKnowledgeSession;
 import org.drools.runtime.rule.impl.FlatQueryResults;
 import org.drools.spi.ConsequenceExceptionHandler;
 import org.drools.spi.GlobalResolver;
 import org.drools.xml.XmlDumper;
 
-import com.thoughtworks.xstream.MarshallingStrategy;
 
 /** Run all the tests with the ReteOO engine implementation */
 public class MiscTest extends TestCase {

Modified: labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint_ModifyEvent.drl
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint_ModifyEvent.drl	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint_ModifyEvent.drl	2009-03-25 20:57:18 UTC (rev 25831)
@@ -9,19 +9,19 @@
 end
 
 rule "Test entry point modify event"
-    dialect "mvel"
+    #dialect "mvel"
 when
     $st : StockTick( company == "ACME", price > 10 ) from entry-point "StockStream"
 then
-    #modify( $st ){
-    #    setPrice(10)
+    modify( $st ){
+        setPrice(10)
+    }
+    #modify ( $st ){
+    #    price = 10
     #}
-    modify ( $st ){
-        price = 10
-    }
-    modify (anotherStockTick){
-            price = 10
-    }
+    #modify (anotherStockTick){
+    #        price = 10
+    #}
     #anotherStockTick.price = 10.0
     results.add( $st );
 end

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -37,7 +37,6 @@
 import org.drools.FactHandle;
 import org.drools.WorkingMemory;
 import org.drools.common.InternalFactHandle;
-import org.drools.common.InternalWorkingMemory;
 import org.drools.common.InternalWorkingMemoryEntryPoint;
 import org.drools.spi.Activation;
 import org.drools.spi.KnowledgeHelper;
@@ -282,13 +281,13 @@
 //                                ((InternalWorkingMemoryActions)(this.tuple.get(declaration)).getEntryPoint()),
 //                                     this.tuple.get( declaration ).getObject() ),
 //                                     tuple.get(declaration));
-        InternalWorkingMemoryActions wmTmp = ((InternalWorkingMemoryActions)(this.tuple.get(declaration)).getEntryPoint());
+        InternalWorkingMemoryEntryPoint wmTmp = ((InternalWorkingMemoryEntryPoint)(this.tuple.get(declaration)).getEntryPoint());
        
 
-        Object object = declaration.getValue( wmTmp ,
+        Object object = declaration.getValue( wmTmp.getInternalWorkingMemory() ,
                                      this.tuple.get( declaration ).getObject() );
         if(wmTmp != null){
-            getIdentityMap().put(object, wmTmp.getFactHandleByIdentity(object));
+                getIdentityMap().put(object, wmTmp.getFactHandleByIdentity(object));
         }
         return object;
     }
@@ -296,7 +295,7 @@
     public Declaration getDeclaration(final String identifier) {
         Declaration declaration = (Declaration) this.subrule.getOuterDeclarations().get( identifier );
         Object object = get(declaration);
-        InternalWorkingMemoryActions wmTmp = ((InternalWorkingMemoryActions)(this.tuple.get(declaration)).getEntryPoint());
+        InternalWorkingMemoryEntryPoint wmTmp = ((InternalWorkingMemoryEntryPoint)(this.tuple.get(declaration)).getEntryPoint());
         
         if(wmTmp != null){
             getIdentityMap().put(object, wmTmp.getFactHandleByIdentity(object));

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/InternalWorkingMemoryEntryPoint.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -3,6 +3,7 @@
 import org.drools.FactException;
 import org.drools.FactHandle;
 import org.drools.RuleBase;
+import org.drools.rule.EntryPoint;
 import org.drools.rule.Rule;
 
 
@@ -28,5 +29,8 @@
                              final Object object,
                              final Rule rule,
                              final Activation activation);
-    
+    public EntryPoint getEntryPoint();
+    public InternalWorkingMemory getInternalWorkingMemory();
+
+    public FactHandle getFactHandleByIdentity(final Object object);
 }

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -482,5 +482,26 @@
     public RuleBase getRuleBase() {
         return this.ruleBase;
     }
+    private InternalFactHandle createHandle(final Object object,
+                                            ObjectTypeConf typeConf) {
+        InternalFactHandle handle;
+        handle = this.handleFactory.newFactHandle( object,
+                                                   typeConf,
+                                                   this.wm );
+        handle.setEntryPoint( this );
+        this.objectStore.addHandle( handle,
+                                    object );
+        return handle;
+    }
 
+    public EntryPoint getEntryPoint() {
+        return this.entryPoint;
+    }
+
+    public InternalWorkingMemory getInternalWorkingMemory() {
+        return this.wm;
+    }
+    public FactHandle getFactHandleByIdentity(final Object object) {
+        return this.objectStore.getHandleForObjectIdentity( object );
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -51,6 +51,7 @@
 import org.drools.event.rule.impl.ObjectRetractedEventImpl;
 import org.drools.event.rule.impl.ObjectUpdatedEventImpl;
 import org.drools.reteoo.ReteooWorkingMemory;
+import org.drools.rule.EntryPoint;
 import org.drools.rule.Rule;
 import org.drools.runtime.BatchExecutionResults;
 import org.drools.runtime.BatchExecutor;
@@ -343,6 +344,18 @@
         ((AbstractWorkingMemory)this.session).modifyInsert(factHandle, object, rule, activation);
     }
 
+    public EntryPoint getEntryPoint() {
+        return session.getEntryPoint();
+    }
+
+    public InternalWorkingMemory getInternalWorkingMemory() {
+        return session;
+    }
+
+    public org.drools.FactHandle getFactHandleByIdentity(Object object) {
+        return session.getFactHandleByIdentity(object);
+    }
+
     public static abstract class AbstractImmutableCollection
         implements
         Collection {

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/InputMarshaller.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/InputMarshaller.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/InputMarshaller.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -12,7 +12,6 @@
 
 import org.drools.RuntimeDroolsException;
 import org.drools.SessionConfiguration;
-import org.drools.WorkingMemoryEntryPoint;
 import org.drools.base.ClassObjectType;
 import org.drools.common.AgendaItem;
 import org.drools.common.BaseNode;
@@ -362,12 +361,13 @@
         int strategyIndex = context.stream.readInt();
         ObjectMarshallingStrategy strategy = context.resolverStrategyFactory.getStrategy( strategyIndex );
         Object object = strategy.read( context.stream );
-        WorkingMemoryEntryPoint entryPoint = (WorkingMemoryEntryPoint) context.readObject();
+        
 
         InternalFactHandle handle = new DefaultFactHandle( id,
                                                            object,
                                                            recency );
-        handle.setEntryPoint(entryPoint);
+        String  entryPoint = context.readUTF();
+        handle.setEntryPoint(context.wm.getEntryPoints().get(entryPoint));
         return handle;
     }
 

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/OutputMarshaller.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/OutputMarshaller.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/marshalling/impl/OutputMarshaller.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -4,6 +4,7 @@
 import java.io.ObjectOutputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
@@ -15,6 +16,7 @@
 import java.util.Map.Entry;
 
 import org.drools.InitialFact;
+import org.drools.WorkingMemoryEntryPoint;
 import org.drools.base.ClassObjectType;
 import org.drools.common.AgendaItem;
 import org.drools.common.DefaultAgenda;
@@ -22,7 +24,9 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalRuleBase;
 import org.drools.common.InternalWorkingMemory;
+import org.drools.common.InternalWorkingMemoryEntryPoint;
 import org.drools.common.LogicalDependency;
+import org.drools.common.NamedEntryPoint;
 import org.drools.common.NodeMemory;
 import org.drools.common.ObjectStore;
 import org.drools.common.RuleFlowGroupImpl;
@@ -47,6 +51,7 @@
 import org.drools.reteoo.AccumulateNode.AccumulateMemory;
 import org.drools.reteoo.CollectNode.CollectContext;
 import org.drools.reteoo.CollectNode.CollectMemory;
+import org.drools.reteoo.ReteooStatefulSession;
 import org.drools.rule.EntryPoint;
 import org.drools.rule.Rule;
 import org.drools.ruleflow.instance.RuleFlowProcessInstance;
@@ -276,8 +281,7 @@
                                         InternalFactHandle handle) throws IOException {
         stream.writeInt( handle.getId() );
         stream.writeLong( handle.getRecency() );
-        stream.writeObject(handle.getEntryPoint());
-
+        
 //        context.out.println( "Object : int:" + handle.getId() + " long:" + handle.getRecency() );
 //        context.out.println( handle.getObject() );
 
@@ -291,6 +295,9 @@
 
         strategy.write( stream,
                         object );
+        if( handle.getEntryPoint() instanceof InternalWorkingMemoryEntryPoint ){
+            stream.writeUTF(((InternalWorkingMemoryEntryPoint)handle.getEntryPoint()).getEntryPoint().getEntryPointId());
+        }
     }
 
     public static InternalFactHandle[] orderFacts(ObjectStore objectStore) {

Modified: labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2009-03-25 18:23:33 UTC (rev 25830)
+++ labs/jbossrules/branches/salaboy_streams/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2009-03-25 20:57:18 UTC (rev 25831)
@@ -344,5 +344,11 @@
             }
         }
     }
+  public EntryPoint getEntryPoint() {
+        return this.entryPoint;
+  }
+   public InternalWorkingMemory getInternalWorkingMemory() {
+        return this;
+    }
 
 }




More information about the jboss-svn-commits mailing list