Thanks
On 16 April 2013 20:22, Philippe Mouawad <[email protected]> wrote: > Fixed > > On Tue, Apr 16, 2013 at 12:51 PM, sebb <[email protected]> wrote: > > > On 15 April 2013 20:52, <[email protected]> wrote: > > > > > Author: pmouawad > > > Date: Mon Apr 15 19:52:08 2013 > > > New Revision: 1468204 > > > > > > URL: http://svn.apache.org/r1468204 > > > Log: > > > Bug 54847 - Cut & Paste is broken with tree multi-selection > > > Bugzilla Id: 54847 > > > > > > Modified: > > > jmeter/trunk/src/core/org/apache/jmeter/gui/action/Copy.java > > > jmeter/trunk/src/core/org/apache/jmeter/gui/action/Cut.java > > > jmeter/trunk/xdocs/changes.xml > > > > > > Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/Copy.java > > > URL: > > > > > > http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/Copy.java?rev=1468204&r1=1468203&r2=1468204&view=diff > > > > > > > > > ============================================================================== > > > --- jmeter/trunk/src/core/org/apache/jmeter/gui/action/Copy.java > > (original) > > > +++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/Copy.java Mon > Apr > > > 15 19:52:08 2013 > > > @@ -20,8 +20,10 @@ package org.apache.jmeter.gui.action; > > > import java.awt.Toolkit; > > > import java.awt.datatransfer.Clipboard; > > > import java.awt.event.ActionEvent; > > > +import java.util.ArrayList; > > > import java.util.Enumeration; > > > import java.util.HashSet; > > > +import java.util.List; > > > import java.util.Set; > > > > > > import javax.swing.JOptionPane; > > > @@ -59,6 +61,7 @@ public class Copy extends AbstractAction > > > public void doAction(ActionEvent e) { > > > JMeterTreeListener treeListener = > > > GuiPackage.getInstance().getTreeListener(); > > > JMeterTreeNode[] nodes = treeListener.getSelectedNodes(); > > > + nodes = filterNodes(nodes); > > > nodes = cloneTreeNodes(nodes); > > > setCopiedNodes(nodes); > > > } > > > @@ -84,6 +87,30 @@ public class Copy extends AbstractAction > > > cloneChildren(treeNode, node); > > > return treeNode; > > > } > > > + > > > + /** > > > + * If a child and one of its ancestors are selected : only keep > the > > > ancestor > > > + * @param currentNodes JMeterTreeNode[] > > > + * @return JMeterTreeNode[] > > > + */ > > > + public static JMeterTreeNode[] filterNodes(JMeterTreeNode[] > > > currentNodes) { > > > > > > > Why is this public? > > Also I think the name needs to be more descriptive, particularly if it is > > to remain public. > > > > > > > + List<JMeterTreeNode> nodes = new ArrayList<JMeterTreeNode>(); > > > + for (int i = 0; i < currentNodes.length; i++) { > > > + boolean exclude = false; > > > + for (int j = 0; j < currentNodes.length; j++) { > > > + if(i!=j && > > > currentNodes[i].isNodeAncestor(currentNodes[j])) { > > > + exclude = true; > > > + break; > > > + } > > > + } > > > + > > > + if(!exclude) { > > > + nodes.add(currentNodes[i]); > > > + } > > > + } > > > + > > > + return nodes.toArray(new JMeterTreeNode[nodes.size()]); > > > + } > > > > > > public static void setCopiedNodes(JMeterTreeNode nodes[]) { > > > Clipboard clipboard = > > > Toolkit.getDefaultToolkit().getSystemClipboard(); > > > > > > Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/Cut.java > > > URL: > > > > > > http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/Cut.java?rev=1468204&r1=1468203&r2=1468204&view=diff > > > > > > > > > ============================================================================== > > > --- jmeter/trunk/src/core/org/apache/jmeter/gui/action/Cut.java > > (original) > > > +++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/Cut.java Mon Apr > > 15 > > > 19:52:08 2013 > > > @@ -51,6 +51,7 @@ public class Cut extends AbstractAction > > > GuiPackage guiPack = GuiPackage.getInstance(); > > > JMeterTreeNode[] currentNodes = > > > guiPack.getTreeListener().getSelectedNodes(); > > > > > > + currentNodes = Copy.filterNodes(currentNodes); > > > Copy.setCopiedNodes(currentNodes); > > > for (int i = 0; i < currentNodes.length; i++) { > > > > > guiPack.getTreeModel().removeNodeFromParent(currentNodes[i]); > > > > > > Modified: jmeter/trunk/xdocs/changes.xml > > > URL: > > > > > > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1468204&r1=1468203&r2=1468204&view=diff > > > > > > > > > ============================================================================== > > > --- jmeter/trunk/xdocs/changes.xml (original) > > > +++ jmeter/trunk/xdocs/changes.xml Mon Apr 15 19:52:08 2013 > > > @@ -138,6 +138,7 @@ Shortcut for Function Helper Dialog is n > > > <ul> > > > <li><bugzilla>54504</bugzilla> - Resource string not found: > > > [clipboard_node_read_error]</li> > > > <li><bugzilla>54538</bugzilla> - GUI: context menu is too big</li> > > > +<li><bugzilla>54847</bugzilla> - Cut & Paste is broken with tree > > > multi-selection</li> > > > </ul> > > > > > > <!-- =================== Improvements =================== --> > > > > > > > > > > > > > > > -- > Cordialement. > Philippe Mouawad. >
