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 2019/09/17 10:53:26 UTC
[cayenne] branch STABLE-4.1 updated: CAY-2619 "to-dep PK" related
dbimport delta confuses the Modeler
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
new c543cfc CAY-2619 "to-dep PK" related dbimport delta confuses the Modeler
c543cfc is described below
commit c543cfc320dc69c47eb7e711261aeddf07988910
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Tue Sep 17 13:52:42 2019 +0300
CAY-2619 "to-dep PK" related dbimport delta confuses the Modeler
---
RELEASE-NOTES.txt | 1 +
.../main/java/org/apache/cayenne/dbsync/merge/DbEntityMerger.java | 2 +-
.../cayenne/dbsync/merge/token/model/SetPrimaryKeyToModel.java | 2 +-
cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java | 8 ++++++++
4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 3b42178..200e30e 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -40,6 +40,7 @@ CAY-2608 Modeler: NPE when reverse engineering with an auto-adapter DataSource
CAY-2609 Modeler: can't close dbImport result dialog window
CAY-2614 Modeler: Connection test result window shown under other windows
CAY-2616 Modeler: Wrong handling of path with spaces
+CAY-2619 "to-dep PK" related dbimport delta confuses the Modeler
----------------------------------
Release: 4.1.B2
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbEntityMerger.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbEntityMerger.java
index 81d90b1..7f5aa76 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbEntityMerger.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/DbEntityMerger.java
@@ -130,7 +130,7 @@ class DbEntityMerger extends AbstractMerger<DataMap, DbEntity> {
}
private Set<String> upperCaseEntityNames(Collection<? extends Attribute> attributes) {
- Set<String> names = new HashSet<String>();
+ Set<String> names = new HashSet<>();
for (Attribute attr : attributes) {
names.add(attr.getName().toUpperCase());
}
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/SetPrimaryKeyToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/SetPrimaryKeyToModel.java
index 308f290..cbf020f 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/SetPrimaryKeyToModel.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/SetPrimaryKeyToModel.java
@@ -35,7 +35,7 @@ public class SetPrimaryKeyToModel extends AbstractToModelToken.Entity {
private Collection<DbAttribute> primaryKeyOriginal;
private Collection<DbAttribute> primaryKeyNew;
private String detectedPrimaryKeyName;
- private Set<String> primaryKeyNewAttributeNames = new HashSet<String>();
+ private Set<String> primaryKeyNewAttributeNames = new HashSet<>();
public SetPrimaryKeyToModel(DbEntity entity,
Collection<DbAttribute> primaryKeyOriginal,
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
index c341aa6..cdf5d14 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DbEntity.java
@@ -473,6 +473,14 @@ public class DbEntity extends Entity implements ConfigurationNode, DbEntityListe
}
}
}
+
+ // check toDep PK for reverse relationships
+ for (DbRelationship rel : getRelationships()) {
+ DbRelationship reverse = rel.getReverseRelationship();
+ if(reverse != null && reverse.isToDependentPK() && !reverse.isValidForDepPk()) {
+ reverse.setToDependentPK(false);
+ }
+ }
}
// handle generated key refresh