mirror of https://github.com/apache/jmeter.git
Bug 59046 - JMeter Gui Replace controller should keep the name and the selection
#resolve #139 https://github.com/apache/jmeter/pull/139 Contribution by Benoit Wiart Bugzilla Id: 59046 git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1731740 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3282578e5f
commit
e0804047cc
|
|
@ -24,11 +24,18 @@ import java.awt.event.ActionEvent;
|
|||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.swing.JTree;
|
||||
import javax.swing.tree.TreeNode;
|
||||
import javax.swing.tree.TreePath;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.jmeter.control.Controller;
|
||||
import org.apache.jmeter.gui.GuiPackage;
|
||||
import org.apache.jmeter.gui.JMeterGUIComponent;
|
||||
import org.apache.jmeter.gui.tree.JMeterTreeModel;
|
||||
import org.apache.jmeter.gui.tree.JMeterTreeNode;
|
||||
import org.apache.jmeter.testelement.TestElement;
|
||||
import org.apache.jmeter.util.JMeterUtils;
|
||||
import org.apache.jorphan.logging.LoggingManager;
|
||||
import org.apache.log.Logger;
|
||||
|
||||
|
|
@ -73,6 +80,16 @@ public class ChangeParent implements Command {
|
|||
}
|
||||
|
||||
private void changeParent(TestElement newParent, GuiPackage guiPackage, JMeterTreeNode currentNode) {
|
||||
|
||||
// keep the old name if it was not the default one
|
||||
Controller currentController = (Controller) currentNode.getUserObject();
|
||||
JMeterGUIComponent currentGui = guiPackage.getCurrentGui();
|
||||
String defaultName = JMeterUtils.getResString(currentGui.getLabelResource());
|
||||
if(StringUtils.isNotBlank(currentController.getName())
|
||||
&& !currentController.getName().equals(defaultName)){
|
||||
newParent.setName(currentController.getName());
|
||||
}
|
||||
|
||||
JMeterTreeModel treeModel = guiPackage.getTreeModel();
|
||||
JMeterTreeNode newNode = new JMeterTreeNode(newParent, treeModel);
|
||||
JMeterTreeNode parentNode = (JMeterTreeNode) currentNode.getParent();
|
||||
|
|
@ -86,6 +103,11 @@ public class ChangeParent implements Command {
|
|||
treeModel.removeNodeFromParent(node);
|
||||
treeModel.insertNodeInto(node, newNode, newNode.getChildCount());
|
||||
}
|
||||
|
||||
// select the node
|
||||
TreeNode[] nodes = treeModel.getPathToRoot(newNode);
|
||||
JTree tree = guiPackage.getTreeListener().getJTree();
|
||||
tree.setSelectionPath(new TreePath(nodes));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -213,6 +213,7 @@ Summary
|
|||
<li><bug>59037</bug>Drop HtmlParserHTMLParser and dependencies on htmlparser and htmllexer</li>
|
||||
<li><bug>58933</bug>JSyntaxTextArea : Ability to set font. Contributed by Denis Kirpichenkov (denis.kirpichenkov at gmail.com)</li>
|
||||
<li><bug>58793</bug>Create developers page explaining how to build and contribute</li>
|
||||
<li><bug>59046</bug>JMeter Gui Replace controller should keep the name and the selection. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)</li>
|
||||
</ul>
|
||||
<ch_section>Non-functional changes</ch_section>
|
||||
<ul>
|
||||
|
|
|
|||
Loading…
Reference in New Issue