Repository: cayenne
Updated Branches:
  refs/heads/master b451beafb -> 44665ce78


CAY-2274 added validation case when dependent pk marked as 'generated'


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

Branch: refs/heads/master
Commit: 9839c3e6ff0a7ec47c62e00e5f32a7562a8a80aa
Parents: b451bea
Author: Maxim Petrusevich <maks1...@gmail.com>
Authored: Fri Apr 7 17:44:28 2017 +0300
Committer: Maxim Petrusevich <maks1...@gmail.com>
Committed: Fri Apr 7 17:44:28 2017 +0300

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


http://git-wip-us.apache.org/repos/asf/cayenne/blob/9839c3e6/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 2f06edf..23a92bc 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
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.project.validation;
 
+import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbJoin;
 import org.apache.cayenne.map.DbRelationship;
@@ -25,6 +26,7 @@ import org.apache.cayenne.util.Util;
 import org.apache.cayenne.validation.ValidationResult;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
@@ -100,6 +102,24 @@ class DbRelationshipValidator extends 
ConfigurationNodeValidator {
         }
 
         checkForDuplicates(relationship, validationResult);
+        checkOnGeneratedStrategyConflict(relationship, validationResult);
+    }
+
+    private void checkOnGeneratedStrategyConflict(DbRelationship relationship, 
ValidationResult validationResult) {
+        if (relationship.isToDependentPK()) {
+            Collection<DbAttribute> attributes = 
relationship.getTargetEntity().getGeneratedAttributes();
+            for (DbAttribute attribute : attributes) {
+
+                if (attribute.isGenerated()) {
+                    addFailure(
+                            validationResult,
+                            relationship,
+                            "'To Dep Pk' incompatible with Database-Generated 
on '%s' relationship",
+                            toString(relationship));
+                }
+
+            }
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/9839c3e6/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 3ede2b4..3ab206c 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -27,6 +27,7 @@ CAY-2269 Add support for date/time components extraction in 
expression functions
 CAY-2270 Update function support in expression parser
 CAY-2271 ColumnSelect: support for prefetch and limit
 CAY-2272 ColumnSelect: methods to manually control DISTINCT clause
+CAY-2274 Modeler: Validate case when dependent PK is marked as “generated”
 CAY-2277 Create ClientRuntime with ClientRuntimeBuilder just like ServerRuntime
 
 Bug Fixes:

Reply via email to