Repository: cayenne
Updated Branches:
  refs/heads/master 42be874b7 -> 8f2e886cd


CAY-1892 Add Relationship Data Type Warning to Cayenne Modeler


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/da3bcddb
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/da3bcddb
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/da3bcddb

Branch: refs/heads/master
Commit: da3bcddb5151ccf2b80a81f3d08015e697ced7b5
Parents: 8f3ac8b
Author: Anton Dreka <[email protected]>
Authored: Tue Apr 18 16:25:30 2017 +0300
Committer: Anton Dreka <[email protected]>
Committed: Tue Apr 18 16:25:30 2017 +0300

----------------------------------------------------------------------
 .../project/validation/DbRelationshipValidator.java    | 13 +++++++++++++
 docs/doc/src/main/resources/RELEASE-NOTES.txt          |  1 +
 2 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/da3bcddb/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 5bf6d49..b865e80 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
@@ -95,6 +95,19 @@ class DbRelationshipValidator extends 
ConfigurationNodeValidator {
 
         checkForDuplicates(relationship, validationResult);
         checkOnGeneratedStrategyConflict(relationship, validationResult);
+        checkTypesOfAttributesInRelationship(relationship, validationResult);
+    }
+
+    private void checkTypesOfAttributesInRelationship(DbRelationship 
relationship, ValidationResult validationResult) {
+        for (DbJoin join: relationship.getJoins()) {
+            if (join.getSource().getType() != join.getTarget().getType()) {
+                addFailure(
+                        validationResult,
+                        relationship,
+                        "Attributes '%s' and '%s' have different types in a 
relationship '%s'",
+                        join.getSourceName(), join.getTargetName(), 
relationship.getName());
+            }
+        }
     }
 
     private void checkOnGeneratedStrategyConflict(DbRelationship relationship, 
ValidationResult validationResult) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/da3bcddb/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt 
b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 694e754..49b028b 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -32,6 +32,7 @@ CAY-2277 Create ClientRuntime with ClientRuntimeBuilder just 
like ServerRuntime
 
 Bug Fixes:
 
+CAY-1892 Add Relationship Data Type Warning to Cayenne Modeler
 CAY-2021 cdbimport: detect when same FK constraint is defined twice
 CAY-2077 Bug in CayenneRuntimeException using wrong specified string in 
Formatter
 CAY-2094 SelectById query doesn't work from ROP client

Reply via email to