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", "");
+    }
 }