You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2007/12/30 22:02:36 UTC
svn commit: r607588 -
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java
Author: torehalset
Date: Sun Dec 30 13:02:36 2007
New Revision: 607588
URL: http://svn.apache.org/viewvc?rev=607588&view=rev
Log:
improved relationship matcher
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java?rev=607588&r1=607587&r2=607588&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java Sun Dec 30 13:02:36 2007
@@ -310,7 +310,21 @@
}
for (DbJoin j1 : j1s) {
+ boolean foundPair = false;
for (DbJoin j2 : j2s) {
+ if ((j1.getSource() == null) || (j1.getSource().getEntity() == null)) {
+ continue;
+ }
+ if ((j1.getTarget() == null) || (j1.getTarget().getEntity() == null)) {
+ continue;
+ }
+ if ((j2.getSource() == null) || (j2.getSource().getEntity() == null)) {
+ continue;
+ }
+ if ((j2.getTarget() == null) || (j2.getTarget().getEntity() == null)) {
+ continue;
+ }
+
// check entity name
if (!j1.getSource().getEntity().getName().equalsIgnoreCase(
j2.getSource().getEntity().getName())) {
@@ -328,11 +342,16 @@
continue;
}
- return true;
+ foundPair = true;
+ break;
+ }
+
+ if (!foundPair) {
+ return false;
}
}
- return false;
+ return true;
}
private static final class LoaderDelegate implements DbLoaderDelegate {