You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2009/09/02 10:56:44 UTC

svn commit: r810425 - in /cayenne/main/trunk: docs/doc/src/main/resources/RELEASE-NOTES.txt framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialog.java

Author: aadamchik
Date: Wed Sep  2 08:56:44 2009
New Revision: 810425

URL: http://svn.apache.org/viewvc?rev=810425&view=rev
Log:
CAY-1265 error while search inheritance relationship

patch by Olga Tkachova

Modified:
    cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialog.java

Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=810425&r1=810424&r2=810425&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Wed Sep  2 08:56:44 2009
@@ -37,6 +37,7 @@
 CAY-1246 Naming strategy getting stuck in (incorrect) preferences location
 CAY-1248 ClassCastException with OracleLOBBatchAction
 CAY-1252 Bad XML generated when saving DBEntity qualifiers
+CAY-1265 error while search inheritance relationship
 
 ----------------------------------
 Release: 3.0M6

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialog.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialog.java?rev=810425&r1=810424&r2=810425&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialog.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/FindDialog.java Wed Sep  2 08:56:44 2009
@@ -106,7 +106,18 @@
 
             if (path[path.length - 1] instanceof Relationship) {
                 Object parentObject = ((Relationship) path[path.length - 1]).getParent();
-                relatNames.put(new Integer(index++), getParentName(path, parentObject)
+
+                /*
+                 * relationships are different from attributes in that they do not
+                 * correctly return the owning entity when inheritance is involved.
+                 * Hopefully this will be reconciled in the future relases
+                 */
+                String parentName = getParentName(path, parentObject);
+                if (!parentObject.equals(path[path.length - 2])) {
+                    parentName = ((ObjEntity) path[path.length - 2]).getName();
+                }
+
+                relatNames.put(new Integer(index++), parentName
                         + "."
                         + ((Relationship) path[path.length - 1]).getName());
             }