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 17:11:15 UTC

(cayenne) 01/07: Modeler refactoring - package per component

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 3abbfd9ea423b9a1c5258df150344a5ade19b626
Author: Andrus Adamchik <an...@objectstyle.com>
AuthorDate: Fri Apr 24 12:51:27 2026 -0400

    Modeler refactoring - package per component
    
    * move dialog/pref/** to ui/preferences/ with subpackage split:
      - root: PreferenceDialogController/View/Context
      - general/: GeneralPreferences*
      - encoding/: EncodingPreferences*
      - classpath/: ClasspathPreferences*
      - datasource/: DataSourcePreferences*, DBConnectionInfoEditor*
        - creator/: DataSourceCreator*
        - duplicator/: DataSourceDuplicator*
      - maven/: MavenDependencyDialog*
    * add cross-subpackage imports where siblings reference each other
      (PreferenceDialogController referencing sub-controllers; sub-controllers
      referencing PreferenceDialogController parent; General↔Encoding sibling
      pair; DataSource↔creator/duplicator parent-child; Classpath↔Maven)
---
 .../src/main/java/org/apache/cayenne/modeler/Application.java       | 2 +-
 .../src/main/java/org/apache/cayenne/modeler/Main.java              | 2 +-
 .../apache/cayenne/modeler/action/ConfigurePreferencesAction.java   | 2 +-
 .../java/org/apache/cayenne/modeler/dialog/ConfirmRemoveDialog.java | 2 +-
 .../cayenne/modeler/dialog/db/DataSourceWizardController.java       | 4 ++--
 .../org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java  | 2 +-
 .../{dialog/pref => ui/preferences}/PreferenceDialogContext.java    | 2 +-
 .../{dialog/pref => ui/preferences}/PreferenceDialogController.java | 5 ++++-
 .../{dialog/pref => ui/preferences}/PreferenceDialogView.java       | 2 +-
 .../preferences/classpath}/ClasspathPreferencesController.java      | 4 +++-
 .../pref => ui/preferences/classpath}/ClasspathPreferencesView.java | 2 +-
 .../preferences/datasource}/DBConnectionInfoEditorController.java   | 2 +-
 .../preferences/datasource}/DBConnectionInfoEditorView.java         | 2 +-
 .../preferences/datasource}/DataSourcePreferencesController.java    | 6 +++++-
 .../preferences/datasource}/DataSourcePreferencesView.java          | 2 +-
 .../datasource/creator}/DataSourceCreatorController.java            | 3 ++-
 .../preferences/datasource/creator}/DataSourceCreatorView.java      | 2 +-
 .../datasource/duplicator}/DataSourceDuplicatorController.java      | 3 ++-
 .../datasource/duplicator}/DataSourceDuplicatorView.java            | 2 +-
 .../preferences/encoding}/EncodingPreferencesController.java        | 3 ++-
 .../pref => ui/preferences/encoding}/EncodingPreferencesView.java   | 2 +-
 .../preferences/general}/GeneralPreferencesController.java          | 5 ++++-
 .../pref => ui/preferences/general}/GeneralPreferencesView.java     | 4 +++-
 .../preferences/maven}/MavenDependencyDialogController.java         | 3 ++-
 .../pref => ui/preferences/maven}/MavenDependencyDialogView.java    | 2 +-
 .../ui/project/editor/datadomain/cgen/CgenTabController.java        | 2 +-
 .../modeler/ui/project/editor/datamap/cgen/CgenController.java      | 2 +-
 .../ui/project/editor/datanode/DataNodeEditorController.java        | 2 +-
 28 files changed, 47 insertions(+), 29 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 f10be9b21..192ac00ab 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
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.modeler.action.ActionManager;
 import org.apache.cayenne.modeler.ui.logconsole.LogConsoleController;
-import org.apache.cayenne.modeler.dialog.pref.ClasspathPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.classpath.ClasspathPreferencesController;
 import org.apache.cayenne.modeler.ui.CayenneModelerController;
 import org.apache.cayenne.modeler.ui.CayenneModelerFrame;
 import org.apache.cayenne.modeler.undo.CayenneUndoManager;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
index 48820a26d..c404b619e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.modeler.action.OpenProjectAction;
-import org.apache.cayenne.modeler.dialog.pref.GeneralPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
 import org.apache.cayenne.modeler.init.CayenneModelerModule;
 import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
 import org.apache.cayenne.project.ProjectModule;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ConfigurePreferencesAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ConfigurePreferencesAction.java
index c9169ef1d..1dc11c002 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ConfigurePreferencesAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ConfigurePreferencesAction.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.modeler.action;
 import java.awt.event.ActionEvent;
 
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialogController;
+import org.apache.cayenne.modeler.ui.preferences.PreferenceDialogController;
 import org.apache.cayenne.modeler.util.CayenneAction;
 
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmRemoveDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmRemoveDialog.java
index e8f56042a..f612ff464 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmRemoveDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ConfirmRemoveDialog.java
@@ -24,7 +24,7 @@ import javax.swing.JCheckBox;
 import javax.swing.JOptionPane;
 
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.dialog.pref.GeneralPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
 
 /**
  * Used to confirm deleting items in the model.
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardController.java
index da19160bc..d7fb64bfa 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardController.java
@@ -22,8 +22,8 @@ package org.apache.cayenne.modeler.dialog.db;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.modeler.ClassLoadingService;
 import org.apache.cayenne.modeler.ui.project.ProjectController;
-import org.apache.cayenne.modeler.dialog.pref.GeneralPreferencesController;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialogController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.PreferenceDialogController;
 import org.apache.cayenne.modeler.event.model.DataSourceEvent;
 import org.apache.cayenne.modeler.event.model.DataSourceListener;
 import org.apache.cayenne.modeler.mvc.ChildController;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java
index 52b7ba06c..db3941770 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java
@@ -23,7 +23,7 @@ import com.jgoodies.forms.builder.PanelBuilder;
 import com.jgoodies.forms.layout.CellConstraints;
 import com.jgoodies.forms.layout.FormLayout;
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.dialog.pref.DBConnectionInfoEditorController;
+import org.apache.cayenne.modeler.ui.preferences.datasource.DBConnectionInfoEditorController;
 import org.apache.cayenne.modeler.mvc.RootController;
 
 import javax.swing.*;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogContext.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogContext.java
similarity index 98%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogContext.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogContext.java
index 96e8426ee..ca8ffbda9 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogContext.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogContext.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences;
 
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.pref.DBConnectionInfo;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogController.java
similarity index 93%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogController.java
index 12632c6ee..7e620dd04 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogController.java
@@ -17,10 +17,13 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
 import org.apache.cayenne.modeler.mvc.RootController;
+import org.apache.cayenne.modeler.ui.preferences.classpath.ClasspathPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.datasource.DataSourcePreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
 
 import javax.swing.*;
 import java.awt.*;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogView.java
similarity index 98%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogView.java
index a4d0afee8..6679a9b46 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/PreferenceDialogView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences;
 
 import org.apache.cayenne.swing.components.TopBorder;
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferencesController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPreferencesController.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferencesController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPreferencesController.java
index a50a50e2a..52a7f23b5 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferencesController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPreferencesController.java
@@ -17,9 +17,11 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.classpath;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
+import org.apache.cayenne.modeler.ui.preferences.PreferenceDialogController;
+import org.apache.cayenne.modeler.ui.preferences.maven.MavenDependencyDialogController;
 import org.apache.cayenne.modeler.util.FileFilters;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferencesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPreferencesView.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferencesView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPreferencesView.java
index e1da598cf..c98aed16f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferencesView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPreferencesView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.classpath;
 
 import java.awt.BorderLayout;
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DBConnectionInfoEditorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DBConnectionInfoEditorController.java
similarity index 98%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DBConnectionInfoEditorController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DBConnectionInfoEditorController.java
index 88fc2fc51..d1562c71d 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DBConnectionInfoEditorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DBConnectionInfoEditorController.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
 import org.apache.cayenne.modeler.mvc.RootController;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DBConnectionInfoEditorView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DBConnectionInfoEditorView.java
similarity index 98%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DBConnectionInfoEditorView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DBConnectionInfoEditorView.java
index 56b4581db..514b40d3d 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DBConnectionInfoEditorView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DBConnectionInfoEditorView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource;
 
 import java.awt.BorderLayout;
 import java.util.ArrayList;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DataSourcePreferencesController.java
similarity index 95%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DataSourcePreferencesController.java
index d0db9f2c8..d6f0af4a6 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DataSourcePreferencesController.java
@@ -17,8 +17,12 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource;
 
+import org.apache.cayenne.modeler.ui.preferences.PreferenceDialogController;
+import org.apache.cayenne.modeler.ui.preferences.classpath.ClasspathPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.datasource.creator.DataSourceCreatorController;
+import org.apache.cayenne.modeler.ui.preferences.datasource.duplicator.DataSourceDuplicatorController;
 import org.apache.cayenne.datasource.DriverDataSource;
 import org.apache.cayenne.map.event.MapEvent;
 import org.apache.cayenne.modeler.FileClassLoadingService;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DataSourcePreferencesView.java
similarity index 98%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DataSourcePreferencesView.java
index 3887323ca..01eb2522f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/DataSourcePreferencesView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource;
 
 import java.awt.BorderLayout;
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceCreatorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/creator/DataSourceCreatorController.java
similarity index 96%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceCreatorController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/creator/DataSourceCreatorController.java
index 6cc80f1d8..459e7903f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceCreatorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/creator/DataSourceCreatorController.java
@@ -17,9 +17,10 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource.creator;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
+import org.apache.cayenne.modeler.ui.preferences.datasource.DataSourcePreferencesController;
 import org.apache.cayenne.modeler.pref.DBConnectionInfo;
 import org.apache.cayenne.modeler.util.AdapterMapping;
 import org.apache.cayenne.modeler.util.DbAdapterInfo;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceCreatorView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/creator/DataSourceCreatorView.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceCreatorView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/creator/DataSourceCreatorView.java
index 3954fc5e2..3a281e590 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceCreatorView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/creator/DataSourceCreatorView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource.creator;
 
 import com.jgoodies.forms.builder.DefaultFormBuilder;
 import com.jgoodies.forms.layout.FormLayout;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceDuplicatorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/duplicator/DataSourceDuplicatorController.java
similarity index 96%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceDuplicatorController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/duplicator/DataSourceDuplicatorController.java
index e3a0f730f..5344ec512 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceDuplicatorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/duplicator/DataSourceDuplicatorController.java
@@ -17,9 +17,10 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource.duplicator;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
+import org.apache.cayenne.modeler.ui.preferences.datasource.DataSourcePreferencesController;
 import org.apache.cayenne.modeler.pref.DBConnectionInfo;
 
 import javax.swing.*;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceDuplicatorView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/duplicator/DataSourceDuplicatorView.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceDuplicatorView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/duplicator/DataSourceDuplicatorView.java
index 741581d84..112990bdc 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourceDuplicatorView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/datasource/duplicator/DataSourceDuplicatorView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.datasource.duplicator;
 
 import com.jgoodies.forms.builder.DefaultFormBuilder;
 import com.jgoodies.forms.layout.FormLayout;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingPreferencesController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/encoding/EncodingPreferencesController.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingPreferencesController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/encoding/EncodingPreferencesController.java
index ce7edbb24..74acaad72 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingPreferencesController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/encoding/EncodingPreferencesController.java
@@ -18,9 +18,10 @@
  ****************************************************************/
 
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.encoding;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
 import org.apache.cayenne.util.Util;
 
 import javax.swing.*;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingPreferencesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/encoding/EncodingPreferencesView.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingPreferencesView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/encoding/EncodingPreferencesView.java
