Author: sebb
Date: Mon May  7 08:57:47 2007
New Revision: 535913

URL: http://svn.apache.org/viewvc?view=rev&rev=535913
Log:
Bug 39734 - Listeners shared after copy/paste operation

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Paste.java
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Paste.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Paste.java?view=diff&rev=535913&r1=535912&r2=535913
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Paste.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Paste.java
 Mon May  7 08:57:47 2007
@@ -22,17 +22,21 @@
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.jmeter.exceptions.IllegalUserActionException;
 import org.apache.jmeter.gui.GuiPackage;
 import org.apache.jmeter.gui.tree.JMeterTreeListener;
 import org.apache.jmeter.gui.tree.JMeterTreeNode;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.logging.LoggingManager;
+import org.apache.log.Logger;
 
 /**
  * Places a copied JMeterTreeNode under the selected node.
  * 
- * @author Thad Smith
- * @version $Revision$
  */
 public class Paste extends AbstractAction {
+       
+       private static final Logger log = LoggingManager.getLoggerForClass();
 
        private static Set commands = new HashSet();
        static {
@@ -56,11 +60,25 @@
                if (DragNDrop.canAddTo(currentNode)) {
                        for (int i = 0; i < draggedNodes.length; i++) {
                                if (draggedNodes[i] != null) {
-                                       
GuiPackage.getInstance().getTreeModel().insertNodeInto(draggedNodes[i], 
currentNode,
-                                                       
currentNode.getChildCount());
+                    addNode(currentNode, draggedNodes[i]);
                                }
                        }
                }
                GuiPackage.getInstance().getMainFrame().repaint();
        }
-}
\ No newline at end of file
+    
+    private void addNode(JMeterTreeNode parent, JMeterTreeNode node) {
+        try {
+            // Add this node
+            JMeterTreeNode newNode = 
GuiPackage.getInstance().getTreeModel().addComponent(node.getTestElement(), 
parent);
+            // Add all the child nodes of the node we are adding
+            for(int i = 0; i < node.getChildCount(); i++) {
+                addNode(newNode, (JMeterTreeNode)node.getChildAt(i));
+            }
+        }
+        catch (IllegalUserActionException iuae) {
+            log.error("", iuae); // $NON-NLS-1$
+            JMeterUtils.reportErrorToUser(iuae.getMessage());
+        }
+    }
+}

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=535913&r1=535912&r2=535913
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Mon May  7 08:57:47 2007
@@ -227,6 +227,7 @@
 <li>Bug 40077 - Creating new Elements copies values from Existing elements</li>
 <li>Bug 42325 - Implement the "clear" method for the LogicControllers</li>
 <li>Bug 25441 - TestPlan changes sometimes detected incorrectly (isDirty)</li>
+<li>Bug 39734 - Listeners shared after copy/paste operation</li>
 </ul>
 
 <h3>Version 2.2</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to