[jboss-svn-commits] JBL Code SVN: r9376 - 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:09:36 EST 2007


Author: mark.proctor at jboss.com
Date: 2007-02-06 15:09:36 -0500 (Tue, 06 Feb 2007)
New Revision: 9376

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
Log:
-WorkingMemory.getObject( FactHandle ) now makes sure the FactHandle is from this working memory.

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 20:03:16 UTC (rev 9375)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2007-02-06 20:09:36 UTC (rev 9376)
@@ -424,11 +424,16 @@
     public Object getObject(final FactHandle handle) {
         try {
             this.lock.lock();
-            InternalFactHandle internalHandle = ( InternalFactHandle ) handle;
+                        
+            // Make sure the FactHandle is from this WorkingMemory
+            InternalFactHandle internalHandle = ( InternalFactHandle ) this.assertMap.get( handle );
+            if ( internalHandle == null ) {
+                return null;
+            }
             
             Object object = internalHandle.getObject();
             
-            if ( internalHandle.isShadowFact() ) {
+            if ( object != null && internalHandle.isShadowFact() ) {
                 object = ( (ShadowProxy) object ).getShadowedObject();
             }
         




More information about the jboss-svn-commits mailing list