index 8958d0f10..2a411ebbc 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingPreferencesView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/encoding/EncodingPreferencesView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.encoding;
 
 import com.jgoodies.forms.builder.DefaultFormBuilder;
 import com.jgoodies.forms.layout.FormLayout;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferencesController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPreferencesController.java
similarity index 93%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferencesController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPreferencesController.java
index a6eddb6f6..7fa2b2e1e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferencesController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPreferencesController.java
@@ -17,9 +17,12 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.general;
 
 import org.apache.cayenne.modeler.mvc.ChildController;
+import org.apache.cayenne.modeler.ui.preferences.PreferenceDialogController;
+import org.apache.cayenne.modeler.ui.preferences.encoding.EncodingPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.encoding.EncodingPreferencesView;
 
 import java.awt.*;
 import java.util.HashMap;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferencesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPreferencesView.java
similarity index 95%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferencesView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPreferencesView.java
index a08cca920..7bf8e5c9e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferencesView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPreferencesView.java
@@ -17,7 +17,9 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.general;
+
+import org.apache.cayenne.modeler.ui.preferences.encoding.EncodingPreferencesView;
 
 import com.jgoodies.forms.builder.PanelBuilder;
 import com.jgoodies.forms.layout.CellConstraints;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/MavenDependencyDialogController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/maven/MavenDependencyDialogController.java
