[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