You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/10/18 14:00:18 UTC
[1/2] cayenne git commit: CAY-2489 Add validation to the case of not
to PK relationships
Repository: cayenne
Updated Branches:
refs/heads/master 23dc84b66 -> 5855ffc71
CAY-2489 Add validation to the case of not to PK relationships
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/4dbcfd31
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/4dbcfd31
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/4dbcfd31
Branch: refs/heads/master
Commit: 4dbcfd31879aaa1ed070ada9d423f9166f9f8b4f
Parents: 20b166a
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 17 10:53:39 2018 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Oct 17 10:57:42 2018 +0300
----------------------------------------------------------------------
RELEASE-NOTES.txt | 1 +
.../validation/DbRelationshipValidator.java | 11 +++++++++++
.../validation/ObjRelationshipValidator.java | 17 ++++++++++++++---
.../org/apache/cayenne/map/DbRelationship.java | 6 +++---
4 files changed, 29 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4dbcfd31/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 2905bab..c670328 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -19,6 +19,7 @@ CAY-2471 Support multiple XML project versions
CAY-2473 Modeler: cleanup attributes and relationship editors
CAY-2474 Modeler: swap buttons in dialog toolbar
CAY-2475 Modeler: move inheritance icon to name column in objAttr table and objRel table
+CAY-2489 Add validation to the case of not to PK relationships
Bug Fixes:
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4dbcfd31/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
index 68854fb..8ddc5f9 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DbRelationshipValidator.java
@@ -71,6 +71,17 @@ class DbRelationshipValidator extends ConfigurationNodeValidator {
}
}
+ if(!relationship.isToPK()) {
+ DbRelationship reverseRelationship = relationship.getReverseRelationship();
+ if(reverseRelationship == null || !reverseRelationship.isToPK()) {
+ addFailure(
+ validationResult,
+ relationship,
+ "DbRelationship '%s' has join not to PK. Cayenne doesn't allow this type of relashionships",
+ toString(relationship));
+ }
+ }
+
if (Util.isEmptyString(relationship.getName())) {
addFailure(validationResult, relationship, "Unnamed DbRelationship");
} else if (relationship.getSourceEntity().getAttribute(relationship.getName()) != null) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4dbcfd31/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
index 733c300..d75cc1a 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
@@ -18,9 +18,6 @@
****************************************************************/
package org.apache.cayenne.project.validation;
-import java.util.Iterator;
-import java.util.List;
-
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbJoin;
import org.apache.cayenne.map.DbRelationship;
@@ -30,6 +27,9 @@ import org.apache.cayenne.map.ObjRelationship;
import org.apache.cayenne.util.Util;
import org.apache.cayenne.validation.ValidationResult;
+import java.util.Iterator;
+import java.util.List;
+
class ObjRelationshipValidator extends ConfigurationNodeValidator {
void validate(ObjRelationship relationship, ValidationResult validationResult) {
@@ -126,6 +126,17 @@ class ObjRelationshipValidator extends ConfigurationNodeValidator {
}
}
+ if(!relationship.isToPK()) {
+ ObjRelationship reverseRelationship = relationship.getReverseRelationship();
+ if(reverseRelationship == null || !reverseRelationship.isToPK()) {
+ addFailure(
+ validationResult,
+ relationship,
+ "ObjRelationship '%s' has join not to PK. Cayenne doesn't allow this type of relashioships",
+ toString(relationship));
+ }
+ }
+
// check for relationships with same source and target entities
ObjEntity entity = relationship.getSourceEntity();
for (ObjRelationship rel : entity.getRelationships()) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4dbcfd31/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
index 2eb89c0..ae2ee61 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
@@ -238,12 +238,12 @@ public class DbRelationship extends Relationship implements ConfigurationNode {
return false;
}
- if (target.isPrimaryKey()) {
- return true;
+ if (!target.isPrimaryKey()) {
+ return false;
}
}
- return false;
+ return true;
}
/**
[2/2] cayenne git commit: Merge PR #334
Posted by nt...@apache.org.
Merge PR #334
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5855ffc7
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5855ffc7
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5855ffc7
Branch: refs/heads/master
Commit: 5855ffc71869661d6efe01105934ad81be97ee7b
Parents: 23dc84b 4dbcfd3
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Oct 18 16:50:32 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Oct 18 16:50:32 2018 +0300
----------------------------------------------------------------------
RELEASE-NOTES.txt | 1 +
.../validation/DbRelationshipValidator.java | 11 +++++++++++
.../validation/ObjRelationshipValidator.java | 17 ++++++++++++++---
.../org/apache/cayenne/map/DbRelationship.java | 6 +++---
4 files changed, 29 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/5855ffc7/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --cc RELEASE-NOTES.txt
index 6762076,c670328..e1c1e28
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@@ -19,8 -19,7 +19,9 @@@ CAY-2471 Support multiple XML project v
CAY-2473 Modeler: cleanup attributes and relationship editors
CAY-2474 Modeler: swap buttons in dialog toolbar
CAY-2475 Modeler: move inheritance icon to name column in objAttr table and objRel table
+CAY-2481 Support for Object[] as return type in SQLTemplate and SQLExec
+CAY-2487 Removed usage of CayenneException.
+ CAY-2489 Add validation to the case of not to PK relationships
Bug Fixes: