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


The following commit(s) were added to refs/heads/master by this push:
     new 856a4c9ad Modeler cleanup
856a4c9ad is described below

commit 856a4c9ad12eab82b7620f992a46618b7b398cad
Author: Andrus Adamchik <[email protected]>
AuthorDate: Sun May 17 18:14:47 2026 -0400

    Modeler cleanup
---
 .../org/apache/cayenne/modeler/Application.java    | 33 ++++++++-----------
 ...leListListener.java => RecentFileListener.java} |  4 +--
 .../modeler/platform/generic/GenericButtonUI.java  | 21 +++++-------
 .../cayenne/modeler/platform/mac/MacOSVersion.java | 38 +++++-----------------
 .../cayenne/modeler/platform/mac/MacPanelUI.java   |  2 +-
 .../platform/mac/MacToolBarSeparatorUI.java        |  9 ++---
 .../modeler/platform/mac/MacUIInitializer.java     | 16 ++++-----
 .../modeler/platform/win/WinCustomTextFieldUI.java | 11 +++----
 .../org/apache/cayenne/modeler/ui/MainFrame.java   |  2 +-
 .../org/apache/cayenne/modeler/ui/MainMenuBar.java | 13 +++-----
 .../cayenne/modeler/ui/welcome/WelcomeScreen.java  |  4 +--
 11 files changed, 54 insertions(+), 99 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
index fe7cdba9f..e430cf476 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
@@ -65,26 +65,19 @@ public class Application {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(Application.class);
 
     public static void launch(String[] args, UIInitializer 
platformInitializer) {
-        try {
-            // logger should go after Look And Feel or Logger Console will be 
without style
-            LOGGER.info("Starting CayenneModeler.");
-            LOGGER.info("JRE v.{} at {}", System.getProperty("java.version"), 
System.getProperty("java.home"));
-
-            // TODO: this is dirty... CoreModule is out of place inside the 
Modeler...
-            // If we need CayenneRuntime for certain operations, those should 
start their own stack...
-            Injector injector = DIBootstrap.createInjector(
-                    new CoreModule(),
-                    new ProjectModule(),
-                    new DbSyncModule(),
-                    new ModelerModule());
-
-            SwingUtilities.invokeLater(() -> {
-                new Application(injector, 
platformInitializer).launch(initialProjectFromArgs(args));
-            });
-        } catch (Exception e) {
-            e.printStackTrace();
-            System.exit(1);
-        }
+
+        LOGGER.info("Starting CayenneModeler.");
+        LOGGER.info("JRE v.{} at {}", System.getProperty("java.version"), 
System.getProperty("java.home"));
+
+        // TODO: this is dirty... CoreModule is out of place inside the 
Modeler...
+        // If we need CayenneRuntime for certain operations, those should 
start their own stack...
+        Injector injector = DIBootstrap.createInjector(
+                new CoreModule(),
+                new ProjectModule(),
+                new DbSyncModule(),
+                new ModelerModule());
+
+        SwingUtilities.invokeLater(() -> new Application(injector, 
platformInitializer).launch(initialProjectFromArgs(args)));
     }
 
     private static File initialProjectFromArgs(String[] args) {
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/model/RecentFileListListener.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/model/RecentFileListener.java
similarity index 93%
rename from 
modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/model/RecentFileListListener.java
rename to 
modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/model/RecentFileListener.java
index f3b4d4333..fb104e4de 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/model/RecentFileListListener.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/event/model/RecentFileListener.java
@@ -20,9 +20,9 @@
 package org.apache.cayenne.modeler.event.model;
 
 /**
- * Listens to changes in recent file list
+ * Listens to changes in the recent file list
  */
-public interface RecentFileListListener {
+public interface RecentFileListener {
 
     /**
      * Invoked when recent files list changed (for instance, a new project was 
opened
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/generic/GenericButtonUI.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/generic/GenericButtonUI.java
index 167028e39..f748fd726 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/generic/GenericButtonUI.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/generic/GenericButtonUI.java
@@ -19,23 +19,18 @@
 
 package org.apache.cayenne.modeler.platform.generic;
 
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import javax.swing.AbstractButton;
-import javax.swing.BorderFactory;
-import javax.swing.JComponent;
+import com.jgoodies.looks.plastic.PlasticButtonUI;
+import org.apache.cayenne.modeler.toolkit.AppAction;
+
+import javax.swing.*;
 import javax.swing.border.Border;
 import javax.swing.plaf.ComponentUI;
+import java.awt.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 
-import org.apache.cayenne.modeler.toolkit.AppAction;
+public class GenericButtonUI extends PlasticButtonUI {
 
-/**
- * @since 4.0
- */
-public class GenericButtonUI extends 
com.jgoodies.looks.plastic.PlasticButtonUI {
     private static final GenericButtonUI INSTANCE = new GenericButtonUI();
 
     private static final Border BORDER = BorderFactory.createCompoundBorder(
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacOSVersion.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacOSVersion.java
index 983e697d8..38a6adef1 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacOSVersion.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacOSVersion.java
@@ -19,30 +19,27 @@
 
 package org.apache.cayenne.modeler.platform.mac;
 
-/**
- * @since 4.2
- */
-public class MacOSVersion {
+import org.apache.cayenne.modeler.service.os.OperatingSystem;
+
+public record MacOSVersion(int major, int minor) {
 
     public static final MacOSVersion UNKNOWN = new MacOSVersion(-1, -1);
     public static final MacOSVersion CATALINA = new MacOSVersion(10, 15);
     public static final MacOSVersion BIG_SUR = new MacOSVersion(10, 16);
 
-    private final int major;
-    private final int minor;
-
     public static MacOSVersion fromSystemProperties() {
+
         // sanity check in case this code executed not on macOS
-        String osName = System.getProperty("os.name").toLowerCase();
-        if(!osName.contains("mac")) {
+        if (OperatingSystem.os != OperatingSystem.MAC_OS) {
             return UNKNOWN;
         }
 
         String osVersion = System.getProperty("os.version");
         String[] osVersionComponents = osVersion.split("\\.");
-        if(osVersionComponents.length != 2) {
+        if (osVersionComponents.length != 2) {
             return UNKNOWN;
         }
+
         try {
             int major = Integer.parseInt(osVersionComponents[0]);
             int minor = Integer.parseInt(osVersionComponents[1]);
@@ -52,26 +49,7 @@ public class MacOSVersion {
         }
     }
 
-    public MacOSVersion(int major, int minor) {
-        this.major = major;
-        this.minor = minor;
-    }
-
     public boolean gt(MacOSVersion version) {
-        return getMajor() >= version.getMajor()
-                && getMinor() > version.getMinor();
-    }
-
-    public boolean eq(MacOSVersion version) {
-        return getMajor() == version.getMajor()
-                && getMinor() == version.getMinor();
-    }
-
-    public int getMajor() {
-        return major;
-    }
-
-    public int getMinor() {
-        return minor;
+        return major() > version.major() || (major() == version.major() && 
minor() > version.minor());
     }
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacPanelUI.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacPanelUI.java
index 70d0e5a0e..80b9dacc6 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacPanelUI.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacPanelUI.java
@@ -46,7 +46,7 @@ public class MacPanelUI extends BasicPanelUI {
         INSTANCE = new MacPanelUI(delegate);
     }
 
-    private BasicPanelUI delegate;
+    private final BasicPanelUI delegate;
 
     private MacPanelUI(BasicPanelUI delegate) {
         this.delegate = delegate;
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacToolBarSeparatorUI.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacToolBarSeparatorUI.java
index 1348dd354..57ef304f6 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacToolBarSeparatorUI.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacToolBarSeparatorUI.java
@@ -18,16 +18,13 @@
  ****************************************************************/
 package org.apache.cayenne.modeler.platform.mac;
 
-import java.awt.Dimension;
-import java.awt.Graphics;
-import javax.swing.JComponent;
-import javax.swing.JToolBar;
-import javax.swing.SwingConstants;
+import javax.swing.*;
 import javax.swing.plaf.ComponentUI;
 import javax.swing.plaf.basic.BasicToolBarSeparatorUI;
+import java.awt.*;
 
 /**
- * This class provides correct size as in AquaToolBarSeparatorUI, but doesn't 
render anything.
+ * Provides correct size as in AquaToolBarSeparatorUI, but doesn't render 
anything.
  *
  * @since 4.0
  */
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacUIInitializer.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacUIInitializer.java
index d4051348d..dcd14d482 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacUIInitializer.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/mac/MacUIInitializer.java
@@ -113,25 +113,23 @@ public class MacUIInitializer implements UIInitializer {
         
removeActions.add(globalActions.getAction(ConfigurePreferencesAction.class));
 
         JMenuBar menuBar = frame.getJMenuBar();
-        for (Component menu : menuBar.getComponents()) {
-            if (menu instanceof JMenu) {
-                JMenu jMenu = (JMenu) menu;
+        for (Component c : menuBar.getComponents()) {
+            if (c instanceof JMenu menu) {
 
-                Component[] menuItems = jMenu.getPopupMenu().getComponents();
+                Component[] menuItems = menu.getPopupMenu().getComponents();
                 for (int i = 0; i < menuItems.length; i++) {
 
-                    if (menuItems[i] instanceof JMenuItem) {
-                        JMenuItem jMenuItem = (JMenuItem) menuItems[i];
+                    if (menuItems[i] instanceof JMenuItem menuItem) {
 
-                        if (removeActions.contains(jMenuItem.getAction())) {
-                            jMenu.remove(jMenuItem);
+                        if (removeActions.contains(menuItem.getAction())) {
+                            menu.remove(menuItem);
 
                             // this algorithm is pretty lame, but it works for
                             // the current (as of 08.2010) menu layout
                             if (i > 0
                                     && i == menuItems.length - 1
                                     && menuItems[i - 1] instanceof 
JPopupMenu.Separator) {
-                                jMenu.remove(i - 1);
+                                menu.remove(i - 1);
                             }
                         }
                     }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/win/WinCustomTextFieldUI.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/win/WinCustomTextFieldUI.java
index 09950a48f..45055a72b 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/win/WinCustomTextFieldUI.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/platform/win/WinCustomTextFieldUI.java
@@ -19,16 +19,13 @@
 
 package org.apache.cayenne.modeler.platform.win;
 
-import java.lang.reflect.Constructor;
-import javax.swing.JComponent;
+import org.apache.cayenne.modeler.toolkit.combobox.EditorTextField;
+
+import javax.swing.*;
 import javax.swing.plaf.ComponentUI;
 import javax.swing.plaf.basic.BasicTextFieldUI;
+import java.lang.reflect.Constructor;
 
-import org.apache.cayenne.modeler.toolkit.combobox.EditorTextField;
-
-/**
- * @since 4.0
- */
 public class WinCustomTextFieldUI extends BasicTextFieldUI {
 
     private static Constructor<? extends ComponentUI> winFieldUIConstructor;
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainFrame.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainFrame.java
index 2ea845d87..53296d359 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainFrame.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainFrame.java
@@ -356,7 +356,7 @@ public class MainFrame extends AppFrame {
             return false;
         }
 
-        File transferFile = fileList.get(0);
+        File transferFile = fileList.getFirst();
         if (transferFile.isFile()) {
             FileFilter filter = FileFilters.getApplicationFilter();
             if (filter.accept(transferFile)) {
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainMenuBar.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainMenuBar.java
index 0e6d863ab..08ddea2e2 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainMenuBar.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/MainMenuBar.java
@@ -20,7 +20,7 @@
 package org.apache.cayenne.modeler.ui;
 
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.event.model.RecentFileListListener;
+import org.apache.cayenne.modeler.event.model.RecentFileListener;
 import org.apache.cayenne.modeler.pref.RecentProjectsPrefs;
 import org.apache.cayenne.modeler.service.action.GlobalActions;
 import org.apache.cayenne.modeler.ui.action.*;
@@ -34,16 +34,13 @@ import java.util.List;
 
 class MainMenuBar extends JMenuBar {
 
-    private final List<RecentFileListListener> recentFileListeners;
+    private final List<RecentFileListener> recentFileListeners;
     private final Application app;
 
     MainMenuBar(Application app) {
         this.recentFileListeners = new ArrayList<>();
         this.app = app;
-        initLayout();
-    }
 
-    private void initLayout() {
         JMenu fileMenu = new JMenu("File");
         JMenu editMenu = new JMenu("Edit");
         JMenu viewMenu = new JMenu("View");
@@ -128,17 +125,17 @@ class MainMenuBar extends JMenuBar {
         add(helpMenu);
     }
 
-    void addRecentFileListener(RecentFileListListener listener) {
+    void addRecentFileListener(RecentFileListener listener) {
         recentFileListeners.add(listener);
     }
 
     void fireRecentFileListChanged() {
-        for (RecentFileListListener listener : recentFileListeners) {
+        for (RecentFileListener listener : recentFileListeners) {
             listener.recentFileListChanged();
         }
     }
 
-    class RecentFileMenu extends JMenu implements RecentFileListListener {
+    class RecentFileMenu extends JMenu implements RecentFileListener {
 
         private final OpenProjectAction action;
 
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java
index 78c3a3b6e..5e0784f03 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/welcome/WelcomeScreen.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.modeler.toolkit.AppPanel;
 import org.apache.cayenne.modeler.toolkit.icon.IconFactory;
 import org.apache.cayenne.modeler.ui.action.NewProjectAction;
 import org.apache.cayenne.modeler.ui.action.OpenProjectAction;
-import org.apache.cayenne.modeler.event.model.RecentFileListListener;
+import org.apache.cayenne.modeler.event.model.RecentFileListener;
 
 import javax.swing.*;
 import java.awt.*;
@@ -37,7 +37,7 @@ import java.util.List;
 /**
  * A panel shown when no project is open. User can quickly create new project 
or open an existing one.
  */
-public class WelcomeScreen extends AppPanel implements RecentFileListListener, 
RecentFileListRenderer.OnFileClickListener {
+public class WelcomeScreen extends AppPanel implements RecentFileListener, 
RecentFileListRenderer.OnFileClickListener {
 
     private final GlobalActions actionManager;
 

Reply via email to