similarity index 97%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/MavenDependencyDialogController.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/maven/MavenDependencyDialogController.java
index 9907879e6..90f6c2b0e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/MavenDependencyDialogController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/maven/MavenDependencyDialogController.java
@@ -17,10 +17,11 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.maven;
 
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.mvc.ChildController;
+import org.apache.cayenne.modeler.ui.preferences.classpath.ClasspathPreferencesController;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/MavenDependencyDialogView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/maven/MavenDependencyDialogView.java
similarity index 98%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/MavenDependencyDialogView.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/maven/MavenDependencyDialogView.java
index 6dea331c3..e4cc427b7 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/MavenDependencyDialogView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/maven/MavenDependencyDialogView.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler.dialog.pref;
+package org.apache.cayenne.modeler.ui.preferences.maven;
 
 import java.awt.BorderLayout;
 import java.awt.Dialog;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/CgenTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/CgenTabController.java
index a9cddee63..161c95cc3 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/CgenTabController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/CgenTabController.java
@@ -32,7 +32,7 @@ import org.apache.cayenne.gen.ClassGenerationActionFactory;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ui.project.ProjectController;
-import org.apache.cayenne.modeler.dialog.pref.GeneralPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
 import org.apache.cayenne.modeler.ui.project.editor.datadomain.GeneratorsTabController;
 import org.apache.cayenne.modeler.event.display.DataMapDisplayEvent;
 import org.apache.cayenne.modeler.util.ModelerUtil;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenController.java
index ebc0b5ea0..d3efe1d4e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenController.java
@@ -38,7 +38,7 @@ import org.apache.cayenne.map.event.EmbeddableListener;
 import org.apache.cayenne.map.event.EntityEvent;
 import org.apache.cayenne.map.event.ObjEntityListener;
 import org.apache.cayenne.modeler.ui.project.ProjectController;
-import org.apache.cayenne.modeler.dialog.pref.GeneralPreferencesController;
+import org.apache.cayenne.modeler.ui.preferences.general.GeneralPreferencesController;
 import org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.DbImportController;
 import org.apache.cayenne.modeler.event.model.DataMapEvent;
 import org.apache.cayenne.modeler.event.model.DataMapListener;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorController.java
index f9cecc046..7af39c6d9 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorController.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.runtime.XMLPoolingDataSourceFactory;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialogController;
+import org.apache.cayenne.modeler.ui.preferences.PreferenceDialogController;
 import org.apache.cayenne.modeler.event.model.DataNodeEvent;
 import org.apache.cayenne.modeler.mvc.ChildController;
 import org.apache.cayenne.modeler.pref.DBConnectionInfo;