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;
}
}