You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ol...@apache.org on 2010/02/12 14:33:48 UTC
svn commit: r909399 - in
/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne:
modeler/util/NamingStrategyPreferences.java pref/CayennePreference.java
Author: oltka
Date: Fri Feb 12 13:33:47 2010
New Revision: 909399
URL: http://svn.apache.org/viewvc?rev=909399&view=rev
Log:
CAY-1327 Migrate HSQLDB modeler preferences to Java preferences API
Modified:
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NamingStrategyPreferences.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreference.java
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NamingStrategyPreferences.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NamingStrategyPreferences.java?rev=909399&r1=909398&r2=909399&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NamingStrategyPreferences.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NamingStrategyPreferences.java Fri Feb 12 13:33:47 2010
@@ -20,16 +20,19 @@
import java.util.Arrays;
import java.util.Vector;
+import java.util.prefs.Preferences;
+import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.pref.Domain;
+import org.apache.cayenne.pref.CayennePreference;
/**
* Helper class to store/read information about naming strategies have been used
*/
public class NamingStrategyPreferences {
+
private static final String STRATEGIES_PREFERENCE = "recent.strategies";
-
+
/**
* Naming strategies to appear in combobox by default
*/
@@ -38,40 +41,46 @@
PREDEFINED_STRATEGIES.add("org.apache.cayenne.map.naming.BasicNamingStrategy");
PREDEFINED_STRATEGIES.add("org.apache.cayenne.map.naming.SmartNamingStrategy");
};
-
+
static final NamingStrategyPreferences instance = new NamingStrategyPreferences();
-
+
public static NamingStrategyPreferences getInstance() {
return instance;
}
-
- Domain getDomain() {
- return Application.getInstance().getPreferenceDomain().getSubdomain(getClass());
+
+ Preferences getPreference() {
+ String path = CayennePreference
+ .filePathToPrefereceNodePath(((DataChannelDescriptor) Application
+ .getProject()
+ .getRootNode()).getConfigurationSource().getURL().getPath());
+ Preferences pref = Application.getInstance().getPreferencesNode(
+ Application.getProject().getClass(),
+ "");
+ return pref.node(pref.absolutePath() + path);
}
-
+
/**
* @return last used strategies, PREDEFINED_STRATEGIES by default
*/
public Vector<String> getLastUsedStrategies() {
- String prop =
- getDomain().getDetail(STRATEGIES_PREFERENCE, true).getProperty(STRATEGIES_PREFERENCE);
+ String prop = getPreference().get(STRATEGIES_PREFERENCE, null);
if (prop == null) {
return PREDEFINED_STRATEGIES;
}
-
+
return new Vector<String>(Arrays.asList(prop.split(",")));
}
-
+
/**
* Adds strategy to history
*/
public void addToLastUsedStrategies(String strategy) {
Vector<String> strategies = getLastUsedStrategies();
-
- //move to top
+
+ // move to top
strategies.remove(strategy);
strategies.add(0, strategy);
-
+
StringBuilder res = new StringBuilder();
for (String str : strategies) {
res.append(str).append(",");
@@ -79,7 +88,7 @@
if (strategies.size() > 0) {
res.deleteCharAt(res.length() - 1);
}
-
- getDomain().getDetail(STRATEGIES_PREFERENCE, true).setProperty(STRATEGIES_PREFERENCE, res.toString());
+
+ getPreference().put(STRATEGIES_PREFERENCE, res.toString());
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreference.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreference.java?rev=909399&r1=909398&r2=909399&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreference.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreference.java Fri Feb 12 13:33:47 2010
@@ -67,4 +67,8 @@
public void saveObjectPreference() {
}
+
+ public static String filePathToPrefereceNodePath(String path) {
+ return path.replace(".xml", "");
+ }
}