Author: aadamchik
Date: Sat Oct 14 20:00:59 2006
New Revision: 464105

URL: http://svn.apache.org/viewvc?view=rev&rev=464105
Log:
CAY-693: DataContext should not return HOLLOW objects in response to 
ObjectIdQuery()
(nevermind a comment in the previous commit message about 'DataContextDelegate 
is no longer called on FaultFailures' - I readded
it back as that code was doing bad object eviction from the ObjectStore... I 
just figured a clean way to do that

Modified:
    
incubator/cayenne/main/trunk/assembly/cayenne-generic/src/main/resources/UPGRADE.txt
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java

Modified: 
incubator/cayenne/main/trunk/assembly/cayenne-generic/src/main/resources/UPGRADE.txt
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/assembly/cayenne-generic/src/main/resources/UPGRADE.txt?view=diff&rev=464105&r1=464104&r2=464105
==============================================================================
--- 
incubator/cayenne/main/trunk/assembly/cayenne-generic/src/main/resources/UPGRADE.txt
 (original)
+++ 
incubator/cayenne/main/trunk/assembly/cayenne-generic/src/main/resources/UPGRADE.txt
 Sat Oct 14 20:00:59 2006
@@ -8,8 +8,7 @@
 
 UPGRADING FROM 2.0 AND OTHER APACHE RELEASES
 
-* DataContextDelegate.shouldProcessDelete/finishedProcessDelete methods are no 
longer 
-called on fault resolution failures. A FaultFailreException is thrown, as 
before. 
+.....
 
 UPGRADING FROM 1.2 AND OTHER OBJECTSTYLE RELEASES
 

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java?view=diff&rev=464105&r1=464104&r2=464105
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
 Sat Oct 14 20:00:59 2006
@@ -39,6 +39,7 @@
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.DeleteDenyException;
 import org.apache.cayenne.Fault;
+import org.apache.cayenne.FaultFailureException;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.PersistenceState;
@@ -1584,6 +1585,17 @@
             // call a setter to ensure EntityResolver is extracted from channel
             setChannel(Configuration.getSharedConfiguration().getDomain(
                     lazyInitParentDomainName));
+        }
+    }
+    
+    public void prepareForAccess(Persistent object, String property, boolean 
lazyFaulting) {
+        try {
+            super.prepareForAccess(object, property, lazyFaulting);
+        }
+        catch (FaultFailureException e) {
+            // evict bad object
+            getObjectStore().processDeletedID(object.getObjectId());
+            throw e;
         }
     }
 


Reply via email to