Fixed
On Tue, Apr 16, 2013 at 12:51 PM, sebb <sebbaz@gmail.com> wrote:
> On 15 April 2013 20:52, <pmouawad@apache.org> 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.
|