This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 09a237335f582ad08a9504ab1bb1ff83ecef2ba9 Author: Andrus Adamchik <[email protected]> AuthorDate: Thu May 21 15:05:49 2026 -0400 Modeler cleanup --- .../merge/token/model/AddRelationshipToModel.java | 8 ++++---- .../dbsync/naming/DefaultObjectNameGenerator.java | 4 ++-- .../reverse/dbimport/ManyToManyCandidateEntity.java | 21 +++++++-------------- .../modeler/ui/action/DbEntitySyncAction.java | 15 +++++++-------- .../dbimport/runner/DbImportProjectSaver.java | 2 +- ...ImportAction.java => ModelerDbImportAction.java} | 4 ++-- .../dbimport/runner/ModelerDbImportModule.java | 2 +- .../modeler/undo/DbEntitySyncUndoableEdit.java | 9 ++++----- 8 files changed, 28 insertions(+), 37 deletions(-) diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/AddRelationshipToModel.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/AddRelationshipToModel.java index 72dcb6b16..4c498af63 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/AddRelationshipToModel.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/model/AddRelationshipToModel.java @@ -32,7 +32,7 @@ public class AddRelationshipToModel extends AbstractToModelToken.Entity { public static final String COMMA_SEPARATOR = ", "; public static final int COMMA_SEPARATOR_LENGTH = COMMA_SEPARATOR.length(); - private DbRelationship relationship; + private final DbRelationship relationship; public AddRelationshipToModel(DbEntity entity, DbRelationship relationship) { super("Add Relationship", 125, entity); @@ -42,13 +42,13 @@ public class AddRelationshipToModel extends AbstractToModelToken.Entity { public static String getTokenValue(DbRelationship rel) { String attributes = ""; if (rel.getJoins().size() == 1) { - attributes = rel.getJoins().get(0).getTargetName(); + attributes = rel.getJoins().getFirst().getTargetName(); } else { for (DbJoin dbJoin : rel.getJoins()) { attributes += dbJoin.getTargetName() + COMMA_SEPARATOR; } - if(attributes.isEmpty()) { + if (attributes.isEmpty()) { attributes = "{}"; } else { attributes = "{" + attributes.substring(0, attributes.length() - COMMA_SEPARATOR_LENGTH) + "}"; @@ -66,7 +66,7 @@ public class AddRelationshipToModel extends AbstractToModelToken.Entity { @Override public void execute(MergerContext context) { // Set name to relationship if it was created without it, e.g. in createReverse() action - if(relationship.getName() == null) { + if (relationship.getName() == null) { relationship.setName(context.getNameGenerator().relationshipName(relationship)); } diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultObjectNameGenerator.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultObjectNameGenerator.java index bec87a964..c909391bf 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultObjectNameGenerator.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultObjectNameGenerator.java @@ -36,7 +36,7 @@ import java.util.Objects; */ public class DefaultObjectNameGenerator implements ObjectNameGenerator { - private DbEntityNameStemmer dbEntityNameStemmer; + private final DbEntityNameStemmer dbEntityNameStemmer; public DefaultObjectNameGenerator() { this.dbEntityNameStemmer = NoStemStemmer.getInstance(); @@ -108,7 +108,7 @@ public class DefaultObjectNameGenerator implements ObjectNameGenerator { return stemmed(last.getTargetEntityName()); } - DbJoin join1 = joins.get(0); + DbJoin join1 = joins.getFirst(); // TODO: multi-join relationships diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java index 3eb983607..b331c4656 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntity.java @@ -54,8 +54,8 @@ class ManyToManyCandidateEntity { ObjRelationship rel1 = relationships.get(0); ObjRelationship rel2 = relationships.get(1); - dbRel1 = rel1.getDbRelationships().get(0); - dbRel2 = rel2.getDbRelationships().get(0); + dbRel1 = rel1.getDbRelationships().getFirst(); + dbRel2 = rel2.getDbRelationships().getFirst(); reverseRelationship1 = dbRel1.getReverseRelationship(); reverseRelationship2 = dbRel2.getReverseRelationship(); @@ -64,11 +64,6 @@ class ManyToManyCandidateEntity { entity2 = rel2.getTargetEntity(); } - /** - * Method check - if current entity represent many to many temporary table - * - * @return true if current entity is represent many to many table; otherwise returns false - */ public static ManyToManyCandidateEntity build(ObjEntity joinEntity) { ArrayList<ObjRelationship> relationships = new ArrayList<>(joinEntity.getRelationships()); if (relationships.size() != 2 || (relationships.get(0).getDbRelationships().isEmpty() || relationships.get(1).getDbRelationships().isEmpty())) { @@ -84,7 +79,7 @@ class ManyToManyCandidateEntity { } private boolean isManyToMany() { - boolean isNotHaveAttributes = joinEntity.getAttributes().size() == 0; + boolean isNotHaveAttributes = joinEntity.getAttributes().isEmpty(); return isNotHaveAttributes && reverseRelationship1 != null && reverseRelationship1.isToDependentPK() @@ -96,8 +91,9 @@ class ManyToManyCandidateEntity { DbRelationship rel1, DbRelationship rel2) { if (rel1.getSourceAttributes().isEmpty() && rel2.getTargetAttributes().isEmpty()) { - LOG.warn("Wrong call ManyToManyCandidateEntity.addFlattenedRelationship(... , " + srcEntity.getName() - + ", " + dstEntity.getName() + ", ...)"); + LOG.warn("Wrong call ManyToManyCandidateEntity.addFlattenedRelationship(... , {}, {}, ...)", + srcEntity.getName(), + dstEntity.getName()); return; } @@ -118,10 +114,7 @@ class ManyToManyCandidateEntity { } /** - * Method make direct relationships between 2 entities and remove relationships to - * many to many entity - * - * @param nameGenerator + * Make direct relationships between 2 entities and remove relationships to many-to-many entity */ public void optimizeRelationships(ObjectNameGenerator nameGenerator) { entity1.removeRelationship(reverseRelationship1.getName()); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DbEntitySyncAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DbEntitySyncAction.java index 929b1e5ce..64048e9be 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DbEntitySyncAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DbEntitySyncAction.java @@ -94,17 +94,16 @@ public class DbEntitySyncAction extends AppAction { filterInheritedEntities(entities); boolean hasChanges = false; - for (final ObjEntity entity : entities) { + for (ObjEntity entity : entities) { - final DbEntitySyncUndoableEdit.EntitySyncUndoableListener listener = undoableEdit.new EntitySyncUndoableListener( - entity); + DbEntitySyncUndoableEdit.EntitySyncUndoableListener listener = undoableEdit.new EntitySyncUndoableListener(entity); merger.addEntityMergeListener(listener); - final Collection<DbAttribute> meaningfulFKs = merger.getMeaningfulFKs(entity); + Collection<DbAttribute> meaningfulFKs = merger.getMeaningfulFKs(entity); // TODO: addition or removal of model objects should be reflected in listener callbacks... - // we should not be trying to introspect the merger + // we should not be trying to introspect the merger if (merger.isRemovingMeaningfulFKs() && !meaningfulFKs.isEmpty()) { undoableEdit.addEdit(undoableEdit.new MeaningfulFKsUndoableEdit(entity, meaningfulFKs)); hasChanges = true; @@ -135,12 +134,12 @@ public class DbEntitySyncAction extends AppAction { static class PreserveRelationshipNameGenerator extends DefaultObjectNameGenerator { @Override - public String relationshipName(final DbRelationship... relationshipChain) { + public String relationshipName(DbRelationship... relationshipChain) { if (relationshipChain.length == 0) { return super.relationshipName(relationshipChain); } - final DbRelationship last = relationshipChain[relationshipChain.length - 1]; - // must be in sync with DefaultBaseNameVisitor.visitDbRelationship + + DbRelationship last = relationshipChain[relationshipChain.length - 1]; if (last.getName().startsWith("untitledRel")) { return super.relationshipName(relationshipChain); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbImportProjectSaver.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbImportProjectSaver.java index 635e50280..4519ea87c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbImportProjectSaver.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbImportProjectSaver.java @@ -28,7 +28,7 @@ import org.apache.cayenne.resource.Resource; public class DbImportProjectSaver implements ProjectSaver { - private ProjectSession session; + private final ProjectSession session; public DbImportProjectSaver(@Inject ProjectSession session) { this.session = session; diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbSyncDbImportAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportAction.java similarity index 98% rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbSyncDbImportAction.java rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportAction.java index be4a437c1..f675f99c8 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/DbSyncDbImportAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportAction.java @@ -41,7 +41,7 @@ import java.awt.event.ComponentEvent; import java.util.Collection; import java.util.List; -public class DbSyncDbImportAction extends DefaultDbImportAction { +public class ModelerDbImportAction extends DefaultDbImportAction { private final DataMap targetMap; private final DbImportResultDialog resultDialog; @@ -49,7 +49,7 @@ public class DbSyncDbImportAction extends DefaultDbImportAction { private DataMap sourceDataMap; private DbImportConfiguration config; - public DbSyncDbImportAction( + public ModelerDbImportAction( @Inject DataMap targetMap, @Inject Application application, @Inject Logger logger, diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportModule.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportModule.java index d986ab0d0..862995924 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportModule.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbImportModule.java @@ -42,7 +42,7 @@ public class ModelerDbImportModule implements Module { binder.bind(ProjectSession.class).toInstance(loaderContext.getProjectSession()); binder.bind(GlobalActions.class).toInstance(loaderContext.getApplication().getActionManager()); binder.bind(ProjectSaver.class).to(DbImportProjectSaver.class); - binder.bind(DbImportAction.class).to(DbSyncDbImportAction.class); + binder.bind(DbImportAction.class).to(ModelerDbImportAction.class); binder.bind(DataMap.class).toInstance(loaderContext.getDataMap()); } } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/DbEntitySyncUndoableEdit.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/DbEntitySyncUndoableEdit.java index 1927b505a..d41077de3 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/DbEntitySyncUndoableEdit.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/undo/DbEntitySyncUndoableEdit.java @@ -18,10 +18,6 @@ ****************************************************************/ package org.apache.cayenne.modeler.undo; -import java.util.Collection; - -import javax.swing.undo.CompoundEdit; - import org.apache.cayenne.configuration.DataChannelDescriptor; import org.apache.cayenne.map.DataMap; import org.apache.cayenne.map.DbAttribute; @@ -31,6 +27,9 @@ import org.apache.cayenne.map.ObjRelationship; import org.apache.cayenne.modeler.project.ProjectSession; import org.apache.cayenne.util.EntityMergeListener; +import javax.swing.undo.CompoundEdit; +import java.util.Collection; + public class DbEntitySyncUndoableEdit extends CompoundEdit { @Override @@ -56,7 +55,7 @@ public class DbEntitySyncUndoableEdit extends CompoundEdit { public class EntitySyncUndoableListener implements EntityMergeListener { - private ObjEntity entity; + private final ObjEntity entity; public EntitySyncUndoableListener(ObjEntity entity) { this.entity = entity;
