Author: aadamchik
Date: Thu Dec 21 01:53:33 2006
New Revision: 489303

URL: http://svn.apache.org/viewvc?view=rev&rev=489303
Log:
CAY-724 - aplying 3.0 fix to 1.2 branch

Modified:
    
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataDomainQueryAction.java
    
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt

Modified: 
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataDomainQueryAction.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataDomainQueryAction.java?view=diff&rev=489303&r1=489302&r2=489303
==============================================================================
--- 
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataDomainQueryAction.java
 (original)
+++ 
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataDomainQueryAction.java
 Thu Dec 21 01:53:33 2006
@@ -108,6 +108,7 @@
     Map prefetchResultsByPath;
     Map queriesByNode;
     Map queriesByExecutedQueries;
+    boolean noObjectConversion;
 
     /*
      * A constructor for the "new" way of performing a query via 'execute' with
@@ -147,8 +148,9 @@
             }
         }
 
-        // turn results to objects
-        interceptObjectConversion();
+        if (!noObjectConversion) {
+            interceptObjectConversion();
+        }
 
         return response;
     }
@@ -227,25 +229,21 @@
 
             DataRow targetRow = cache.getCachedSnapshot(targetId);
 
-            DataRow resultRow;
-
             if (targetRow != null) {
-                resultRow = targetRow;
-            }
-            // if no inheritance involved, we can return a valid partial row 
made from
-            // the target Id alone...
-            else if (domain.getEntityResolver().lookupInheritanceTree(
-                    (ObjEntity) relationship.getTargetEntity()) == null) {
-
-                resultRow = new DataRow(targetId.getIdSnapshot());
+                this.response = new 
GenericResponse(Collections.singletonList(targetRow));
+                return DONE;
             }
-            else {
-                // can't guess the right target...
-                return !DONE;
+            // a hack to prevent passing partial snapshots to ObjectResolver 
... See
+            // CAY-724 for details.
+            else if (context != null
+                    && domain.getEntityResolver().lookupInheritanceTree(
+                            (ObjEntity) relationship.getTargetEntity()) == 
null) {
+
+                this.noObjectConversion = true;
+                Object object = context.localObject(targetId, null);
+                this.response = new 
GenericResponse(Collections.singletonList(object));
+                return DONE;
             }
-
-            this.response = new 
GenericResponse(Collections.singletonList(resultRow));
-            return DONE;
         }
 
         return !DONE;

Modified: 
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt?view=diff&rev=489303&r1=489302&r2=489303
==============================================================================
--- 
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt
 (original)
+++ 
incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt
 Thu Dec 21 01:53:33 2006
@@ -15,3 +15,4 @@
 CAY-653 overriding setPersistentState() in unreliable in three tier 
environment with CayenneContext
 CAY-690 Exception in the Modeler when changing schema on derived entities
 CAY-712 Allow modifying objects in validate* methods
+CAY-724 Bogus FaultFailureExceptions


Reply via email to