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: