Author: oltka
Date: Wed Feb 17 10:21:36 2010
New Revision: 910897

URL: http://svn.apache.org/viewvc?rev=910897&view=rev
Log:
CAY-1327 Migrate HSQLDB modeler preferences to Java preferences API

Added:
    
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/PrefDetail.java
Modified:
    
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
    
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java

Modified: 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java?rev=910897&r1=910896&r2=910897&view=diff
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
 (original)
+++ 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
 Wed Feb 17 10:21:36 2010
@@ -22,11 +22,11 @@
 import java.awt.Component;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.prefs.Preferences;
 
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.modeler.util.CayenneController;
-import org.apache.cayenne.pref.CayennePreference;
+import org.apache.cayenne.pref.CayenneProjectPreferences;
+import org.apache.cayenne.pref.PrefDetail;
 import org.apache.cayenne.swing.BindingBuilder;
 import org.apache.cayenne.util.Util;
 
@@ -83,8 +83,10 @@
         
         builder.bindToAction(view.getGenerationMode(), "updateModeAction()");
         
-        this.preferences = new 
PrefDetail(getViewPreferences().node("controller"));
-
+        CayenneProjectPreferences cayPrPref = 
application.getCayenneProjectPreferences();
+        
+        this.preferences = (PrefDetail) 
cayPrPref.getProjectDetailObject(PrefDetail.class, 
getViewPreferences().node("controller"));
+        
         if (Util.isEmptyString(preferences.getProperty("mode"))) {
             preferences.setProperty("mode", STANDARD_OBJECTS_MODE);
         }
@@ -117,22 +119,4 @@
         GeneratorController modeController = getGeneratorController();
         return (modeController != null) ? modeController.createGenerator() : 
null;
     }
-}
-
-class PrefDetail extends CayennePreference {
-
-    public PrefDetail(Preferences node) {
-        setCurrentPreference(node);
-    }
-
-    /**
-     * Returns a named property for a given key.
-     */
-    public String getProperty(String key) {
-        return getCurrentPreference().get(key, null);
-    }
-
-    public void setProperty(String key, String value) {
-        getCurrentPreference().put(key, value);
-    }
-}
+}
\ No newline at end of file

Modified: 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java?rev=910897&r1=910896&r2=910897&view=diff
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
 (original)
+++ 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
 Wed Feb 17 10:21:36 2010
@@ -20,13 +20,13 @@
 package org.apache.cayenne.modeler.dialog.pref;
 
 import java.awt.Component;
+import java.util.prefs.Preferences;
 
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.modeler.util.CayenneController;
 import org.apache.cayenne.pref.CayennePreferenceEditor;
 import org.apache.cayenne.pref.CayennePreferenceService;
-import org.apache.cayenne.pref.Domain;
-import org.apache.cayenne.pref.PreferenceDetail;
+import org.apache.cayenne.pref.PrefDetail;
 import org.apache.cayenne.pref.PreferenceEditor;
 import org.apache.cayenne.swing.BindingBuilder;
 import org.apache.cayenne.swing.ObjectBinding;
@@ -42,9 +42,11 @@
 
     protected GeneralPreferencesView view;
     protected CayennePreferenceEditor editor;
-    protected PreferenceDetail autoLoadProjectPreference;
-    protected PreferenceDetail classGeneratorPreferences;
-    protected PreferenceDetail deletePromptPreference;
+    protected boolean autoLoadProjectPreference;
+    protected PrefDetail classGeneratorPreferences;
+    protected boolean deletePromptPreference;
+    
+    protected Preferences preferences;
 
     protected ObjectBinding saveIntervalBinding;
     protected ObjectBinding encodingBinding;
@@ -77,17 +79,11 @@
 
     protected void initBindings() {
         // init model objects
-        Domain classGeneratorDomain = editor.editableInstance(getApplication()
-                
.getPreferenceDomain()).getSubdomain(ClassGenerationAction.class);
-        this.classGeneratorPreferences = classGeneratorDomain
-                .getDetail(ENCODING_PREFERENCE, true);
-
-        this.autoLoadProjectPreference = 
editor.editableInstance(getApplication().getPreferenceDomain())
-                .getDetail(AUTO_LOAD_PROJECT_PREFERENCE, true);
-
-        this.deletePromptPreference = 
editor.editableInstance(getApplication().getPreferenceDomain())
-                .getDetail(DELETE_PROMPT_PREFERENCE, true);
-
+        preferences = 
application.getPreferencesNode(ClassGenerationAction.class, "");
+        
+        this.classGeneratorPreferences = new 
PrefDetail(preferences.node(ENCODING_PREFERENCE));
+        this.autoLoadProjectPreference = 
preferences.getBoolean(AUTO_LOAD_PROJECT_PREFERENCE, false);
+        this.deletePromptPreference = 
preferences.getBoolean(DELETE_PROMPT_PREFERENCE, false);
 
         // build child controllers...
         EncodingSelector encodingSelector = new EncodingSelector(this, view
@@ -128,22 +124,22 @@
     }
 
     public boolean getAutoLoadProject() {
-        return 
autoLoadProjectPreference.getBooleanProperty(GeneralPreferences.AUTO_LOAD_PROJECT_PREFERENCE);
+        return 
preferences.getBoolean(GeneralPreferences.AUTO_LOAD_PROJECT_PREFERENCE, false);
     }
 
     public void setAutoLoadProject(boolean autoLoadProject) {
-        
autoLoadProjectPreference.setBooleanProperty(GeneralPreferences.AUTO_LOAD_PROJECT_PREFERENCE,
 autoLoadProject);
+        
preferences.putBoolean(GeneralPreferences.AUTO_LOAD_PROJECT_PREFERENCE, 
autoLoadProject);
     }
 
     public boolean getDeletePrompt() {
-        return 
deletePromptPreference.getBooleanProperty(GeneralPreferences.DELETE_PROMPT_PREFERENCE);
+        return 
preferences.getBoolean(GeneralPreferences.DELETE_PROMPT_PREFERENCE, false);
     }
 
     public void setDeletePrompt(boolean deletePrompt) {
-        
deletePromptPreference.setBooleanProperty(GeneralPreferences.DELETE_PROMPT_PREFERENCE,
 deletePrompt);
+        preferences.putBoolean(GeneralPreferences.DELETE_PROMPT_PREFERENCE, 
deletePrompt);
     }
 
-    public PreferenceDetail getClassGeneratorPreferences() {
+    public PrefDetail getClassGeneratorPreferences() {
         return classGeneratorPreferences;
     }
 }

Added: 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/PrefDetail.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/PrefDetail.java?rev=910897&view=auto
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/PrefDetail.java
 (added)
+++ 
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/PrefDetail.java
 Wed Feb 17 10:21:36 2010
@@ -0,0 +1,40 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.pref;
+
+import java.util.prefs.Preferences;
+
+
+public class PrefDetail extends CayennePreference {
+
+    public PrefDetail(Preferences node) {
+        setCurrentPreference(node);
+    }
+
+    /**
+     * Returns a named property for a given key.
+     */
+    public String getProperty(String key) {
+        return getCurrentPreference().get(key, null);
+    }
+
+    public void setProperty(String key, String value) {
+        getCurrentPreference().put(key, value);
+    }
+}


Reply via email to