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 f9bc7c3723623d1b79dd62fe4396caf1c8392a5c Author: Andrus Adamchik <[email protected]> AuthorDate: Wed May 20 09:43:50 2026 -0400 Modeler prefs - removing locator lookups from PreferenceAdapter constructors --- .../java/org/apache/cayenne/modeler/Application.java | 8 ++++---- .../apache/cayenne/modeler/pref/ClasspathPrefs.java | 5 +++-- .../apache/cayenne/modeler/pref/DBConnectorPrefs.java | 6 +++--- .../org/apache/cayenne/modeler/pref/DataMapPrefs.java | 7 ++++--- .../apache/cayenne/modeler/pref/DataNodePrefs.java | 19 ++++++------------- .../org/apache/cayenne/modeler/pref/GeneralPrefs.java | 6 ++++-- .../cayenne/modeler/pref/RecentProjectsPrefs.java | 5 +++-- .../apache/cayenne/modeler/project/ProjectPrefs.java | 7 +++---- .../cayenne/modeler/project/ProjectSession.java | 4 ++-- .../toolkit/component/CMComponentGeometryPrefs.java | 6 +++--- .../toolkit/filechooser/CMFileChooserPrefs.java | 6 +++--- .../modeler/toolkit/splitpane/CMSplitPanePrefs.java | 6 +++--- .../cayenne/modeler/toolkit/table/CMTablePrefs.java | 6 +++--- .../java/org/apache/cayenne/modeler/ui/MainFrame.java | 8 ++++---- .../org/apache/cayenne/modeler/ui/MainMenuBar.java | 2 +- .../modeler/ui/action/DBConnectionAwareAction.java | 2 +- .../modeler/ui/action/ImportDataMapAction.java | 2 +- .../modeler/ui/action/ImportEOModelAction.java | 2 +- .../cayenne/modeler/ui/action/ProjectOpener.java | 2 +- .../modeler/ui/action/ShowLogConsoleAction.java | 2 +- .../modeler/ui/confirmremove/ConfirmRemoveDialog.java | 4 ++-- .../modeler/ui/datasource/DataSourceDialog.java | 8 ++++---- .../modeler/ui/dbgen/DBGeneratorOptionsDialog.java | 2 +- .../cayenne/modeler/ui/dbgen/DBGeneratorPrefs.java | 10 +++++----- .../ui/dbrelationship/DbRelationshipDialog.java | 2 +- .../cayenne/modeler/ui/logconsole/LogConsole.java | 4 ++-- .../modeler/ui/logconsole/LogConsolePrefs.java | 9 +++++---- .../ui/preferences/classpath/ClasspathPrefsPanel.java | 6 +++--- .../ui/preferences/general/GeneralPrefsPanel.java | 4 ++-- .../cayenne/modeler/ui/project/ProjectView.java | 2 +- .../editor/datadomain/cgen/DataDomainCgenTab.java | 2 +- .../ui/project/editor/datamap/cgen/CgenPanel.java | 2 +- .../datamap/cgen/templateeditor/TemplateEditor.java | 4 ++-- .../project/editor/datamap/main/DataMapMainView.java | 2 +- .../project/editor/datanode/DataNodeEditorPanel.java | 8 ++++++-- .../editor/datanode/jdbc/JDBCDataSourcePanel.java | 5 ++--- .../editor/dbentity/properties/DbAttributePanel.java | 2 +- .../dbentity/properties/DbEntityPropertiesView.java | 2 +- .../dbentity/properties/DbRelationshipPanel.java | 2 +- .../attributes/EmbeddableAttributesView.java | 2 +- .../objentity/attrinfo/ObjAttributeInfoDialog.java | 2 +- .../objentity/callbacks/ObjEntityCallbacksView.java | 4 ++-- .../objentity/properties/ObjAttributePanel.java | 2 +- .../objentity/properties/ObjEntityPropertiesView.java | 2 +- .../objentity/properties/ObjRelationshipPanel.java | 2 +- .../editor/procedure/ProcedureParameterTab.java | 2 +- .../query/selectquery/SelectQueryOrderingTab.java | 2 +- .../query/sqltemplate/SQLTemplatePrefetchTab.java | 2 +- .../cayenne/modeler/ui/welcome/WelcomeScreen.java | 2 +- 49 files changed, 107 insertions(+), 106 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 9ffb75038..1b9f62636 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 @@ -187,7 +187,7 @@ public class Application { getPrefsManager().runMigrations(); - this.dbConnectors = new DBConnectorPrefs(prefsLocator).getConnectors(); + this.dbConnectors = new DBConnectorPrefs(prefsLocator.appNode(DBConnectorPrefs.NODE)).getConnectors(); refreshClassLoader(); @@ -238,7 +238,7 @@ public class Application { * Reinitializes ModelerClassLoader from preferences. */ public void refreshClassLoader() { - List<String> values = new ClasspathPrefs(prefsLocator).getEntries(); + List<String> values = new ClasspathPrefs(prefsLocator.appNode(ClasspathPrefs.NODE)).getEntries(); if (!values.isEmpty()) { getClassLoader().setFiles(values.stream().map(File::new).collect(Collectors.toList())); } @@ -246,8 +246,8 @@ public class Application { private File initialProjectFromPreferences() { - if (new GeneralPrefs(prefsLocator).isAutoLoadProject()) { - List<File> files = new RecentProjectsPrefs(prefsLocator).getFiles(); + if (new GeneralPrefs(prefsLocator.appNode(GeneralPrefs.NODE)).isAutoLoadProject()) { + List<File> files = new RecentProjectsPrefs(prefsLocator.appNode(RecentProjectsPrefs.NODE)).getFiles(); if (!files.isEmpty()) { return files.getFirst(); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/ClasspathPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/ClasspathPrefs.java index c256fed4a..bf306c360 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/ClasspathPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/ClasspathPrefs.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.prefs.BackingStoreException; +import java.util.prefs.Preferences; public final class ClasspathPrefs extends PreferenceAdapter { @@ -33,8 +34,8 @@ public final class ClasspathPrefs extends PreferenceAdapter { public static final String NODE = "classpath"; - public ClasspathPrefs(PrefsLocator locator) { - super(locator.appNode(NODE)); + public ClasspathPrefs(Preferences prefs) { + super(prefs); } // Returns classpath entries in numeric-key order. Defensive against any diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectorPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectorPrefs.java index 9d700cb39..3c4adde9f 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectorPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectorPrefs.java @@ -32,7 +32,7 @@ import java.util.prefs.Preferences; */ public class DBConnectorPrefs extends PreferenceAdapter { - static final String NODE = "dbConnectors"; + public static final String NODE = "dbConnectors"; private static final String DB_ADAPTER_PROPERTY = "dbAdapter"; private static final String JDBC_DRIVER_PROPERTY = "jdbcDriver"; @@ -40,8 +40,8 @@ public class DBConnectorPrefs extends PreferenceAdapter { private static final String URL_PROPERTY = "url"; private static final String USER_NAME_PROPERTY = "userName"; - public DBConnectorPrefs(PrefsLocator locator) { - super(locator.appNode(NODE)); + public DBConnectorPrefs(Preferences prefs) { + super(prefs); } public DBConnectors getConnectors() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapPrefs.java index c9a772117..4f9b7c955 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapPrefs.java @@ -18,16 +18,17 @@ ****************************************************************/ package org.apache.cayenne.modeler.pref; -import org.apache.cayenne.map.DataMap; import org.apache.cayenne.modeler.dbconnector.DBConnector; +import java.util.prefs.Preferences; + public final class DataMapPrefs extends PreferenceAdapter { public static final String SUPERCLASS_PACKAGE_PROPERTY = "superclassPackage"; public static final String DEFAULT_SUPERCLASS_PACKAGE_SUFFIX = "auto"; - public DataMapPrefs(PrefsManager repository, DataMap dataMap) { - super(repository.dataMapPref(dataMap, null)); + public DataMapPrefs(Preferences prefs) { + super(prefs); } /** diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodePrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodePrefs.java index 2dc785c4f..79c00d94f 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodePrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodePrefs.java @@ -18,29 +18,22 @@ ****************************************************************/ package org.apache.cayenne.modeler.pref; -import org.apache.cayenne.project.Project; +import java.util.prefs.Preferences; public final class DataNodePrefs extends PreferenceAdapter { public static final String LOCAL_DATA_SOURCE_PROPERTY = "localDataSource"; - static final String NODE = "dataNode"; - - private final PrefsManager repository; - private final Project project; + public static final String NODE = "dataNode"; private String localDataSource; - public DataNodePrefs(PrefsManager repository, Project project, String dataNodeName) { - super(repository.projectPref(project, NODE + "/" + dataNodeName)); - - // capture repo and project for the sake of "rename" - this.repository = repository; - this.project = project; + public DataNodePrefs(Preferences prefs) { + super(prefs); } - public DataNodePrefs rename(String newName) { - DataNodePrefs renamed = new DataNodePrefs(repository, project, newName); + public DataNodePrefs renameTo(Preferences newPrefs) { + DataNodePrefs renamed = new DataNodePrefs(newPrefs); // TODO: is this the correct behavior? In the DataMapPrefs we are doing "copy", not "move" to handle reverts PreferencesCopier.move(prefs, renamed.prefs); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/GeneralPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/GeneralPrefs.java index 877b14bbd..dc3eb10f8 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/GeneralPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/GeneralPrefs.java @@ -19,6 +19,8 @@ package org.apache.cayenne.modeler.pref; +import java.util.prefs.Preferences; + public final class GeneralPrefs extends PreferenceAdapter { public static final String NODE = "general"; @@ -28,8 +30,8 @@ public final class GeneralPrefs extends PreferenceAdapter { public static final String ENCODING = "encoding"; public static final String FAVOURITE_DATA_SOURCE = "favouriteDataSource"; - public GeneralPrefs(PrefsLocator locator) { - super(locator.appNode(NODE)); + public GeneralPrefs(Preferences prefs) { + super(prefs); } public boolean isAutoLoadProject() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/RecentProjectsPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/RecentProjectsPrefs.java index 729a85134..3e78898b0 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/RecentProjectsPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/RecentProjectsPrefs.java @@ -26,6 +26,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.prefs.BackingStoreException; +import java.util.prefs.Preferences; public final class RecentProjectsPrefs extends PreferenceAdapter { @@ -35,8 +36,8 @@ public final class RecentProjectsPrefs extends PreferenceAdapter { public static final String NODE = "lastProjects"; - public RecentProjectsPrefs(PrefsLocator locator) { - super(locator.appNode(NODE)); + public RecentProjectsPrefs(Preferences prefs) { + super(prefs); } public List<File> getFiles() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectPrefs.java index 62ae0b397..52724664b 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectPrefs.java @@ -53,13 +53,12 @@ import org.apache.cayenne.modeler.event.display.ProcedureDisplayEvent; import org.apache.cayenne.modeler.event.display.ProcedureParameterDisplayEvent; import org.apache.cayenne.modeler.event.display.QueryDisplayEvent; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsManager; -import org.apache.cayenne.project.Project; import org.apache.cayenne.util.CayenneMapEntry; import java.util.ArrayList; import java.util.List; import java.util.prefs.BackingStoreException; +import java.util.prefs.Preferences; /** * Binding-style handler for the Modeler's last project selection. Loaded on project @@ -96,8 +95,8 @@ public final class ProjectPrefs extends PreferenceAdapter { query, multipleObjects } - public ProjectPrefs(PrefsManager repository, Project project) { - super(repository.projectPref(project, null)); + public ProjectPrefs(Preferences prefs) { + super(prefs); } public void load(ProjectSession session) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectSession.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectSession.java index 8edb373fb..c3b6494b2 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectSession.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectSession.java @@ -201,14 +201,14 @@ public class ProjectSession { if (project == null) { return; } - new ProjectPrefs(app.getPrefsManager(), project).flush(this); + new ProjectPrefs(app.getPrefsManager().projectPref(project, null)).flush(this); } public void restoreSelectionFromPrefs() { if (project == null) { return; } - new ProjectPrefs(app.getPrefsManager(), project).load(this); + new ProjectPrefs(app.getPrefsManager().projectPref(project, null)).load(this); } public boolean isDirty() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/component/CMComponentGeometryPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/component/CMComponentGeometryPrefs.java index f1a0119e6..bfcb914b0 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/component/CMComponentGeometryPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/component/CMComponentGeometryPrefs.java @@ -20,11 +20,11 @@ package org.apache.cayenne.modeler.toolkit.component; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsManager; import java.awt.*; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; +import java.util.prefs.Preferences; public final class CMComponentGeometryPrefs extends PreferenceAdapter { @@ -33,8 +33,8 @@ public final class CMComponentGeometryPrefs extends PreferenceAdapter { private static final String X_PROPERTY = "x"; private static final String Y_PROPERTY = "y"; - public CMComponentGeometryPrefs(PrefsManager repository, String path) { - super(repository.uiNode(path)); + public CMComponentGeometryPrefs(Preferences prefs) { + super(prefs); } public void bind(Component c, int defaultWidth, int defaultHeight) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/filechooser/CMFileChooserPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/filechooser/CMFileChooserPrefs.java index 44c8f31e4..53017e727 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/filechooser/CMFileChooserPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/filechooser/CMFileChooserPrefs.java @@ -20,17 +20,17 @@ package org.apache.cayenne.modeler.toolkit.filechooser; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsManager; import javax.swing.JFileChooser; import java.io.File; +import java.util.prefs.Preferences; public final class CMFileChooserPrefs extends PreferenceAdapter { private static final String PATH_PROPERTY = "path"; - public CMFileChooserPrefs(PrefsManager repository, String path) { - super(repository.uiNode(path)); + public CMFileChooserPrefs(Preferences prefs) { + super(prefs); } public void bind(JFileChooser chooser) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/splitpane/CMSplitPanePrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/splitpane/CMSplitPanePrefs.java index bf8e6500e..de53da223 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/splitpane/CMSplitPanePrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/splitpane/CMSplitPanePrefs.java @@ -20,17 +20,17 @@ package org.apache.cayenne.modeler.toolkit.splitpane; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsManager; import javax.swing.*; import java.beans.PropertyChangeListener; +import java.util.prefs.Preferences; public final class CMSplitPanePrefs extends PreferenceAdapter { private PropertyChangeListener listener; - public CMSplitPanePrefs(PrefsManager repository, String path) { - super(repository.uiNode(path)); + public CMSplitPanePrefs(Preferences prefs) { + super(prefs); } public void bind(JSplitPane pane, int defaultLocation) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/table/CMTablePrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/table/CMTablePrefs.java index 99539351b..4b99da40b 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/table/CMTablePrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/table/CMTablePrefs.java @@ -19,7 +19,6 @@ package org.apache.cayenne.modeler.toolkit.table; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsManager; import javax.swing.event.ChangeEvent; import javax.swing.event.ListSelectionEvent; @@ -29,6 +28,7 @@ import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import javax.swing.table.TableModel; import java.util.Map; +import java.util.prefs.Preferences; public final class CMTablePrefs extends PreferenceAdapter { @@ -38,8 +38,8 @@ public final class CMTablePrefs extends PreferenceAdapter { private static final String ORDER_KEY = "colOrder"; private static final String LISTENER_PROPERTY = "TablePrefs.listener"; - public CMTablePrefs(PrefsManager manager, String path) { - super(manager.uiNode(path)); + public CMTablePrefs(Preferences prefs) { + super(prefs); } /** 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 f0f567df1..4d30c5998 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 @@ -114,7 +114,7 @@ public class MainFrame extends AppFrame { splitPane.getInsets().right = 5; splitPane.setResizeWeight(0.7); - this.splitPanePrefs = new CMSplitPanePrefs(app.getPrefsManager(), "frame/splitPane"); + this.splitPanePrefs = new CMSplitPanePrefs(app.getPrefsManager().uiNode("frame/splitPane")); JPanel statusBar = new JPanel(new FlowLayout(FlowLayout.LEFT, 3, 1)); statusBar.setBorder(TopBorder.create()); @@ -238,7 +238,7 @@ public class MainFrame extends AppFrame { } }); - new CMComponentGeometryPrefs(app.getPrefsManager(), "frame/geometry").bind(this, 1200, 720); + new CMComponentGeometryPrefs(app.getPrefsManager().uiNode("frame/geometry")).bind(this, 1200, 720); setVisible(true); } @@ -328,11 +328,11 @@ public class MainFrame extends AppFrame { * Adds path to the list of last opened projects in preferences. */ public void addToLastProjListAction(File file) { - new RecentProjectsPrefs(app.getPrefsLocator()).addFile(file); + new RecentProjectsPrefs(app.getPrefsLocator().appNode(RecentProjectsPrefs.NODE)).addFile(file); } public void changePathInLastProjListAction(File oldFile, File newFile) { - RecentProjectsPrefs prefs = new RecentProjectsPrefs(app.getPrefsLocator()); + RecentProjectsPrefs prefs = new RecentProjectsPrefs(app.getPrefsLocator().appNode(RecentProjectsPrefs.NODE)); prefs.removeFile(oldFile); prefs.addFile(newFile); 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 1ec537238..03d66a625 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 @@ -149,7 +149,7 @@ class MainMenuBar extends JMenuBar { */ public void rebuildFromPreferences() { - List<File> files = new RecentProjectsPrefs(app.getPrefsLocator()).getFiles(); + List<File> files = new RecentProjectsPrefs(app.getPrefsLocator().appNode(RecentProjectsPrefs.NODE)).getFiles(); // read menus Component[] comps = getMenuComponents(); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DBConnectionAwareAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DBConnectionAwareAction.java index 7f6006979..ee39e62e7 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DBConnectionAwareAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/DBConnectionAwareAction.java @@ -73,6 +73,6 @@ public abstract class DBConnectionAwareAction extends AppAction { } private DataMapPrefs dataMapPrefs(DataMap dataMap) { - return new DataMapPrefs(app.getPrefsManager(), dataMap); + return new DataMapPrefs(app.getPrefsManager().dataMapPref(dataMap, null)); } } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportDataMapAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportDataMapAction.java index 78c05d88a..aacb87743 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportDataMapAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportDataMapAction.java @@ -102,7 +102,7 @@ public class ImportDataMapAction extends AppAction { JFileChooser chooser = new JFileChooser(); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); - new CMFileChooserPrefs(app.getPrefsManager(), "importDataMap/lastDir").bind(chooser); + new CMFileChooserPrefs(app.getPrefsManager().uiNode("importDataMap/lastDir")).bind(chooser); chooser.addChoosableFileFilter(FileFilters.getDataMapFilter()); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java index 6661dc59d..27382c5fc 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java @@ -325,7 +325,7 @@ public class ImportEOModelAction extends AppAction { eoModelChooser = new EOModelChooser("Select EOModel"); } - new CMFileChooserPrefs(app.getPrefsManager(), "importEOModel/lastDir").bind(eoModelChooser); + new CMFileChooserPrefs(app.getPrefsManager().uiNode("importEOModel/lastDir")).bind(eoModelChooser); return eoModelChooser; } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ProjectOpener.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ProjectOpener.java index 10d860c28..6a5a36fa3 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ProjectOpener.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ProjectOpener.java @@ -137,7 +137,7 @@ class ProjectOpener extends JFileChooser { } private File getDefaultStartDir(Application application) { - List<File> recent = new RecentProjectsPrefs(application.getPrefsLocator()).getFiles(); + List<File> recent = new RecentProjectsPrefs(application.getPrefsLocator().appNode(RecentProjectsPrefs.NODE)).getFiles(); if (!recent.isEmpty()) { File parent = recent.get(0).getParentFile(); if (parent != null && parent.isDirectory()) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ShowLogConsoleAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ShowLogConsoleAction.java index 7239ce0ad..3baa53e33 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ShowLogConsoleAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ShowLogConsoleAction.java @@ -44,6 +44,6 @@ public class ShowLogConsoleAction extends AppAction { } private Boolean isConsoleShown() { - return new LogConsolePrefs(app.getPrefsLocator()).isShowConsole(); + return new LogConsolePrefs(app.getPrefsLocator().appNode(LogConsolePrefs.NODE)).isShowConsole(); } } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java index edc7fe5a5..8a5ca3fad 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java @@ -63,7 +63,7 @@ public class ConfirmRemoveDialog { // If the user clicks "cancel" or window close button, we'll just ignore whatever's in the checkbox because // it's non-sensical. if (shouldDelete) { - new GeneralPrefs(application.getPrefsLocator()).setNoDeletePrompt(neverPromptAgainBox.isSelected()); + new GeneralPrefs(application.getPrefsLocator().appNode(GeneralPrefs.NODE)).setNoDeletePrompt(neverPromptAgainBox.isSelected()); } } @@ -72,7 +72,7 @@ public class ConfirmRemoveDialog { } public boolean shouldDelete(String name) { - if (allowAsking && !new GeneralPrefs(application.getPrefsLocator()).isNoDeletePrompt()) { + if (allowAsking && !new GeneralPrefs(application.getPrefsLocator().appNode(GeneralPrefs.NODE)).isNoDeletePrompt()) { showDialog(name); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceDialog.java index ac3c8d033..b7564ca6e 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceDialog.java @@ -84,7 +84,7 @@ public class DataSourceDialog extends ProjectDialog { refreshDataSources(); initFavouriteDataSource(); - DataMapPrefs dataMapPrefs = new DataMapPrefs(app.getPrefsManager(), session.getSelectedDataMap()); + DataMapPrefs dataMapPrefs = new DataMapPrefs(app.getPrefsManager().dataMapPref(session.getSelectedDataMap(), null)); if (dataMapPrefs.hasDbAdapter()) { getConnectionInfoFromPreferences().copyTo(connector); } @@ -155,7 +155,7 @@ public class DataSourceDialog extends ProjectDialog { } private void initFavouriteDataSource() { - String favourite = new GeneralPrefs(app.getPrefsLocator()).getFavouriteDataSource(); + String favourite = new GeneralPrefs(app.getPrefsLocator().appNode(GeneralPrefs.NODE)).getFavouriteDataSource(); if (favourite != null && connectors.containsKey(favourite)) { setSelectedDataSource(favourite); dataSources.setSelectedItem(dataSourceKey); @@ -163,7 +163,7 @@ public class DataSourceDialog extends ProjectDialog { } private DBConnector getConnectionInfoFromPreferences() { - DataMapPrefs dataMapPrefs = new DataMapPrefs(app.getPrefsManager(), session.getSelectedDataMap()); + DataMapPrefs dataMapPrefs = new DataMapPrefs(app.getPrefsManager().dataMapPref(session.getSelectedDataMap(), null)); DBConnector c = dataMapPrefs.getConnector(); return c != null ? c : new DBConnector(); } @@ -197,7 +197,7 @@ public class DataSourceDialog extends ProjectDialog { this.canceled = canceled; dispose(); if (!canceled) { - new GeneralPrefs(app.getPrefsLocator()).setFavouriteDataSource(dataSourceKey); + new GeneralPrefs(app.getPrefsLocator().appNode(GeneralPrefs.NODE)).setFavouriteDataSource(dataSourceKey); } } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsDialog.java index ba1795912..8fc897991 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsDialog.java @@ -106,7 +106,7 @@ public class DBGeneratorOptionsDialog extends ProjectDialog { this.connector = new DBConnector(); this.connector.setAllowDataSourceFailure(true); - this.generatorDefaults = new DBGeneratorPrefs(app.getPrefsManager(), session.project()); + this.generatorDefaults = new DBGeneratorPrefs(app.getPrefsManager().projectPref(session.project(), DBGeneratorPrefs.NODE)); // create widgets — set initial state before wiring listeners so we // don't fire spurious refresh events during construction. diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorPrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorPrefs.java index 23b5e8aee..db7c7b27a 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorPrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorPrefs.java @@ -19,15 +19,15 @@ package org.apache.cayenne.modeler.ui.dbgen; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsManager; -import org.apache.cayenne.project.Project; + +import java.util.prefs.Preferences; /** * Persistence for the DB Generator dialog's checkbox options. */ public class DBGeneratorPrefs extends PreferenceAdapter { - static final String NODE = "dbGenerator"; + public static final String NODE = "dbGenerator"; private static final String CREATE_FK_PROPERTY = "createFK"; private static final String CREATE_PK_PROPERTY = "createPK"; @@ -35,8 +35,8 @@ public class DBGeneratorPrefs extends PreferenceAdapter { private static final String DROP_PK_PROPERTY = "dropPK"; private static final String DROP_TABLES_PROPERTY = "dropTables"; - public DBGeneratorPrefs(PrefsManager repository, Project project) { - super(repository.projectPref(project, NODE)); + public DBGeneratorPrefs(Preferences prefs) { + super(prefs); } public boolean getCreateFK() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbrelationship/DbRelationshipDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbrelationship/DbRelationshipDialog.java index cd050ed2c..5c8e632fa 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbrelationship/DbRelationshipDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbrelationship/DbRelationshipDialog.java @@ -321,7 +321,7 @@ public class DbRelationshipDialog extends ProjectDialog { AutoCompletion.enable(targetCombo, session::getSelectedDataMap); targetColumn.setCellEditor(new CMComboBoxCellEditor(targetCombo)); - new CMTablePrefs(app.getPrefsManager(), "dbEntity/dbjoinTable") + new CMTablePrefs(app.getPrefsManager().uiNode("dbEntity/dbjoinTable")) .bind(table, null, DbJoinTableModel.SOURCE); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsole.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsole.java index 9862ba6c1..f64da5827 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsole.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsole.java @@ -158,7 +158,7 @@ public class LogConsole extends AppPanel implements LogAppender { } public void toggle() { - if (new LogConsolePrefs(app.getPrefsLocator()).toggleShowConsole()) { + if (new LogConsolePrefs(app.getPrefsLocator().appNode(LogConsolePrefs.NODE)).toggleShowConsole()) { appear(); } else { disappear(); @@ -166,7 +166,7 @@ public class LogConsole extends AppPanel implements LogAppender { } public void showConsoleIfNeeded() { - if (new LogConsolePrefs(app.getPrefsLocator()).isShowConsole()) { + if (new LogConsolePrefs(app.getPrefsLocator().appNode(LogConsolePrefs.NODE)).isShowConsole()) { appear(); } } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsolePrefs.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsolePrefs.java index af1fabcf2..42e63f0dc 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsolePrefs.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/logconsole/LogConsolePrefs.java @@ -20,15 +20,16 @@ package org.apache.cayenne.modeler.ui.logconsole; import org.apache.cayenne.modeler.pref.PreferenceAdapter; -import org.apache.cayenne.modeler.pref.PrefsLocator; + +import java.util.prefs.Preferences; public final class LogConsolePrefs extends PreferenceAdapter { - static final String NODE = "logConsole"; + public static final String NODE = "logConsole"; static final String SHOW_CONSOLE = "showLogConsole"; - public LogConsolePrefs(PrefsLocator locator) { - super(locator.appNode(NODE)); + public LogConsolePrefs(Preferences prefs) { + super(prefs); } public boolean isShowConsole() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPrefsPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPrefsPanel.java index 0bd87c22b..90918ac56 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPrefsPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/classpath/ClasspathPrefsPanel.java @@ -54,7 +54,7 @@ public class ClasspathPrefsPanel extends AppPanel { public ClasspathPrefsPanel(Application app) { super(app); - this.entries = new ArrayList<>(new ClasspathPrefs(app.getPrefsLocator()).getEntries()); + this.entries = new ArrayList<>(new ClasspathPrefs(app.getPrefsLocator().appNode(ClasspathPrefs.NODE)).getEntries()); this.tableModel = new ClasspathTableModel(); this.table = new CMTable(); this.table.setRowMargin(3); @@ -70,7 +70,7 @@ public class ClasspathPrefsPanel extends AppPanel { } public void commit() { - new ClasspathPrefs(app.getPrefsLocator()).setEntries(entries); + new ClasspathPrefs(app.getPrefsLocator().appNode(ClasspathPrefs.NODE)).setEntries(entries); app.refreshClassLoader(); } @@ -139,7 +139,7 @@ public class ClasspathPrefsPanel extends AppPanel { chooser.setDialogType(JFileChooser.OPEN_DIALOG); chooser.setAcceptAllFileFilterUsed(true); - new CMFileChooserPrefs(app.getPrefsManager(), "classpath/lastDir").bind(chooser); + new CMFileChooserPrefs(app.getPrefsManager().uiNode("classpath/lastDir")).bind(chooser); if (filter != null) { chooser.addChoosableFileFilter(filter); chooser.setFileFilter(filter); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPrefsPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPrefsPanel.java index c7d1f3973..87e966019 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPrefsPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/preferences/general/GeneralPrefsPanel.java @@ -55,7 +55,7 @@ public class GeneralPrefsPanel extends AppPanel { this.systemEncoding = Charset.defaultCharset().name(); this.defaultLabel = systemEncoding + " (default)"; - GeneralPrefs prefs = new GeneralPrefs(app.getPrefsLocator()); + GeneralPrefs prefs = new GeneralPrefs(app.getPrefsLocator().appNode(GeneralPrefs.NODE)); this.encodingChoices = new JComboBox<>(new DefaultComboBoxModel<>(encodingLabels())); selectEncoding(prefs.getEncoding()); @@ -70,7 +70,7 @@ public class GeneralPrefsPanel extends AppPanel { } public void commit() { - GeneralPrefs prefs = new GeneralPrefs(app.getPrefsLocator()); + GeneralPrefs prefs = new GeneralPrefs(app.getPrefsLocator().appNode(GeneralPrefs.NODE)); prefs.setEncoding(selectedEncoding()); prefs.setAutoLoadProject(autoLoadProject.isSelected()); prefs.setNoDeletePrompt(noDeletePrompt.isSelected()); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectView.java index 21de66b6e..25f998bd6 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/ProjectView.java @@ -102,7 +102,7 @@ public class ProjectView extends ProjectPanel { this.filterPopup = new TreeFilterPopup(treePanel); - new CMSplitPanePrefs(app.getPrefsManager(), "project/splitPane").bind(splitPane, 300); + new CMSplitPanePrefs(app.getPrefsManager().uiNode("project/splitPane")).bind(splitPane, 300); } public EditorPanelView getEditorPanel() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/DataDomainCgenTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/DataDomainCgenTab.java index 99cea6e66..6136f1905 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/DataDomainCgenTab.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datadomain/cgen/DataDomainCgenTab.java @@ -88,7 +88,7 @@ public class DataDomainCgenTab extends DataDomainGeneratorsTab<CgenConfiguration CgenConfiguration cgenConfiguration = new CgenConfiguration(); cgenConfiguration.setDataMap(dataMap); cgenConfiguration.updateOutputPath(CgenOps.baseDir(session)); - cgenConfiguration.setEncoding(new GeneralPrefs(app.getPrefsLocator()).getEncoding()); + cgenConfiguration.setEncoding(new GeneralPrefs(app.getPrefsLocator().appNode(GeneralPrefs.NODE)).getEncoding()); cgenConfiguration.resolveExcludedEntities(); cgenConfiguration.resolveExcludedEmbeddables(); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenPanel.java index 70c7a0d7c..10d6f494c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/CgenPanel.java @@ -447,7 +447,7 @@ public class CgenPanel extends ProjectPanel configuration.setRootPath(Utils.getRootPathForDataMap(map)); configuration.updateOutputPath(basePath); } - configuration.setEncoding(new GeneralPrefs(app.getPrefsLocator()).getEncoding()); + configuration.setEncoding(new GeneralPrefs(app.getPrefsLocator().appNode(GeneralPrefs.NODE)).getEncoding()); return configuration; } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/templateeditor/TemplateEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/templateeditor/TemplateEditor.java index d131578a2..63946cfec 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/templateeditor/TemplateEditor.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/cgen/templateeditor/TemplateEditor.java @@ -256,8 +256,8 @@ public class TemplateEditor extends AppFrame { } private void bindGeometry() { - new CMSplitPanePrefs(app.getPrefsManager(), "templateEditor/splitPane").bind(split, 600); - new CMComponentGeometryPrefs(app.getPrefsManager(), "templateEditor/geometry").bind(this, 1200, 700); + new CMSplitPanePrefs(app.getPrefsManager().uiNode("templateEditor/splitPane")).bind(split, 600); + new CMComponentGeometryPrefs(app.getPrefsManager().uiNode("templateEditor/geometry")).bind(this, 1200, 700); } private void mapVelocityTokenMaker() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/main/DataMapMainView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/main/DataMapMainView.java index adc918264..8766966f4 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/main/DataMapMainView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/main/DataMapMainView.java @@ -241,7 +241,7 @@ public class DataMapMainView extends ProjectPanel { dataMap.setDefaultPackage(newDefaultPackage); // update class generation preferences - new DataMapPrefs(app.getPrefsManager(), dataMap) + new DataMapPrefs(app.getPrefsManager().dataMapPref(dataMap, null)) .setSuperclassPackage(newDefaultPackage, DataMapPrefs.DEFAULT_SUPERCLASS_PACKAGE_SUFFIX); session.fireDataMapEvent(DataMapEvent.ofChange(this, dataMap)); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorPanel.java index b98165e5a..44f022242 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/DataNodeEditorPanel.java @@ -231,7 +231,7 @@ public class DataNodeEditorPanel extends ProjectPanel { String oldName = node.getName(); node.setName(newName); - new DataNodePrefs(app.getPrefsManager(), session.project(), oldName).rename(newName); + new DataNodePrefs(dataNodePref(oldName)).renameTo(dataNodePref(newName)); } private DataNodePrefs nodePrefs() { @@ -239,7 +239,11 @@ public class DataNodeEditorPanel extends ProjectPanel { if (selected == null) { throw new IllegalStateException("No DataNode selected"); } - return new DataNodePrefs(app.getPrefsManager(), session.project(), selected.getName()); + return new DataNodePrefs(dataNodePref(selected.getName())); + } + + private java.util.prefs.Preferences dataNodePref(String dataNodeName) { + return app.getPrefsManager().projectPref(session.project(), DataNodePrefs.NODE + "/" + dataNodeName); } private void dataSourceConfigAction() { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/jdbc/JDBCDataSourcePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/jdbc/JDBCDataSourcePanel.java index ca798c59e..096194d0c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/jdbc/JDBCDataSourcePanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datanode/jdbc/JDBCDataSourcePanel.java @@ -158,10 +158,9 @@ public class JDBCDataSourcePanel extends DataSourcePanel { DataSourceDescriptor projectDataSourceDescriptor = getNode().getDataSourceDescriptor(); - String key = new DataNodePrefs( - app.getPrefsManager(), + String key = new DataNodePrefs(app.getPrefsManager().projectPref( frame.getProjectSession().project(), - getNode().getName()).getLocalDataSource(); + DataNodePrefs.NODE + "/" + getNode().getName())).getLocalDataSource(); if (key == null) { frame.updateStatus("No Local DataSource selected for node..."); return; diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbAttributePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbAttributePanel.java index 33751d06c..5e051a3a1 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbAttributePanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbAttributePanel.java @@ -185,7 +185,7 @@ public class DbAttributePanel extends JPanel implements DbEntityDisplayListener, TableColumn typeColumn = table.getColumnModel().getColumn(DbAttributeTableModel.DB_ATTRIBUTE_TYPE); typeColumn.setCellEditor(new CMComboBoxCellEditor(comboBox)); - new CMTablePrefs(session.app().getPrefsManager(), "dbEntity/attributeTable") + new CMTablePrefs(session.app().getPrefsManager().uiNode("dbEntity/attributeTable")) .bind(table, null, DbAttributeTableModel.DB_ATTRIBUTE_NAME); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbEntityPropertiesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbEntityPropertiesView.java index 68806b65b..2479ea0f1 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbEntityPropertiesView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbEntityPropertiesView.java @@ -71,7 +71,7 @@ public class DbEntityPropertiesView extends ProjectPanel implements DbEntityDisp splitPane.setOneTouchExpandable(true); splitPane.setResizeWeight(0.5); - new CMSplitPanePrefs(app.getPrefsManager(), "dbEntity/splitPane").bind(splitPane, -1); + new CMSplitPanePrefs(app.getPrefsManager().uiNode("dbEntity/splitPane")).bind(splitPane, -1); add(splitPane); toolBar.setFloatable(false); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbRelationshipPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbRelationshipPanel.java index 5f51566c9..3b2f89101 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbRelationshipPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/dbentity/properties/DbRelationshipPanel.java @@ -193,7 +193,7 @@ public class DbRelationshipPanel extends JPanel implements DbEntityDisplayListen TableColumn toDepPkColumn = table.getColumnModel().getColumn(DbRelationshipTableModel.TO_DEPENDENT_KEY); toDepPkColumn.setCellRenderer(new CheckBoxCellRenderer()); - new CMTablePrefs(session.app().getPrefsManager(), "dbEntity/relationshipTable") + new CMTablePrefs(session.app().getPrefsManager().uiNode("dbEntity/relationshipTable")) .bind(table, null, DbRelationshipTableModel.NAME); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/embeddable/attributes/EmbeddableAttributesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/embeddable/attributes/EmbeddableAttributesView.java index b9d1036be..0d67b86bc 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/embeddable/attributes/EmbeddableAttributesView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/embeddable/attributes/EmbeddableAttributesView.java @@ -171,7 +171,7 @@ public class EmbeddableAttributesView extends ProjectPanel implements AutoCompletion.enable(javaTypesCombo, false, true, session::getSelectedDataMap); typeColumn.setCellEditor(new CMComboBoxCellEditor(javaTypesCombo)); - new CMTablePrefs(app.getPrefsManager(), "embeddable/attributeTable") + new CMTablePrefs(app.getPrefsManager().uiNode("embeddable/attributeTable")) .bind(table, null, EmbeddableAttributeTableModel.OBJ_ATTRIBUTE); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/attrinfo/ObjAttributeInfoDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/attrinfo/ObjAttributeInfoDialog.java index a11b3e699..c92145ddc 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/attrinfo/ObjAttributeInfoDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/attrinfo/ObjAttributeInfoDialog.java @@ -411,7 +411,7 @@ public class ObjAttributeInfoDialog extends ProjectDialog implements TreeSelecti .getColumn(OverrideEmbeddableAttributeTableModel.DB_ATTRIBUTE_TYPE); dbAttrTypeColumn.setCellRenderer(renderer); - new CMTablePrefs(app.getPrefsManager(), "objEntity/overrideAttributeTable") + new CMTablePrefs(app.getPrefsManager().uiNode("objEntity/overrideAttributeTable")) .bind(overrideAttributeTable, null, OverrideEmbeddableAttributeTableModel.OBJ_ATTRIBUTE); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/callbacks/ObjEntityCallbacksView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/callbacks/ObjEntityCallbacksView.java index 99592211e..6ecdab5a4 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/callbacks/ObjEntityCallbacksView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/callbacks/ObjEntityCallbacksView.java @@ -219,7 +219,7 @@ public class ObjEntityCallbacksView extends ProjectPanel { } for (CMTable table : tables) { - new CMTablePrefs(app.getPrefsManager(), "objEntity/callbackTable") + new CMTablePrefs(app.getPrefsManager().uiNode("objEntity/callbackTable")) .bind(table, MIN_SIZES); } } @@ -513,7 +513,7 @@ public class ObjEntityCallbacksView extends ProjectPanel { public void mouseDragged(MouseEvent e) { if (table.getColumnWidthChanged()) { - new CMTablePrefs(app.getPrefsManager(), "objEntity/callbackTable") + new CMTablePrefs(app.getPrefsManager().uiNode("objEntity/callbackTable")) .bind(table, MIN_SIZES); for (CMTable nextTable : tables) { if (!table.equals(nextTable)) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjAttributePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjAttributePanel.java index 3f8c430d7..3e0ef0cc2 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjAttributePanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjAttributePanel.java @@ -318,7 +318,7 @@ public class ObjAttributePanel extends JPanel implements ObjEntityDisplayListene table.getColumnModel().getColumn(ObjAttributeTableModel.DB_ATTRIBUTE).setCellRenderer(new DbAttributePathComboBoxRenderer()); table.getColumnModel().getColumn(ObjAttributeTableModel.DB_ATTRIBUTE).setCellEditor(new DbAttributePathComboBoxEditor(session::getSelectedDataMap)); - new CMTablePrefs(session.app().getPrefsManager(), "objEntity/attributeTable") + new CMTablePrefs(session.app().getPrefsManager().uiNode("objEntity/attributeTable")) .bind(table, minSizes, ObjAttributeTableModel.OBJ_ATTRIBUTE); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjEntityPropertiesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjEntityPropertiesView.java index 93637d37e..57317de21 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjEntityPropertiesView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjEntityPropertiesView.java @@ -67,7 +67,7 @@ public class ObjEntityPropertiesView extends ProjectPanel implements ObjEntityDi splitPane.setOneTouchExpandable(true); splitPane.setResizeWeight(0.5); - new CMSplitPanePrefs(app.getPrefsManager(), "objEntity/splitPane").bind(splitPane, -1); + new CMSplitPanePrefs(app.getPrefsManager().uiNode("objEntity/splitPane")).bind(splitPane, -1); add(splitPane); toolBar.setFloatable(false); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjRelationshipPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjRelationshipPanel.java index fbd4c7a5b..5b1b1ff12 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjRelationshipPanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/objentity/properties/ObjRelationshipPanel.java @@ -276,7 +276,7 @@ public class ObjRelationshipPanel extends JPanel implements ObjEntityDisplayList deleteRulesCombo.setSelectedIndex(0); // Default to the first value col.setCellEditor(new CMComboBoxCellEditor(deleteRulesCombo)); - new CMTablePrefs(session.app().getPrefsManager(), "objEntity/relationshipTable") + new CMTablePrefs(session.app().getPrefsManager().uiNode("objEntity/relationshipTable")) .bind(table, null, ObjRelationshipTableModel.REL_NAME); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/procedure/ProcedureParameterTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/procedure/ProcedureParameterTab.java index ced3323fc..0d642f9d2 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/procedure/ProcedureParameterTab.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/procedure/ProcedureParameterTab.java @@ -287,7 +287,7 @@ public class ProcedureParameterTab extends ProjectPanel implements ProcedurePara moveUp.setEnabled(false); moveDown.setEnabled(false); - new CMTablePrefs(app.getPrefsManager(), "procedure/parameterTable").bind(table, null); + new CMTablePrefs(app.getPrefsManager().uiNode("procedure/parameterTable")).bind(table, null); } public void procedureParameterAdded(ProcedureParameterEvent e) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/selectquery/SelectQueryOrderingTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/selectquery/SelectQueryOrderingTab.java index 18973568b..409f84803 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/selectquery/SelectQueryOrderingTab.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/selectquery/SelectQueryOrderingTab.java @@ -81,7 +81,7 @@ public class SelectQueryOrderingTab extends ProjectPanel { //As of CAY-888 #3 main pane is now a JSplitPane. Top component is a bit larger. JSplitPane mainPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT); - new CMSplitPanePrefs(app.getPrefsManager(), "selectQuery/orderingSplit").bind(mainPanel, defLocation); + new CMSplitPanePrefs(app.getPrefsManager().uiNode("selectQuery/orderingSplit")).bind(mainPanel, defLocation); mainPanel.setTopComponent(createEditorPanel()); mainPanel.setBottomComponent(createSelectorPanel()); diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/sqltemplate/SQLTemplatePrefetchTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/sqltemplate/SQLTemplatePrefetchTab.java index e27f0ba20..dea02e82b 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/sqltemplate/SQLTemplatePrefetchTab.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/query/sqltemplate/SQLTemplatePrefetchTab.java @@ -92,7 +92,7 @@ public class SQLTemplatePrefetchTab extends ProjectPanel { //As of CAY-888 #3 main pane is now a JSplitPane. Top component is a bit larger. JSplitPane mainPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT); - new CMSplitPanePrefs(app.getPrefsManager(), "sqlTemplate/prefetchSplit").bind(mainPanel, defLocation); + new CMSplitPanePrefs(app.getPrefsManager().uiNode("sqlTemplate/prefetchSplit")).bind(mainPanel, defLocation); mainPanel.setTopComponent(createEditorPanel()); mainPanel.setBottomComponent(createSelectorPanel()); 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 941651044..e32f1d547 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 @@ -126,7 +126,7 @@ public class WelcomeScreen extends AppPanel implements RecentFileListener, Recen @Override public void recentFileListChanged() { - List<File> arr = new RecentProjectsPrefs(app.getPrefsLocator()).getFiles(); + List<File> arr = new RecentProjectsPrefs(app.getPrefsLocator().appNode(RecentProjectsPrefs.NODE)).getFiles(); recentProjectsList.setModel(new RecentFileListModel(arr)); } }
