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/03/10 16:18:02 UTC

svn commit: r921393 - in /cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne: modeler/ modeler/action/ modeler/dialog/codegen/ modeler/editor/ modeler/pref/ pref/

Author: oltka
Date: Wed Mar 10 15:18:00 2010
New Revision: 921393

URL: http://svn.apache.org/viewvc?rev=921393&view=rev
Log:
CAY-1339 Remove org.apache.cayenne.project package from runtime

* some rename
* fix problem in new project preference's path

Added:
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/RenamedPreferences.java
      - copied, changed from r920789, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreferenceForProject.java
Removed:
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreferenceForProject.java
Modified:
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ExitAction.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAction.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.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/editor/DataDomainView.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBGeneratorDefaults.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapDefaults.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodeDefaults.java
    cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/ChildrenMapPreference.java

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java Wed Mar 10 15:18:00 2010
@@ -365,10 +365,16 @@ public class ProjectController extends C
 
             projectControllerPreferences = Preferences.userNodeForPackage(Project.class);
 
-            if (key.length() > 0) {
-                projectControllerPreferences = projectControllerPreferences
-                        .node(projectControllerPreferences.absolutePath()
-                                + key.replace(".xml", ""));
+            if (key.trim().length() > 0) {
+                if (key.contains(".xml")) {
+                    projectControllerPreferences = projectControllerPreferences
+                            .node(projectControllerPreferences.absolutePath()
+                                    + key.replace(".xml", ""));
+                }
+                else {
+                    projectControllerPreferences = projectControllerPreferences
+                    .node(projectControllerPreferences.absolutePath());
+                }
             }
         }
 
@@ -1646,7 +1652,7 @@ public class ProjectController extends C
     }
 
     public void addDataMap(Object src, DataMap map, boolean makeCurrent) {
-        
+
         map.setDataChannelDescriptor(currentState.domain);
         // new map was added.. link it to domain (and node if possible)
         currentState.domain.getDataMaps().add(map);

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ExitAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ExitAction.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ExitAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ExitAction.java Wed Mar 10 15:18:00 2010
@@ -21,7 +21,7 @@ package org.apache.cayenne.modeler.actio
 
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.dialog.LogConsole;
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 import org.apache.cayenne.project.ProjectPath;
 
 import java.awt.event.ActionEvent;
@@ -53,7 +53,7 @@ public class ExitAction extends ProjectA
 		//stop logging before JVM shutdown to prevent hanging
 		LogConsole.getInstance().stopLogging();
 
-		CayennePreferenceForProject.removeNewPreferences();
+		RenamedPreferences.removeNewPreferences();
 		
 		// goodbye
         System.exit(0);

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=921393&r1=921392&r2=921393&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 Mar 10 15:18:00 2010
@@ -25,7 +25,7 @@ import java.awt.event.KeyEvent;
 import javax.swing.KeyStroke;
 
 import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 import org.apache.cayenne.project2.Project;
 import org.apache.cayenne.project2.ProjectSaver;
 
@@ -69,7 +69,7 @@ public class SaveAction extends SaveAsAc
                     ProjectSaver.class);
             saver.save(p);
 
-            CayennePreferenceForProject.removeOldPreferences();
+            RenamedPreferences.removeOldPreferences();
 
             // if change DataChanelDescriptor name - as result change name of xml file
             // we will need change preferences path
