CAY-2459 Modeler: DataMap paste function is not working
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5ec7f38a Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5ec7f38a Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5ec7f38a Branch: refs/heads/STABLE-4.0 Commit: 5ec7f38acc543c9f251930efc184c0da81240070 Parents: 0cc396e Author: Nikita Timofeev <stari...@gmail.com> Authored: Wed Aug 29 14:10:17 2018 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Wed Aug 29 14:10:17 2018 +0300 ---------------------------------------------------------------------- RELEASE-NOTES.txt | 1 + .../src/main/java/org/apache/cayenne/modeler/Main.java | 2 +- .../org/apache/cayenne/modeler/action/PasteAction.java | 13 ++++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ec7f38a/RELEASE-NOTES.txt ---------------------------------------------------------------------- diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 5e1bfad..d7da77c 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -14,6 +14,7 @@ Date: Bug Fixes: +CAY-2459 Paste function is not working CAY-2464 ClassCastException when returning PRUNED_NODE in expression transformer ---------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ec7f38a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java index ff5f225..c5c5dd5 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java @@ -32,7 +32,7 @@ import org.apache.cayenne.project.ProjectModule; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.swing.*; +import javax.swing.SwingUtilities; import java.io.File; import java.util.ArrayList; import java.util.Collection; http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ec7f38a/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 94162ee..853080d 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 @@ -49,9 +49,9 @@ import org.apache.cayenne.modeler.util.CayenneAction; import org.apache.cayenne.modeler.util.CayenneTransferable; import org.apache.cayenne.query.Query; -import javax.swing.*; +import javax.swing.KeyStroke; import javax.swing.undo.UndoableEdit; -import java.awt.*; +import java.awt.Toolkit; import java.awt.datatransfer.FlavorEvent; import java.awt.datatransfer.FlavorListener; import java.awt.datatransfer.UnsupportedFlavorException; @@ -66,7 +66,7 @@ import java.util.Map; */ public class PasteAction extends CayenneAction implements FlavorListener { - private static final String COPY_PATTERN = "Copy of %s (%d)"; + private static final String COPY_PATTERN = "copy of %s (%d)"; /** * Constructor for PasteAction @@ -106,6 +106,10 @@ public class PasteAction extends CayenneAction implements FlavorListener { Object currentObject = getProjectController().getCurrentObject(); + if(content instanceof DataMap) { + currentObject = getProjectController().getProject().getRootNode(); + } + if (content != null && currentObject != null) { DataChannelDescriptor domain = (DataChannelDescriptor) getProjectController() .getProject() @@ -516,6 +520,9 @@ public class PasteAction extends CayenneAction implements FlavorListener { (currentObject instanceof DataMap && isTreeLeaf(content)) || + (currentObject instanceof DataMap && content instanceof DataMap) + || + (currentObject instanceof DbEntity && (content instanceof DbAttribute || content instanceof DbRelationship || isTreeLeaf(content))) ||