[jboss-svn-commits] JBL Code SVN: r9375 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 6 15:03:16 EST 2007


Author: mark.proctor at jboss.com
Date: 2007-02-06 15:03:16 -0500 (Tue, 06 Feb 2007)
New Revision: 9375

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
Log:
-WorkingMemory.getObject( FactHandle ) now unwraps if its a shadow fact

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-02-06 19:21:15 UTC (rev 9374)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-02-06 20:03:16 UTC (rev 9375)
@@ -424,14 +424,15 @@
     public Object getObject(final FactHandle handle) {
         try {
             this.lock.lock();
-            // you must always take the value from the assertMap, incase the handle
-            // is not from this WorkingMemory
-            final InternalFactHandle factHandle = (InternalFactHandle) this.assertMap.get( handle );
-            if ( factHandle != null ) {
-                return factHandle.getObject();
+            InternalFactHandle internalHandle = ( InternalFactHandle ) handle;
+            
+            Object object = internalHandle.getObject();
+            
+            if ( internalHandle.isShadowFact() ) {
+                object = ( (ShadowProxy) object ).getShadowedObject();
             }
-
-            return null;
+        
+            return object;
         } finally {
             this.lock.unlock();
         }




More information about the jboss-svn-commits mailing list