Skip to content

Commit f9bc7c3

Browse files
committed
Modeler prefs - removing locator lookups from PreferenceAdapter constructors
1 parent c1616c8 commit f9bc7c3

49 files changed

Lines changed: 107 additions & 106 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ public void launch(File initialProject) {
187187

188188
getPrefsManager().runMigrations();
189189

190-
this.dbConnectors = new DBConnectorPrefs(prefsLocator).getConnectors();
190+
this.dbConnectors = new DBConnectorPrefs(prefsLocator.appNode(DBConnectorPrefs.NODE)).getConnectors();
191191

192192
refreshClassLoader();
193193

@@ -238,16 +238,16 @@ public PrefsLocator getPrefsLocator() {
238238
* Reinitializes ModelerClassLoader from preferences.
239239
*/
240240
public void refreshClassLoader() {
241-
List<String> values = new ClasspathPrefs(prefsLocator).getEntries();
241+
List<String> values = new ClasspathPrefs(prefsLocator.appNode(ClasspathPrefs.NODE)).getEntries();
242242
if (!values.isEmpty()) {
243243
getClassLoader().setFiles(values.stream().map(File::new).collect(Collectors.toList()));
244244
}
245245
}
246246

247247
private File initialProjectFromPreferences() {
248248

249-
if (new GeneralPrefs(prefsLocator).isAutoLoadProject()) {
250-
List<File> files = new RecentProjectsPrefs(prefsLocator).getFiles();
249+
if (new GeneralPrefs(prefsLocator.appNode(GeneralPrefs.NODE)).isAutoLoadProject()) {
250+
List<File> files = new RecentProjectsPrefs(prefsLocator.appNode(RecentProjectsPrefs.NODE)).getFiles();
251251
if (!files.isEmpty()) {
252252
return files.getFirst();
253253
}

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/ClasspathPrefs.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,16 @@
2626
import java.util.Comparator;
2727
import java.util.List;
2828
import java.util.prefs.BackingStoreException;
29+
import java.util.prefs.Preferences;
2930

3031
public final class ClasspathPrefs extends PreferenceAdapter {
3132

3233
private static final Logger LOGGER = LoggerFactory.getLogger(ClasspathPrefs.class);
3334

3435
public static final String NODE = "classpath";
3536

36-
public ClasspathPrefs(PrefsLocator locator) {
37-
super(locator.appNode(NODE));
37+
public ClasspathPrefs(Preferences prefs) {
38+
super(prefs);
3839
}
3940

4041
// Returns classpath entries in numeric-key order. Defensive against any

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectorPrefs.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,16 @@
3232
*/
3333
public class DBConnectorPrefs extends PreferenceAdapter {
3434

35-
static final String NODE = "dbConnectors";
35+
public static final String NODE = "dbConnectors";
3636

3737
private static final String DB_ADAPTER_PROPERTY = "dbAdapter";
3838
private static final String JDBC_DRIVER_PROPERTY = "jdbcDriver";
3939
private static final String PASSWORD_PROPERTY = "password";
4040
private static final String URL_PROPERTY = "url";
4141
private static final String USER_NAME_PROPERTY = "userName";
4242

43-
public DBConnectorPrefs(PrefsLocator locator) {
44-
super(locator.appNode(NODE));
43+
public DBConnectorPrefs(Preferences prefs) {
44+
super(prefs);
4545
}
4646

4747
public DBConnectors getConnectors() {

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapPrefs.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,17 @@
1818
****************************************************************/
1919
package org.apache.cayenne.modeler.pref;
2020

21-
import org.apache.cayenne.map.DataMap;
2221
import org.apache.cayenne.modeler.dbconnector.DBConnector;
2322

23+
import java.util.prefs.Preferences;
24+
2425
public final class DataMapPrefs extends PreferenceAdapter {
2526

2627
public static final String SUPERCLASS_PACKAGE_PROPERTY = "superclassPackage";
2728
public static final String DEFAULT_SUPERCLASS_PACKAGE_SUFFIX = "auto";
2829

29-
public DataMapPrefs(PrefsManager repository, DataMap dataMap) {
30-
super(repository.dataMapPref(dataMap, null));
30+
public DataMapPrefs(Preferences prefs) {
31+
super(prefs);
3132
}
3233

3334
/**

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodePrefs.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,22 @@
1818
****************************************************************/
1919
package org.apache.cayenne.modeler.pref;
2020

21-
import org.apache.cayenne.project.Project;
21+
import java.util.prefs.Preferences;
2222

2323
public final class DataNodePrefs extends PreferenceAdapter {
2424

2525
public static final String LOCAL_DATA_SOURCE_PROPERTY = "localDataSource";
2626

27-
static final String NODE = "dataNode";
28-
29-
private final PrefsManager repository;
30-
private final Project project;
27+
public static final String NODE = "dataNode";
3128

3229
private String localDataSource;
3330

34-
public DataNodePrefs(PrefsManager repository, Project project, String dataNodeName) {
35-
super(repository.projectPref(project, NODE + "/" + dataNodeName));
36-
37-
// capture repo and project for the sake of "rename"
38-
this.repository = repository;
39-
this.project = project;
31+
public DataNodePrefs(Preferences prefs) {
32+
super(prefs);
4033
}
4134

42-
public DataNodePrefs rename(String newName) {
43-
DataNodePrefs renamed = new DataNodePrefs(repository, project, newName);
35+
public DataNodePrefs renameTo(Preferences newPrefs) {
36+
DataNodePrefs renamed = new DataNodePrefs(newPrefs);
4437

4538
// TODO: is this the correct behavior? In the DataMapPrefs we are doing "copy", not "move" to handle reverts
4639
PreferencesCopier.move(prefs, renamed.prefs);

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/GeneralPrefs.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
package org.apache.cayenne.modeler.pref;
2121

22+
import java.util.prefs.Preferences;
23+
2224
public final class GeneralPrefs extends PreferenceAdapter {
2325

2426
public static final String NODE = "general";
@@ -28,8 +30,8 @@ public final class GeneralPrefs extends PreferenceAdapter {
2830
public static final String ENCODING = "encoding";
2931
public static final String FAVOURITE_DATA_SOURCE = "favouriteDataSource";
3032

31-
public GeneralPrefs(PrefsLocator locator) {
32-
super(locator.appNode(NODE));
33+
public GeneralPrefs(Preferences prefs) {
34+
super(prefs);
3335
}
3436

3537
public boolean isAutoLoadProject() {

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/RecentProjectsPrefs.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.ArrayList;
2727
import java.util.List;
2828
import java.util.prefs.BackingStoreException;
29+
import java.util.prefs.Preferences;
2930

3031
public final class RecentProjectsPrefs extends PreferenceAdapter {
3132

@@ -35,8 +36,8 @@ public final class RecentProjectsPrefs extends PreferenceAdapter {
3536

3637
public static final String NODE = "lastProjects";
3738

38-
public RecentProjectsPrefs(PrefsLocator locator) {
39-
super(locator.appNode(NODE));
39+
public RecentProjectsPrefs(Preferences prefs) {
40+
super(prefs);
4041
}
4142

4243
public List<File> getFiles() {

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectPrefs.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,12 @@
5353
import org.apache.cayenne.modeler.event.display.ProcedureParameterDisplayEvent;
5454
import org.apache.cayenne.modeler.event.display.QueryDisplayEvent;
5555
import org.apache.cayenne.modeler.pref.PreferenceAdapter;
56-
import org.apache.cayenne.modeler.pref.PrefsManager;
57-
import org.apache.cayenne.project.Project;
5856
import org.apache.cayenne.util.CayenneMapEntry;
5957

6058
import java.util.ArrayList;
6159
import java.util.List;
6260
import java.util.prefs.BackingStoreException;
61+
import java.util.prefs.Preferences;
6362

6463
/**
6564
* Binding-style handler for the Modeler's last project selection. Loaded on project
@@ -96,8 +95,8 @@ private enum Kind {
9695
query, multipleObjects
9796
}
9897

99-
public ProjectPrefs(PrefsManager repository, Project project) {
100-
super(repository.projectPref(project, null));
98+
public ProjectPrefs(Preferences prefs) {
99+
super(prefs);
101100
}
102101

103102
public void load(ProjectSession session) {

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/project/ProjectSession.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,14 +201,14 @@ public void saveSelectionToPrefs() {
201201
if (project == null) {
202202
return;
203203
}
204-
new ProjectPrefs(app.getPrefsManager(), project).flush(this);
204+
new ProjectPrefs(app.getPrefsManager().projectPref(project, null)).flush(this);
205205
}
206206

207207
public void restoreSelectionFromPrefs() {
208208
if (project == null) {
209209
return;
210210
}
211-
new ProjectPrefs(app.getPrefsManager(), project).load(this);
211+
new ProjectPrefs(app.getPrefsManager().projectPref(project, null)).load(this);
212212
}
213213

214214
public boolean isDirty() {

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/toolkit/component/CMComponentGeometryPrefs.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
package org.apache.cayenne.modeler.toolkit.component;
2121

2222
import org.apache.cayenne.modeler.pref.PreferenceAdapter;
23-
import org.apache.cayenne.modeler.pref.PrefsManager;
2423

2524
import java.awt.*;
2625
import java.awt.event.ComponentAdapter;
2726
import java.awt.event.ComponentEvent;
27+
import java.util.prefs.Preferences;
2828

2929
public final class CMComponentGeometryPrefs extends PreferenceAdapter {
3030

@@ -33,8 +33,8 @@ public final class CMComponentGeometryPrefs extends PreferenceAdapter {
3333
private static final String X_PROPERTY = "x";
3434
private static final String Y_PROPERTY = "y";
3535

36-
public CMComponentGeometryPrefs(PrefsManager repository, String path) {
37-
super(repository.uiNode(path));
36+
public CMComponentGeometryPrefs(Preferences prefs) {
37+
super(prefs);
3838
}
3939

4040
public void bind(Component c, int defaultWidth, int defaultHeight) {

0 commit comments

Comments
 (0)