[jboss-svn-commits] JBL Code SVN: r6473 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: reteoo util
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Sep 29 14:35:43 EDT 2006
Author: mark.proctor at jboss.com
Date: 2006-09-29 14:35:39 -0400 (Fri, 29 Sep 2006)
New Revision: 6473
Added:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/Iterator.java
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSink.java
Log:
JBRULES-498 Optimised HashMap implementations
-removed modify methods
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AlphaNode.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -151,44 +151,6 @@
}
}
- public void modifyObject(final InternalFactHandle handle,
- final PropagationContext context,
- final InternalWorkingMemory workingMemory) {
- if ( this.constraint.isAllowed( handle.getObject(),
- null,
- workingMemory ) ) {
- boolean exists = false;
- if( hasMemory() ) {
- final ObjectHashTable memory = (ObjectHashTable) workingMemory.getNodeMemory( this );
- // true if the handle exists and it cannot be added
- exists = !memory.add( handle, true );
- }
- if ( exists ) {
- // handle already existed so propagate as modify
- this.sink.propagateModifyObject( handle,
- context,
- workingMemory );
- } else {
- this.sink.propagateAssertObject( handle,
- context,
- workingMemory );
- }
- } else {
- boolean exists = true;
- if( hasMemory ) {
- final ObjectHashTable memory = (ObjectHashTable) workingMemory.getNodeMemory( this );
- exists = memory.remove( handle );
- }
- if ( exists ) {
- this.sink.propagateRetractObject( handle,
- context,
- workingMemory,
- false );
- }
- }
- }
-
-
public void updateSink(ObjectSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -207,53 +207,8 @@
for ( FactEntry entry = ( FactEntry ) it.next(); entry != null; entry = ( FactEntry ) it.next() ) {
sink.propagateRetractTuple( leftTuple, entry.getFactHandle(), context, workingMemory );
}
- }
-
- public void modifyTuple(final ReteTuple leftTuple,
- final PropagationContext context,
- final InternalWorkingMemory workingMemory) {
- final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-
- if ( ! memory.getTupleMemory().contains( leftTuple ) ) {
- assertTuple( leftTuple, context, workingMemory );
- }
+ }
- Iterator iterator;
- if ( leftTuple.isFieldIndexed() ) {
- iterator = memory.getObjectMemory().iterator(leftTuple.getFieldIndexHashCode());
- } else {
- iterator = memory.getObjectMemory().iterator();
- }
-
- for ( FactEntry entry = (FactEntry) iterator.next(); entry != null; entry = ( FactEntry )entry.getNext() ) {
- InternalFactHandle handle = entry.getFactHandle();
- if ( this.constraints.isAllowed( handle, leftTuple, workingMemory ) ) {
- this.sink.propagateModifyTuple( leftTuple, handle, context, workingMemory );
- } else {
- this.sink.propagateRetractTuple( leftTuple, handle, context, workingMemory );
- }
- }
- }
-
- public void modifyObject(final InternalFactHandle handle,
- final PropagationContext context,
- final InternalWorkingMemory workingMemory) {
- final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-
- if ( ! memory.getObjectMemory().contains( handle ) ) {
- assertObject( handle, context, workingMemory );
- }
-
- Iterator it = memory.getTupleMemory().iterator();
- for ( ReteTuple tuple = ( ReteTuple ) it.next(); tuple != null; tuple = ( ReteTuple ) it.next() ) {
- if ( this.constraints.isAllowed( handle, tuple, workingMemory ) ) {
- this.sink.propagateModifyTuple( tuple, handle, context, workingMemory );
- } else {
- this.sink.propagateRetractTuple( tuple, handle, context, workingMemory );
- }
- }
- }
-
/* (non-Javadoc)
* @see org.drools.reteoo.BaseNode#updateNewNode(org.drools.reteoo.WorkingMemoryImpl, org.drools.spi.PropagationContext)
*/
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -192,23 +192,6 @@
}
}
- public void modifyObject(final InternalFactHandle handle,
- final PropagationContext context,
- final InternalWorkingMemory workingMemory) {
- if ( this.hasMemory ) {
- ObjectHashMap map = (ObjectHashMap) workingMemory.getNodeMemory( this );
- LinkedList list = (LinkedList) map.get( handle );
- this.sink.createAndPropagateModifyTuple( list,
- context,
- workingMemory );
- } else {
- ReteTuple tuple = new ReteTuple( handle );
- this.sink.createAndPropagateModifyTuple( tuple,
- context,
- workingMemory );
- }
- }
-
public void updateSink(TupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -234,66 +234,7 @@
context,
workingMemory );
}
- }
-
- public void modifyTuple(ReteTuple leftTuple,
- PropagationContext context,
- InternalWorkingMemory workingMemory) {
- final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-
- // Must use the tuple in memory as it has the tuple matches count
- // If it doesn't exist then propagate as an assert
- ReteTuple tuple = ( ReteTuple ) memory.getTupleMemory().remove( leftTuple );
- if ( tuple == null ) {
- assertTuple( leftTuple, context, workingMemory );
- }
-
- Iterator iterator;
- if ( leftTuple.isFieldIndexed() ) {
- iterator = memory.getObjectMemory().iterator(leftTuple.getFieldIndexHashCode());
- } else {
- iterator = memory.getObjectMemory().iterator();
- }
-
- int matches = tuple.getMatches();
-
- for ( FactEntry entry = (FactEntry) iterator.next(); entry != null; entry = ( FactEntry )entry.getNext() ) {
- InternalFactHandle handle = entry.getFactHandle();
- if ( !this.constraints.isAllowed( handle, leftTuple, workingMemory ) ) {
- matches--;
- }
- }
-
- if ( tuple.getMatches() != 0 && matches == 0 ) {
- this.sink.propagateAssertTuple( leftTuple,
- context,
- workingMemory );
- } else if ( tuple.getMatches() == 0 && matches != 0 ) {
- this.sink.propagateRetractTuple( leftTuple,
- context,
- workingMemory );
- }
- }
-
- public void modifyObject(InternalFactHandle handle,
- PropagationContext context,
- InternalWorkingMemory workingMemory) {
- final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
- if ( !memory.getObjectMemory().contains( handle ) ) {
- assertObject( handle, context, workingMemory );
- }
-
- Iterator it = memory.getTupleMemory().iterator();
- for ( ReteTuple tuple = ( ReteTuple ) it.next(); tuple != null; tuple = ( ReteTuple ) it.next() ) {
- if ( this.constraints.isAllowed( handle, tuple, workingMemory ) ) {
- int matches = tuple.getMatches();
- tuple.setMatches( matches + 1 );
- if ( matches == 0 ) {
- this.sink.propagateRetractTuple( tuple, context, workingMemory );
- }
- }
- }
- }
+ }
/* (non-Javadoc)
* @see org.drools.reteoo.BaseNode#updateNewNode(org.drools.reteoo.WorkingMemoryImpl, org.drools.spi.PropagationContext)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectSink.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -58,9 +58,5 @@
*/
void retractObject(InternalFactHandle handle,
PropagationContext context,
- InternalWorkingMemory workingMemory);
-
- void modifyObject(InternalFactHandle handle,
- PropagationContext context,
- InternalWorkingMemory workingMemory);
+ InternalWorkingMemory workingMemory);
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RightInputAdapterNode.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -92,12 +92,6 @@
this.sink.propagateRetractObject( (InternalFactHandle) tuple.get( this.column ), context, workingMemory, true );
}
- public void modifyTuple(final ReteTuple tuple,
- final PropagationContext context,
- final InternalWorkingMemory workingMemory) {
- this.sink.propagateModifyObject( (InternalFactHandle) tuple.get( this.column ), context, workingMemory );
- }
-
/* (non-Javadoc)
* @see org.drools.reteoo.BaseNode#attach()
*/
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSink.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSink.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/TupleSink.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -54,8 +54,4 @@
void retractTuple(ReteTuple tuple,
PropagationContext context,
InternalWorkingMemory workingMemory);
-
- void modifyTuple(ReteTuple tuple,
- PropagationContext context,
- InternalWorkingMemory workingMemory);
}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/Iterator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/Iterator.java 2006-09-29 17:35:20 UTC (rev 6472)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/Iterator.java 2006-09-29 18:35:39 UTC (rev 6473)
@@ -0,0 +1,5 @@
+package org.drools.util;
+
+public interface Iterator {
+ public Entry next();
+}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list