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/16 15:43:30 UTC
svn commit: r910538 - in
/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler:
Application.java dialog/codegen/GeneratorTabController.java
util/CayenneController.java util/NamingStrategyPreferences.java
Author: oltka
Date: Tue Feb 16 14:43:30 2010
New Revision: 910538
URL: http://svn.apache.org/viewvc?rev=910538&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/Application.java
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/util/CayenneController.java
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NamingStrategyPreferences.java
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java?rev=910538&r1=910537&r2=910538&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Application.java Tue Feb 16 14:43:30 2010
@@ -32,6 +32,7 @@
import javax.swing.SwingUtilities;
import org.apache.cayenne.configuration.CayenneServerModule;
+import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
import org.apache.cayenne.di.Module;
@@ -91,19 +92,19 @@
protected File initialProject;
protected String name;
protected String preferencesDB;
-
+
protected BindingFactory bindingFactory;
protected AdapterMapping adapterMapping;
protected CayenneUndoManager undoManager;
protected CayenneProjectPreferences cayenneProjectPreferences;
-
+
// This is for OS X support
private boolean isQuittingApplication = false;
protected CayennePreference cayennePreference;
-
+
protected Injector injector;
public static Application getInstance() {
@@ -115,7 +116,6 @@
return (CayenneModelerFrame) getInstance().getFrameController().getView();
}
-
public Injector getInjector() {
return injector;
}
@@ -131,7 +131,7 @@
Module moduleSer = new CayenneServerModule("CayenneModeler");
injector = DIBootstrap.createInjector(module, moduleSer);
-
+
// configure startup settings
String configuredName = System.getProperty(APPLICATION_NAME_PROPERTY);
this.name = (configuredName != null) ? configuredName : DEFAULT_APPLICATION_NAME;
@@ -247,7 +247,7 @@
public CayenneProjectPreferences getCayenneProjectPreferences() {
return cayenneProjectPreferences;
}
-
+
/**
* Returns top preferences Domain for the application.
*/
@@ -255,6 +255,16 @@
return getPreferenceService().getDomain(getName(), true);
}
+ public static Preferences getMainPreferenceForProject() {
+ String path = CayennePreference
+ .filePathToPrefereceNodePath(((DataChannelDescriptor) getProject()
+ .getRootNode()).getConfigurationSource().getURL().getPath());
+ Preferences pref = Application.getInstance().getPreferencesNode(
+ getProject().getClass(),
+ "");
+ return pref.node(pref.absolutePath() + path);
+ }
+
/**
* Returns a new instance of CodeTemplateManager.
*/
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=910538&r1=910537&r2=910538&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 Tue Feb 16 14:43:30 2010
@@ -22,10 +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.PreferenceDetail;
+import org.apache.cayenne.pref.CayennePreference;
import org.apache.cayenne.swing.BindingBuilder;
import org.apache.cayenne.util.Util;
@@ -45,7 +46,7 @@
protected GeneratorTabPanel view;
protected Map controllers;
- protected PreferenceDetail preferences;
+ protected PrefDetail preferences;
public GeneratorTabController(CodeGeneratorControllerBase parent) {
super(parent);
@@ -79,10 +80,10 @@
BindingBuilder builder = new BindingBuilder(
getApplication().getBindingFactory(),
this);
-
+
builder.bindToAction(view.getGenerationMode(), "updateModeAction()");
-
- this.preferences = getViewDomain().getDetail("controller", true);
+
+ this.preferences = new PrefDetail(getViewPreferences().node("controller"));
if (Util.isEmptyString(preferences.getProperty("mode"))) {
preferences.setProperty("mode", STANDARD_OBJECTS_MODE);
@@ -95,6 +96,11 @@
updateModeAction();
}
+
+ public PrefDetail getPreferences() {
+ return preferences;
+ }
+
/**
* Resets selection to default values for a given controller.
*/
@@ -111,8 +117,22 @@
GeneratorController modeController = getGeneratorController();
return (modeController != null) ? modeController.createGenerator() : null;
}
+}
- public PreferenceDetail getPreferences() {
- return preferences;
+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);
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneController.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneController.java?rev=910538&r1=910537&r2=910538&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneController.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneController.java Tue Feb 16 14:43:30 2010
@@ -28,6 +28,7 @@
import java.awt.event.KeyEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
+import java.util.prefs.Preferences;
import javax.swing.JComponent;
import javax.swing.JDialog;
@@ -105,6 +106,17 @@
}
/**
+ * Returns preference for this component view.
+ */
+ protected Preferences getViewPreferences() {
+ Preferences pref = getApplication().getMainPreferenceForProject();
+ String pathToProject = pref.absolutePath();
+ String path = pathToProject +"/"+ getView().getClass().getName().replace(".", "/");
+
+ return pref.node(path);
+ }
+
+ /**
* Utility method to provide a visual indication an execution error. This
* implementation logs an error and pops up a dialog window with error message.
*/
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=910538&r1=910537&r2=910538&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 Tue Feb 16 14:43:30 2010
@@ -49,14 +49,7 @@
}
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 Application.getMainPreferenceForProject();
}
/**