Repository: cayenne
Updated Branches:
  refs/heads/master 1ab1caa9f -> bfe3ec701


CAY-1974 | Copy/Paste DbEntity throws exception


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/e4fa56af
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/e4fa56af
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/e4fa56af

Branch: refs/heads/master
Commit: e4fa56af60bee81bb96e30cfa9dc08b91f016fb8
Parents: 98a32fd
Author: Savva Kolbachev <[email protected]>
Authored: Fri Nov 28 14:30:48 2014 +0300
Committer: Savva Kolbachev <[email protected]>
Committed: Fri Nov 28 14:30:48 2014 +0300

----------------------------------------------------------------------
 .../cayenne/modeler/ProjectController.java      |  6 +++
 .../cayenne/modeler/action/PasteAction.java     | 49 ++++++++++----------
 2 files changed, 30 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/e4fa56af/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
----------------------------------------------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
index 1ced5e9..2b8c668 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
@@ -489,6 +489,10 @@ public class ProjectController extends CayenneController {
         }
     }
 
+    public DataChannelDescriptor getCurrentDataChanel() {
+        return currentState.domain;
+    }
+
     public DataNodeDescriptor getCurrentDataNode() {
         return currentState.node;
     }
@@ -1678,6 +1682,8 @@ public class ProjectController extends CayenneController {
             return getCurrentDataMap();
         } else if (getCurrentDataNode() != null) {
             return getCurrentDataNode();
+        } else if (getCurrentDataChanel() != null) {
+            return getCurrentDataChanel();
         } else if (getCurrentPaths() != null) { // multiple objects
             Object[] paths = getCurrentPaths();
             List<Object> result = new Vector<Object>();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e4fa56af/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
----------------------------------------------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
index 99770ab..ebfabab 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/PasteAction.java
@@ -18,19 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.modeler.action;
 
-import java.awt.Toolkit;
-import java.awt.datatransfer.FlavorEvent;
-import java.awt.datatransfer.FlavorListener;
-import java.awt.datatransfer.UnsupportedFlavorException;
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.KeyStroke;
-import javax.swing.undo.UndoableEdit;
-
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
@@ -64,6 +51,18 @@ import org.apache.cayenne.query.AbstractQuery;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.query.Query;
 
+import javax.swing.KeyStroke;
+import javax.swing.undo.UndoableEdit;
+import java.awt.Toolkit;
+import java.awt.datatransfer.FlavorEvent;
+import java.awt.datatransfer.FlavorListener;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Action for pasting entities, queries etc. from the system buffer
  */
@@ -189,7 +188,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
 
             for (DbEntity dbEntity : dataMap.getDbEntities()) {
                 String oldName = dbEntity.getName();
-                
dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, 
COPY_PATTERN, domain, dbEntity.getName()));
+                
dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, 
COPY_PATTERN, dataMap, dbEntity.getName()));
 
                 if (!oldName.equals(dbEntity.getName())) {
                     renamedDbEntities.put(oldName, dbEntity.getName());
@@ -197,7 +196,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             }
             for (ObjEntity objEntity : dataMap.getObjEntities()) {
                 String oldName = objEntity.getName();
-                
objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, 
COPY_PATTERN, domain, objEntity.getName()));
+                
objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, 
COPY_PATTERN, dataMap, objEntity.getName()));
 
                 if (!oldName.equals(objEntity.getName())) {
                     renamedObjEntities.put(oldName, objEntity.getName());
@@ -206,7 +205,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
 
             for (Embeddable embeddable : dataMap.getEmbeddables()) {
                 String oldName = embeddable.getClassName();
-                
embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable,
 COPY_PATTERN, domain, embeddable.getClassName()));
