[jboss-svn-commits] JBL Code SVN: r7063 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Oct 23 23:07:27 EDT 2006
Author: mark.proctor at jboss.com
Date: 2006-10-23 23:07:26 -0400 (Mon, 23 Oct 2006)
New Revision: 7063
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
Log:
-Made retract work, by using an instanceof ShadowFact
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java 2006-10-24 02:33:30 UTC (rev 7062)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java 2006-10-24 03:07:26 UTC (rev 7063)
@@ -22,6 +22,7 @@
import org.drools.FactException;
import org.drools.RuleBaseConfiguration;
+import org.drools.base.ShadowProxy;
import org.drools.common.BaseNode;
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalWorkingMemory;
@@ -139,8 +140,14 @@
final Object object = handle.getObject();
- // @todo : this is a nasty hack to make manners run, fix asap!!!
- final ObjectTypeNode[] cachedNodes = (ObjectTypeNode[]) memory.get( object.getClass().getSuperclass() );
+ ObjectTypeNode[] cachedNodes;
+ // //@todo this is a hack, we really don't want to be doing instanceof here
+ if ( object instanceof ShadowProxy ){
+ cachedNodes = (ObjectTypeNode[]) memory.get( object.getClass().getSuperclass() );
+ } else {
+ cachedNodes = (ObjectTypeNode[]) memory.get( object.getClass() );
+ }
+
if ( cachedNodes == null ) {
// it is possible that there are no ObjectTypeNodes for an object being retracted
return;
More information about the jboss-svn-commits
mailing list