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 2013/08/26 19:51:11 UTC
svn commit: r1517621 -
/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java
Author: aadamchik
Date: Mon Aug 26 17:51:11 2013
New Revision: 1517621
URL: http://svn.apache.org/r1517621
Log:
CAY-1866 Change in General Modeler Preferences reverts old settings to default value
skipping non-numeric pref keys (same as suggested by Miłosz Pigłas)
Modified:
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java
Modified: cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java?rev=1517621&r1=1517620&r2=1517621&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java Mon Aug 26 17:51:11 2013
@@ -50,6 +50,7 @@ public class ClasspathPreferences extend
protected ClasspathTableModel tableModel;
protected CayennePreferenceEditor editor;
protected List<String> classPathKeys;
+ private Preferences preferences;
private int counter;
public ClasspathPreferences(PreferenceDialog parentController) {
@@ -57,6 +58,10 @@ public class ClasspathPreferences extend
this.view = new ClasspathPreferencesView();
+ // this prefs node is shared with other dialog panels... be aware of
+ // that when accessing the keys
+ this.preferences = getApplication().getPreferencesNode(this.getClass(), "");
+
PreferenceEditor editor = parentController.getEditor();
if (editor instanceof CayennePreferenceEditor) {
this.editor = (CayennePreferenceEditor) editor;
@@ -76,9 +81,10 @@ public class ClasspathPreferences extend
}
private int loadPreferences(List<String> classPathEntries, List<String> classPathKeys) {
+
String[] cpKeys;
try {
- cpKeys = getClassLoader().keys();
+ cpKeys = preferences.keys();
} catch (BackingStoreException e) {
logger.info("Error loading preferences", e);
return 0;
@@ -93,9 +99,12 @@ public class ClasspathPreferences extend
try {
c = Integer.parseInt(cpKey);
} catch (NumberFormatException e) {
+ // we are sharing the 'preferences' node with other dialogs, and
+ // this is a rather poor way of telling our preference keys from
+ // other dialog keys ... ours are numeric, the rest are
+ // string..
- // remove wrong entry (key must be number)
- addRemovedPreferences(cpKey);
+ // TODO: better key namespacing...
continue;
}
@@ -103,7 +112,7 @@ public class ClasspathPreferences extend
max = c;
}
- String tempValue = getClassLoader().get(cpKey, "");
+ String tempValue = preferences.get(cpKey, "");
if (!"".equals(tempValue)) {
classPathEntries.add(tempValue);
classPathKeys.add(cpKey);
@@ -117,10 +126,6 @@ public class ClasspathPreferences extend
return view;
}
- protected Preferences getClassLoader() {
- return getApplication().getPreferencesNode(this.getClass(), "");
- }
-
protected void initBindings() {
view.getTable().setModel(tableModel);
@@ -206,21 +211,21 @@ public class ClasspathPreferences extend
}
public void addChangedPreferences(String key, String value) {
- Map<String, String> map = editor.getChangedPreferences().get(getClassLoader());
+ Map<String, String> map = editor.getChangedPreferences().get(preferences);
if (map == null) {
map = new HashMap<String, String>();
}
map.put(key, value);
- editor.getChangedPreferences().put(getClassLoader(), map);
+ editor.getChangedPreferences().put(preferences, map);
}
public void addRemovedPreferences(String key) {
- Map<String, String> map = editor.getRemovedPreferences().get(getClassLoader());
+ Map<String, String> map = editor.getRemovedPreferences().get(preferences);
if (map == null) {
map = new HashMap<String, String>();
}
map.put(key, "");
- editor.getRemovedPreferences().put(getClassLoader(), map);
+ editor.getRemovedPreferences().put(preferences, map);
}
class ClasspathTableModel extends AbstractTableModel {