Return-Path: X-Original-To: apmail-jmeter-dev-archive@minotaur.apache.org Delivered-To: apmail-jmeter-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 633DAF189 for ; Tue, 16 Apr 2013 10:51:47 +0000 (UTC) Received: (qmail 11354 invoked by uid 500); 16 Apr 2013 10:51:47 -0000 Delivered-To: apmail-jmeter-dev-archive@jmeter.apache.org Received: (qmail 11254 invoked by uid 500); 16 Apr 2013 10:51:46 -0000 Mailing-List: contact dev-help@jmeter.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jmeter.apache.org Delivered-To: mailing list dev@jmeter.apache.org Received: (qmail 11241 invoked by uid 99); 16 Apr 2013 10:51:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Apr 2013 10:51:46 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of sebbaz@gmail.com designates 74.125.82.53 as permitted sender) Received: from [74.125.82.53] (HELO mail-wg0-f53.google.com) (74.125.82.53) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Apr 2013 10:51:41 +0000 Received: by mail-wg0-f53.google.com with SMTP id z11so325161wgg.32 for ; Tue, 16 Apr 2013 03:51:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=TX70k3rqp0XFAsbAiPa0AEIUcewAMMxCAZ7bzAq+4do=; b=qQY+z+uKcYTY44fsBl97io0sEiQnRMScbp0jTP3XIYJa79Hd949R80Ih+Rc6k003es GlovYnRX3TosnexfnTghCj5Wta4tDFGvxaeIat1cUlmKoOdyA39J1xuxeh3Mjiv/O3k/ SQzEI6Lsire3npcDNrM0D8ryprc61wzsxacB+u7B6QRTxSPSY4B0c66nQ92vW284S7on SSGcL/g7OeaiTlGDjwL5wA4QefpFgUh6dvCanPljGRMB7C2llIwdlU/0h0fC3JV4VsFX /GmCs7Iay64eyLzn45VIhFBIiN1ufN1Z4Ol+nILnWZI+6NxcoQ1EXvkAbydLb+so2edO wdKg== MIME-Version: 1.0 X-Received: by 10.180.74.67 with SMTP id r3mr17945202wiv.14.1366109479885; Tue, 16 Apr 2013 03:51:19 -0700 (PDT) Received: by 10.194.158.132 with HTTP; Tue, 16 Apr 2013 03:51:19 -0700 (PDT) In-Reply-To: <20130415195209.64BEC23888E7@eris.apache.org> References: <20130415195209.64BEC23888E7@eris.apache.org> Date: Tue, 16 Apr 2013 11:51:19 +0100 Message-ID: Subject: Re: svn commit: r1468204 - in /jmeter/trunk: src/core/org/apache/jmeter/gui/action/Copy.java src/core/org/apache/jmeter/gui/action/Cut.java xdocs/changes.xml From: sebb To: dev@jmeter.apache.org Content-Type: multipart/alternative; boundary=f46d0438914d45df1c04da78268a X-Virus-Checked: Checked by ClamAV on apache.org --f46d0438914d45df1c04da78268a Content-Type: text/plain; charset=ISO-8859-1 On 15 April 2013 20:52, 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 nodes = new ArrayList(); > + 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 >
    >
  • 54504 - Resource string not found: > [clipboard_node_read_error]
  • >
  • 54538 - GUI: context menu is too big
  • > +
  • 54847 - Cut & Paste is broken with tree > multi-selection
  • >
> > > > > --f46d0438914d45df1c04da78268a--