[jboss-svn-commits] JBL Code SVN: r6664 - 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
Fri Oct 6 14:21:36 EDT 2006


Author: tirelli
Date: 2006-10-06 14:21:26 -0400 (Fri, 06 Oct 2006)
New Revision: 6664

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
Log:
JBRULES-44: integrating shadow proxy



Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java	2006-10-06 18:19:51 UTC (rev 6663)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java	2006-10-06 18:21:26 UTC (rev 6664)
@@ -19,6 +19,7 @@
 import java.io.Serializable;
 
 import org.drools.RuleBaseConfiguration;
+import org.drools.base.ShadowProxy;
 import org.drools.common.BaseNode;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
@@ -138,8 +139,13 @@
         
         // checks if shadow is enabled
         if(this.objectType.isShadowEnabled()) {
-            // replaces the actual object by its shadow before propagating
-            handle.setObject( this.objectType.getShadow( handle.getObject() ) );
+            // need to improve this
+            if( ! ( handle.getObject() instanceof ShadowProxy) ) {
+                // replaces the actual object by its shadow before propagating
+                handle.setObject( this.objectType.getShadow( handle.getObject() ) );
+            } else {
+                ((ShadowProxy)handle.getObject()).updateProxy();
+            }
         }
         // we do not need to check if the fact exists already
         memory.add( handle, false );




More information about the jboss-svn-commits mailing list