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:44:49 UTC
svn commit: r1517618 -
/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/ClasspathPreferences.java
Author: aadamchik
Date: Mon Aug 26 17:44:49 2013
New Revision: 1517618
URL: http://svn.apache.org/r1517618
Log:
CAY-1866 Change in General Modeler Preferences reverts old settings to default value
refactoring, no change
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=1517618&r1=1517617&r2=1517618&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:44:49 2013
@@ -23,7 +23,6 @@ import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
-import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -39,11 +38,13 @@ import org.apache.cayenne.modeler.util.C
import org.apache.cayenne.modeler.util.FileFilters;
import org.apache.cayenne.pref.CayennePreferenceEditor;
import org.apache.cayenne.pref.PreferenceEditor;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
-/**
- */
public class ClasspathPreferences extends CayenneController {
+ private static final Log logger = LogFactory.getLog(ClasspathPreferences.class);
+
protected ClasspathPreferencesView view;
protected List<String> classPathEntries;
protected ClasspathTableModel tableModel;
@@ -61,41 +62,57 @@ public class ClasspathPreferences extend
this.editor = (CayennePreferenceEditor) editor;
}
- ArrayList<String> cpEntries = new ArrayList<String>();
- ArrayList<String> cpEntryKeys = new ArrayList<String>();
- this.counter = 0;
- try {
- String[] cpKeys = getClassLoader().keys();
- for (String cpKey : cpKeys) {
-
- try {
- int c = Integer.parseInt(cpKey);
- if (c > this.counter) {
- this.counter = c;
- }
- String tempValue = getClassLoader().get(cpKey, "");
- if (!"".equals(tempValue)) {
- cpEntries.add(tempValue);
- cpEntryKeys.add(cpKey);
- }
- } catch (NumberFormatException e) {
-
- //remove wrong entry (key must be number)
- addRemovedPreferences(cpKey);
- }
-
- }
- }
- catch (BackingStoreException e) {
- }
- this.classPathEntries = cpEntries;
- this.classPathKeys = cpEntryKeys;
+ List<String> classPathEntries = new ArrayList<String>();
+ List<String> classPathKeys = new ArrayList<String>();
+
+ this.counter = loadPreferences(classPathEntries, classPathKeys);
+
+ this.classPathEntries = classPathEntries;
+ this.classPathKeys = classPathKeys;
this.tableModel = new ClasspathTableModel();
initBindings();
}
+ private int loadPreferences(List<String> classPathEntries, List<String> classPathKeys) {
+ String[] cpKeys;
+ try {
+ cpKeys = getClassLoader().keys();
+ } catch (BackingStoreException e) {
+ logger.info("Error loading preferences", e);
+ return 0;
+ }
+
+ int max = 0;
+
+ for (String cpKey : cpKeys) {
+
+ int c;
+
+ try {
+ c = Integer.parseInt(cpKey);
+ } catch (NumberFormatException e) {
+
+ // remove wrong entry (key must be number)
+ addRemovedPreferences(cpKey);
+ continue;
+ }
+
+ if (c > max) {
+ max = c;
+ }
+
+ String tempValue = getClassLoader().get(cpKey, "");
+ if (!"".equals(tempValue)) {
+ classPathEntries.add(tempValue);
+ classPathKeys.add(cpKey);
+ }
+ }
+
+ return max;
+ }
+
public Component getView() {
return view;
}
@@ -130,17 +147,11 @@ public class ClasspathPreferences extend
}
protected void addJarOrZipAction() {
- chooseClassEntry(
- FileFilters.getClassArchiveFilter(),
- "Select JAR or ZIP File.",
- JFileChooser.FILES_ONLY);
+ chooseClassEntry(FileFilters.getClassArchiveFilter(), "Select JAR or ZIP File.", JFileChooser.FILES_ONLY);
}
protected void addClassDirectoryAction() {
- chooseClassEntry(
- null,
- "Select Java Class Directory.",
- JFileChooser.DIRECTORIES_ONLY);
+ chooseClassEntry(null, "Select Java Class Directory.", JFileChooser.DIRECTORIES_ONLY);
}
protected void removeEntryAction() {
@@ -148,11 +159,11 @@ public class ClasspathPreferences extend
if (selected < 0) {
return;
}
-
+
addRemovedPreferences(classPathKeys.get(selected));
classPathEntries.remove(selected);
classPathKeys.remove(selected);
-
+
tableModel.fireTableRowsDeleted(selected, selected);
}
@@ -177,20 +188,20 @@ public class ClasspathPreferences extend
}
if (selected != null) {
- if (!classPathEntries.contains(selected.getAbsolutePath())) {
- // store last dir in preferences
- getLastDirectory().updateFromChooser(chooser);
-
- int len = classPathEntries.size();
- int key = ++counter;
-
- String value = selected.getAbsolutePath();
- addChangedPreferences(Integer.toString(key), value);
- classPathEntries.add(value);
- classPathKeys.add(Integer.toString(key));
-
- tableModel.fireTableRowsInserted(len, len);
- }
+ if (!classPathEntries.contains(selected.getAbsolutePath())) {
+ // store last dir in preferences
+ getLastDirectory().updateFromChooser(chooser);
+
+ int len = classPathEntries.size();
+ int key = ++counter;
+
+ String value = selected.getAbsolutePath();
+ addChangedPreferences(Integer.toString(key), value);
+ classPathEntries.add(value);
+ classPathKeys.add(Integer.toString(key));
+
+ tableModel.fireTableRowsInserted(len, len);
+ }
}
}
@@ -202,7 +213,7 @@ public class ClasspathPreferences extend
map.put(key, value);
editor.getChangedPreferences().put(getClassLoader(), map);
}
-
+
public void addRemovedPreferences(String key) {
Map<String, String> map = editor.getRemovedPreferences().get(getClassLoader());
if (map == null) {