Author: oltka
Date: Wed Feb 10 14:41:56 2010
New Revision: 908519
URL: http://svn.apache.org/viewvc?rev=908519&view=rev
Log:
CAY-1339
* fix exception when new project "save as"
Modified:
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAction.java
Modified:
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAction.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAction.java?rev=908519&r1=908518&r2=908519&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAction.java
(original)
+++
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAction.java
Wed Feb 10 14:41:56 2010
@@ -21,11 +21,9 @@
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
-import java.util.prefs.Preferences;
import javax.swing.KeyStroke;
-import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.pref.CayennePreferenceForProject;
import org.apache.cayenne.pref.Domain;
@@ -58,44 +56,49 @@
@Override
protected boolean saveAll() throws Exception {
Project p = getCurrentProject();
-
- String oldPath = p.getConfigurationResource().getURL().getPath();
- // obtain preference object before save, when the project path may
change.....
- Domain preference =
getProjectController().getPreferenceDomainForProject();
- if (p.getConfigurationResource() == null) {
+ if (p == null || p.getConfigurationResource() == null) {
return super.saveAll();
}
+ else {
- getProjectController().getProjectWatcher().pauseWatching();
+ String oldPath = p.getConfigurationResource().getURL().getPath();
+ // obtain preference object before save, when the project path may
change.....
+ Domain preference =
getProjectController().getPreferenceDomainForProject();
+
+ getProjectController().getProjectWatcher().pauseWatching();
+
+ ProjectSaver saver = getApplication().getInjector().getInstance(
+ ProjectSaver.class);
+ saver.save(p);
+
+ preference.rename(p.getConfigurationResource().getURL().getPath());
- ProjectSaver saver = getApplication().getInjector().getInstance(
- ProjectSaver.class);
- saver.save(p);
-
- preference.rename(p.getConfigurationResource().getURL().getPath());
-
- CayennePreferenceForProject.removeOldPreferences();
-
- // if change DataChanelDescriptor name - as result change name of xml
file
- // we will need change preferences path
- String[] path = oldPath.split("/");
- String[] newPath =
p.getConfigurationResource().getURL().getPath().split("/");
-
- if(!path[path.length -1].equals(newPath[newPath.length -1])){
- String newName = newPath[newPath.length -1].replace(".xml", "");
- CayennePreferenceForProject.copyPreferences(newName,
getProjectController().getPreferenceForProject());
CayennePreferenceForProject.removeOldPreferences();
+
+ // if change DataChanelDescriptor name - as result change name of
xml file
+ // we will need change preferences path
+ String[] path = oldPath.split("/");
+ String[] newPath =
p.getConfigurationResource().getURL().getPath().split("/");
+
+ if (!path[path.length - 1].equals(newPath[newPath.length - 1])) {
+ String newName = newPath[newPath.length - 1].replace(".xml",
"");
+ CayennePreferenceForProject.copyPreferences(
+ newName,
+ getProjectController().getPreferenceForProject());
+ CayennePreferenceForProject.removeOldPreferences();
+ }
+
+
getApplication().getFrameController().changePathInLastProjListAction(
+ oldPath,
+ p.getConfigurationResource().getURL().getPath());
+ Application.getFrame().fireRecentFileListChanged();
+
+ /**
+ * Reset the watcher now
+ */
+ getProjectController().getProjectWatcher().reconfigure();
}
-
-
getApplication().getFrameController().changePathInLastProjListAction(oldPath,
- p.getConfigurationResource().getURL().getPath());
- Application.getFrame().fireRecentFileListChanged();
-
- /**
- * Reset the watcher now
- */
- getProjectController().getProjectWatcher().reconfigure();
return true;
}