You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2026/04/24 18:52:57 UTC

(cayenne) branch master updated (c503b8e65 -> dbb40c5e7)

This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


    from c503b8e65 Modeler refactoring - package per component
     new a8befbed3 Modeler refactoring
     new dbb40c5e7 Modeler refactoring

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../cayenne/modeler/action/CollapseTreeAction.java |  4 +-
 .../cayenne/modeler/action/FilterAction.java       |  3 +-
 .../modeler/ui/CayenneModelerController.java       | 53 +++++++++-------------
 .../modeler/ui/project/ProjectController.java      | 10 ++--
 4 files changed, 31 insertions(+), 39 deletions(-)


(cayenne) 01/02: Modeler refactoring

Posted by aa...@apache.org.
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 a8befbed360bb30c2c935f09d12faef47c321420
Author: Andrus Adamchik <an...@objectstyle.com>
AuthorDate: Fri Apr 24 12:56:39 2026 -0400

    Modeler refactoring
---
 .../modeler/ui/CayenneModelerController.java       | 42 +++++++++++-----------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java
index cc36361ef..72e88b231 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java
@@ -63,22 +63,22 @@ import java.util.prefs.Preferences;
 public class CayenneModelerController extends RootController {
 
     private final ProjectController projectController;
-    private final CayenneModelerFrame frame;
+    private final CayenneModelerFrame view;
     private ProjectView projectView;
     private final DbImportController dbImportController;
 
     public CayenneModelerController(Application application) {
         super(application);
 
-        this.frame = new CayenneModelerFrame(application.getActionManager(), application.getLogConsoleController());
-        application.getInjector().getInstance(PlatformInitializer.class).setupMenus(frame);
+        this.view = new CayenneModelerFrame(application.getActionManager(), application.getLogConsoleController());
+        application.getInjector().getInstance(PlatformInitializer.class).setupMenus(view);
         this.projectController = new ProjectController(this);
         this.dbImportController = new DbImportController();
     }
 
     @Override
     public Component getView() {
-        return frame;
+        return view;
     }
 
     public ProjectController getProjectController() {
@@ -121,9 +121,9 @@ public class CayenneModelerController extends RootController {
     }
 
     public void onStartup() {
-        frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
+        view.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
 
-        frame.addWindowListener(new WindowAdapter() {
+        view.addWindowListener(new WindowAdapter() {
             @Override
             public void windowClosing(WindowEvent e) {
                 projectController.saveSelectionToPrefs();
@@ -138,7 +138,7 @@ public class CayenneModelerController extends RootController {
             Runtime.getRuntime().addShutdownHook(new Thread(runner, "Window Prefs Hook"));
         }
 
-        new DropTarget(frame, new DropTargetAdapter() {
+        new DropTarget(view, new DropTargetAdapter() {
             @Override
             public void drop(DropTargetDropEvent dtde) {
                 dtde.acceptDrop(dtde.getDropAction());
@@ -147,32 +147,32 @@ public class CayenneModelerController extends RootController {
             }
         });
 
-        new ComponentGeometry(frame.getClass(), null).resetAndTrackGeometry(frame, 1200, 720, 0);
+        new ComponentGeometry(view.getClass(), null).resetAndTrackGeometry(view, 1200, 720, 0);
 
-        frame.setVisible(true);
+        view.setVisible(true);
     }
 
     public void onProjectModified() {
-        frame.setTitle("* - " + getProjectLocationString());
+        view.setTitle("* - " + getProjectLocationString());
     }
 
     public void onProjectSaved() {
         projectController.setDirty(false);
         projectController.updateProjectControllerPreferences();
         updateStatus("Project saved...");
-        frame.setTitle(getProjectLocationString());
+        view.setTitle(getProjectLocationString());
     }
 
     public void onProjectClosed() {
         projectController.saveSelectionToPrefs();
 
         // --- update view
-        frame.setEditorPanel(null);
+        view.setEditorPanel(null);
 
         // repaint is needed, since sometimes there is a
         // trace from menu left on the screen
-        frame.repaint();
-        frame.setTitle("");
+        view.repaint();
+        view.setTitle("");
 
         projectController.projectClosed();
         application.getActionManager().projectClosed();
@@ -186,11 +186,11 @@ public class CayenneModelerController extends RootController {
     public void onProjectOpened(Project project) {
 
         projectController.projectOpened(project);
-        frame.setTitle(getProjectLocationString());
+        view.setTitle(getProjectLocationString());
 
         // TODO: ProjectView should be owned by ProjectController
         projectView = new ProjectView(projectController);
-        frame.setEditorPanel(projectView);
+        view.setEditorPanel(projectView);
 
         projectController.restoreSelectionFromPrefs();
         application.getActionManager().projectOpened();
@@ -204,7 +204,7 @@ public class CayenneModelerController extends RootController {
                 // update preferences
                 File file = new File(project.getConfigurationResource().getURL().toURI());
                 getLastDirectory().setDirectory(file);
-                frame.fireRecentFileListChanged();
+                view.fireRecentFileListChanged();
             } catch (URISyntaxException ignore) {
             }
         }
@@ -226,7 +226,7 @@ public class CayenneModelerController extends RootController {
         allFailures.addAll(validationResult.getFailures());
 
         if (!allFailures.isEmpty()) {
-            ValidatorDialog.showDialog(frame, validationResult.getFailures());
+            ValidatorDialog.showDialog(view, validationResult.getFailures());
         }
     }
 
@@ -268,14 +268,14 @@ public class CayenneModelerController extends RootController {
         addToLastProjListAction(newFile);
 
         getLastDirectory().setDirectory(newFile);
-        frame.fireRecentFileListChanged();
+        view.fireRecentFileListChanged();
     }
 
     /**
      * Performs status bar update with a message. Message will disappear in 6 seconds.
      */
     public void updateStatus(String message) {
-        frame.getStatus().setText(message);
+        view.getStatus().setText(message);
 
         // start message cleanup thread that would remove the message after X seconds
         if (message != null && !message.trim().isEmpty()) {
@@ -284,7 +284,7 @@ public class CayenneModelerController extends RootController {
                     Thread.sleep(6 * 10000);
                 } catch (InterruptedException ignore) {
                 }
-                if (message.equals(frame.getStatus().getText())) {
+                if (message.equals(view.getStatus().getText())) {
                     updateStatus(null);
                 }
             }).start();


(cayenne) 02/02: Modeler refactoring

Posted by aa...@apache.org.
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 dbb40c5e76b7b21964025a3bd152e0d0ec125d55
Author: Andrus Adamchik <an...@objectstyle.com>
AuthorDate: Fri Apr 24 12:56:39 2026 -0400

    Modeler refactoring
---
 .../apache/cayenne/modeler/action/CollapseTreeAction.java   |  4 ++--
 .../org/apache/cayenne/modeler/action/FilterAction.java     |  3 ++-
 .../apache/cayenne/modeler/ui/CayenneModelerController.java | 13 +------------
 .../cayenne/modeler/ui/project/ProjectController.java       | 10 ++++++----
 4 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CollapseTreeAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CollapseTreeAction.java
index d9e80dbeb..babbe129b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CollapseTreeAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CollapseTreeAction.java
@@ -39,7 +39,7 @@ public class CollapseTreeAction extends CayenneAction {
 	}
 
 	@Override
-	public void performAction(ActionEvent e) {	
-		getApplication().getFrameController().getProjectView().getFilterController().treeExpOrCollPath(COLLAPSE);
+	public void performAction(ActionEvent e) {
+		getApplication().getFrameController().getProjectController().getView().getFilterController().treeExpOrCollPath(COLLAPSE);
 	}
 }
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FilterAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FilterAction.java
index 8ee24f82b..13fc940a9 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FilterAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/FilterAction.java
@@ -45,7 +45,8 @@ public class FilterAction extends CayenneAction {
         JButton source = (JButton) e.getSource();
         FilterDialog dialog = getApplication()
                 .getFrameController()
-                .getProjectView()
+                .getProjectController()
+                .getView()
                 .getFilterController()
                 .getView();
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java
index 72e88b231..1dcfae92c 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/CayenneModelerController.java
@@ -23,7 +23,6 @@ import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ModelerPreferences;
 import org.apache.cayenne.modeler.ui.project.ProjectController;
-import org.apache.cayenne.modeler.ui.project.ProjectView;
 import org.apache.cayenne.modeler.action.ExitAction;
 import org.apache.cayenne.modeler.action.OpenProjectAction;
 import org.apache.cayenne.modeler.ui.validator.ValidatorDialog;
@@ -64,7 +63,6 @@ public class CayenneModelerController extends RootController {
 
     private final ProjectController projectController;
     private final CayenneModelerFrame view;
-    private ProjectView projectView;
     private final DbImportController dbImportController;
 
     public CayenneModelerController(Application application) {
@@ -187,10 +185,7 @@ public class CayenneModelerController extends RootController {
 
         projectController.projectOpened(project);
         view.setTitle(getProjectLocationString());
-
-        // TODO: ProjectView should be owned by ProjectController
-        projectView = new ProjectView(projectController);
-        view.setEditorPanel(projectView);
+        view.setEditorPanel(projectController.getView());
 
         projectController.restoreSelectionFromPrefs();
         application.getActionManager().projectOpened();
@@ -230,12 +225,6 @@ public class CayenneModelerController extends RootController {
         }
     }
 
-    // TODO: ProjectView should be owned by ProjectController
-    @Deprecated
-    public ProjectView getProjectView() {
-        return projectView;
-    }
-
     /**
      * Adds path to the list of last opened projects in preferences.
      */
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectController.java
index ebf33b5be..f9d30955e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectController.java
@@ -77,7 +77,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.swing.event.EventListenerList;
-import java.awt.*;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -101,6 +100,7 @@ public class ProjectController extends ChildController<CayenneModelerController>
     private EventListenerList listeners;
     private boolean dirty;
     private Project project;
+    private ProjectView projectView;
     private Preferences projectControllerPreferences;
     private ControllerState state;
     private EntityResolver entityResolver;
@@ -113,10 +113,9 @@ public class ProjectController extends ChildController<CayenneModelerController>
         this.history = new NavigationHistory();
     }
 
-    // TODO: this is wrong. ProjectController should own and return ProjectView
     @Override
-    public Component getView() {
-        return parent.getView();
+    public ProjectView getView() {
+        return projectView;
     }
 
     public Project getProject() {
@@ -283,6 +282,8 @@ public class ProjectController extends ChildController<CayenneModelerController>
         addProcedureDisplayListener(e -> actionManager.procedureSelected());
         addMultipleObjectsDisplayListener(e -> actionManager.multipleObjectsSelected(e.getNodes()));
         addEmbeddableDisplayListener(e -> actionManager.embeddableSelected());
+
+        this.projectView = new ProjectView(this);
     }
 
     public void projectClosed() {
@@ -290,6 +291,7 @@ public class ProjectController extends ChildController<CayenneModelerController>
         setDirty(false);
 
         this.project = null;
+        this.projectView = null;
         this.projectControllerPreferences = null;
         this.entityResolver = null;