+                
embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable,
 COPY_PATTERN, dataMap, embeddable.getClassName()));
 
                 if (!oldName.equals(embeddable.getClassName())) {
                     renamedEmbeddables.put(oldName, embeddable.getClassName());
@@ -214,10 +213,10 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             }
 
             for (Procedure procedure : dataMap.getProcedures()) {
-                
procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, 
COPY_PATTERN, domain, procedure.getName()));
+                
procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, 
COPY_PATTERN, dataMap, procedure.getName()));
             }
             for (Query query : dataMap.getQueries()) {
-                ((AbstractQuery) 
query).setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, 
COPY_PATTERN, domain, query.getName()));
+                ((AbstractQuery) 
query).setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, 
COPY_PATTERN, dataMap, query.getName()));
             }
 
             // if an entity was renamed, we rename all links to it too
@@ -259,7 +258,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
 
             if (content instanceof DbEntity) {
                 DbEntity dbEntity = (DbEntity) content;
-                
dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, 
COPY_PATTERN, domain, dbEntity.getName()));
+                
dbEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.dbEntity, 
COPY_PATTERN, dataMap, dbEntity.getName()));
 
                 dataMap.addDbEntity(dbEntity);
                 CreateDbEntityAction.fireDbEntityEvent(this, mediator, 
dbEntity);
@@ -267,7 +266,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             else if (content instanceof ObjEntity) {
                 // paste ObjEntity to DataMap
                 ObjEntity objEntity = (ObjEntity) content;
-                
objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, 
COPY_PATTERN, domain, objEntity.getName()));
+                
objEntity.setName(DefaultUniqueNameGenerator.generate(NameCheckers.objEntity, 
COPY_PATTERN, dataMap, objEntity.getName()));
 
                 dataMap.addObjEntity(objEntity);
                 CreateObjEntityAction.fireObjEntityEvent(
@@ -279,7 +278,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             else if (content instanceof Embeddable) {
                 // paste Embeddable to DataMap
                 Embeddable embeddable = (Embeddable) content;
-                
embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable,
 COPY_PATTERN, domain, embeddable.getClassName()));
+                
embeddable.setClassName(DefaultUniqueNameGenerator.generate(NameCheckers.embeddable,
 COPY_PATTERN, dataMap, embeddable.getClassName()));
 
                 dataMap.addEmbeddable(embeddable);
                 CreateEmbeddableAction.fireEmbeddableEvent(
@@ -291,7 +290,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             else if (content instanceof EJBQLQuery) {
                 EJBQLQuery query = (EJBQLQuery) content;
 
-                
query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, 
COPY_PATTERN, domain, query.getName()));
+                
query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, 
COPY_PATTERN, dataMap, query.getName()));
                 query.setDataMap(dataMap);
 
                 dataMap.addQuery(query);
@@ -301,7 +300,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
                 // paste Query to DataMap
                 AbstractQuery query = (AbstractQuery) content;
 
-                
query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, 
COPY_PATTERN, domain, query.getName()));
+                
query.setName(DefaultUniqueNameGenerator.generate(NameCheckers.query, 
COPY_PATTERN, dataMap, query.getName()));
                 query.setDataMap(dataMap);
 
                 dataMap.addQuery(query);
@@ -310,7 +309,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             else if (content instanceof Procedure) {
                 // paste Procedure to DataMap
                 Procedure procedure = (Procedure) content;
-                
procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, 
COPY_PATTERN, domain, procedure.getName()));
+                
procedure.setName(DefaultUniqueNameGenerator.generate(NameCheckers.procedure, 
COPY_PATTERN, dataMap, procedure.getName()));
 
                 dataMap.addProcedure(procedure);
                 CreateProcedureAction.fireProcedureEvent(
@@ -465,7 +464,7 @@ public class PasteAction extends CayenneAction implements 
FlavorListener {
             }
 
             /**
-             * Checking all avaliable pairs source-pasting object
+             * Checking all available pairs source-pasting object
              */
 
             return ((currentObject instanceof DataChannelDescriptor || 
currentObject instanceof DataNodeDescriptor) && content instanceof DataMap)

Reply via email to