@@ -78,10 +78,10 @@ public class SaveAction extends SaveAsAc
 
             if (!path[path.length - 1].equals(newPath[newPath.length - 1])) {
                 String newName = newPath[newPath.length - 1].replace(".xml", "");
-                CayennePreferenceForProject.copyPreferences(
+                RenamedPreferences.copyPreferences(
                         newName,
                         getProjectController().getPreferenceForProject());
-                CayennePreferenceForProject.removeOldPreferences();
+                RenamedPreferences.removeOldPreferences();
             }
 
             getApplication().getFrameController().changePathInLastProjListAction(

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/SaveAsAction.java Wed Mar 10 15:18:00 2010
@@ -34,7 +34,7 @@ import org.apache.cayenne.modeler.Applic
 import org.apache.cayenne.modeler.dialog.validator.ValidationDisplayHandler;
 import org.apache.cayenne.modeler.dialog.validator.ValidatorDialog;
 import org.apache.cayenne.modeler.util.CayenneAction;
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 import org.apache.cayenne.project.ProjectPath;
 import org.apache.cayenne.project2.Project;
 import org.apache.cayenne.project2.ProjectSaver;
@@ -121,11 +121,11 @@ public class SaveAsAction extends Cayenn
             String projPath = oldPref.absolutePath().replace(oldName, "");
             Preferences newPref = getProjectController().getPreferenceForProject().node(
                     projPath + newName);
-            CayennePreferenceForProject.copyPreferences(newPref, getProjectController()
+            RenamedPreferences.copyPreferences(newPref, getProjectController()
                     .getPreferenceForProject(), false);
         }
 
-        CayennePreferenceForProject.removeNewPreferences();
+        RenamedPreferences.removeNewPreferences();
 
         getApplication().getFrameController().addToLastProjListAction(
                 p.getConfigurationResource().getURL().getPath());

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=921393&r1=921392&r2=921393&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 Mar 10 15:18:00 2010
@@ -80,13 +80,15 @@ public class GeneratorTabController exte
         BindingBuilder builder = new BindingBuilder(
                 getApplication().getBindingFactory(),
                 this);
-        
+
         builder.bindToAction(view.getGenerationMode(), "updateModeAction()");
-        
+
         CayenneProjectPreferences cayPrPref = application.getCayenneProjectPreferences();
-        
-        this.preferences = (PreferenceDetail) cayPrPref.getProjectDetailObject(PreferenceDetail.class, getViewPreferences().node("controller"));
-        
+
+        this.preferences = (PreferenceDetail) cayPrPref.getProjectDetailObject(
+                PreferenceDetail.class,
+                getViewPreferences().node("controller"));
+
         if (Util.isEmptyString(preferences.getProperty("mode"))) {
             preferences.setProperty("mode", STANDARD_OBJECTS_MODE);
         }
@@ -98,7 +100,6 @@ public class GeneratorTabController exte
         updateModeAction();
     }
 
-    
     public PreferenceDetail getPreferences() {
         return preferences;
     }

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataDomainView.java Wed Mar 10 15:18:00 2010
@@ -46,7 +46,7 @@ import org.apache.cayenne.modeler.event.
 import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
 import org.apache.cayenne.modeler.util.ProjectUtil;
 import org.apache.cayenne.modeler.util.TextAdapter;
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.validation.ValidationException;
 
@@ -363,7 +363,7 @@ public class DataDomainView extends JPan
 
         // copy all old preference to new preferences 
         Preferences oldPref = prefs;
-        CayennePreferenceForProject.copyPreferences(newName, oldPref);
+        RenamedPreferences.copyPreferences(newName, oldPref);
         
         projectController.fireDomainEvent(e);
     }

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBGeneratorDefaults.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBGeneratorDefaults.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBGeneratorDefaults.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBGeneratorDefaults.java Wed Mar 10 15:18:00 2010
@@ -21,9 +21,9 @@ package org.apache.cayenne.modeler.pref;
 import java.util.prefs.Preferences;
 
 import org.apache.cayenne.access.DbGenerator;
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 
-public class DBGeneratorDefaults extends CayennePreferenceForProject {
+public class DBGeneratorDefaults extends RenamedPreferences {
 
     public static final String CREATE_FK_PROPERTY = "createFK";
     public static final String CREATE_PK_PROPERTY = "createPK";

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapDefaults.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapDefaults.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapDefaults.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataMapDefaults.java Wed Mar 10 15:18:00 2010
@@ -21,10 +21,10 @@ package org.apache.cayenne.modeler.pref;
 import java.util.prefs.Preferences;
 
 import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 import org.apache.cayenne.util.Util;
 
-public class DataMapDefaults extends CayennePreferenceForProject {
+public class DataMapDefaults extends RenamedPreferences {
 
     private boolean generatePairs;
     private String outputPath;

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodeDefaults.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodeDefaults.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodeDefaults.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DataNodeDefaults.java Wed Mar 10 15:18:00 2010
@@ -20,9 +20,9 @@ package org.apache.cayenne.modeler.pref;
 
 import java.util.prefs.Preferences;
 
-import org.apache.cayenne.pref.CayennePreferenceForProject;
+import org.apache.cayenne.pref.RenamedPreferences;
 
-public class DataNodeDefaults extends CayennePreferenceForProject {
+public class DataNodeDefaults extends RenamedPreferences {
     
     private String localDataSource;
     

Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/ChildrenMapPreference.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/ChildrenMapPreference.java?rev=921393&r1=921392&r2=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/ChildrenMapPreference.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/ChildrenMapPreference.java Wed Mar 10 15:18:00 2010
@@ -67,7 +67,6 @@ public class ChildrenMapPreference exten
                 catch (Throwable e) {
                     new CayenneRuntimeException("Error initing preference");
                 }
-
             }
 
             this.children.putAll(children);

Copied: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/RenamedPreferences.java (from r920789, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreferenceForProject.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/RenamedPreferences.java?p2=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/RenamedPreferences.java&p1=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreferenceForProject.java&r1=920789&r2=921393&rev=921393&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/CayennePreferenceForProject.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/pref/RenamedPreferences.java Wed Mar 10 15:18:00 2010
@@ -24,14 +24,16 @@ import java.util.List;
 import java.util.prefs.BackingStoreException;
 import java.util.prefs.Preferences;
 
-import org.apache.cayenne.CayenneRuntimeException;
-
-public abstract class CayennePreferenceForProject extends CayennePreference {
+/*
+ * use for preferences where in preference's node path contains dependence from name dataChanelDescriptor, 
+ * dataNodeDescriptor, dataMap etc.
+ */
+public abstract class RenamedPreferences extends CayennePreference {
 
     private static List<Preferences> newNode;
     private static List<Preferences> oldNode;
 
-    public CayennePreferenceForProject(Preferences pref) {
+    public RenamedPreferences(Preferences pref) {
         setCurrentPreference(pref);
     }
 
@@ -61,7 +63,7 @@ public abstract class CayennePreferenceF
                 // get old preference
                 Preferences childNode = pref.node(child);
 
-                if (!oldNode.contains(childNode)) {
+                if (!equalsPath(oldNode, childNode)) {
                     // path to node
                     String path = childNode.absolutePath().replace(oldPath, newPath);
 
@@ -71,7 +73,7 @@ public abstract class CayennePreferenceF
                     for (int i = 0; i < names.length; i++) {
                         newPref.put(names[i], childNode.get(names[i], ""));
                     }
-                    prefChild.add(childNode);
+                    prefChild.add(newPref);
                 }
             }
 
@@ -93,6 +95,9 @@ public abstract class CayennePreferenceF
                 }
                 catch (BackingStoreException e) {
                 }
+                catch (IllegalStateException e) {
+                    // do nothing
+                }
             }
             clearPreferences();
         }
@@ -105,11 +110,15 @@ public abstract class CayennePreferenceF
 
             while (it.hasNext()) {
                 Preferences pref = it.next();
+
                 try {
                     pref.removeNode();
                 }
                 catch (BackingStoreException e) {
                 }
+                catch (IllegalStateException e) {
+                    // do nothing
+                }
             }
             clearPreferences();
         }
@@ -169,16 +178,32 @@ public abstract class CayennePreferenceF
             }
 
             if (addToPreferenceList) {
-                newNode.add(newPref);
-                oldNode.add(oldPref);
+                if (!equalsPath(newNode, newPref)) {
+                    newNode.add(newPref);
+                }
+                if (!equalsPath(oldNode, oldPref)) {
+                    oldNode.add(oldPref);
+                }
             }
 
             return newPref;
         }
         catch (BackingStoreException e) {
-            new CayenneRuntimeException("Error remane preferences");
+            throw new PreferenceException("Error remane preferences");
+        }
+    }
+
+    private static boolean equalsPath(List<Preferences> listPref, Preferences pref) {
+        Iterator<Preferences> it = listPref.iterator();
+        while (it.hasNext()) {
+            Preferences next = it.next();
+            String pathInList = (String) next.absolutePath();
+            String path = (String) pref.absolutePath();
+            if (pathInList.equals(path)) {
+                return true;
+            }
         }
-        return oldPref;
+        return false;
     }
 
 }