/** {@inheritDoc} */ @Override public void setName(String name) { ((TestElement) getUserObject()).setName(name); }
/** {@inheritDoc} */ @Override public void modifyTestElement(TestElement wb) { wb.setName(getName()); wb.setProperty(new StringProperty(TestElement.GUI_CLASS, this.getClass().getName())); wb.setProperty(new StringProperty(TestElement.TEST_CLASS, WorkBench.class.getName())); }
/** * This provides a convenience for extenders when they implement the * {@link JMeterGUIComponent#modifyTestElement(TestElement)} method. This * method will set the name, gui class, and test class for the created Test * Element. It should be called by every extending class when * creating/modifying Test Elements, as that will best assure consistent * behavior. * * @param mc * the TestElement being created. */ protected void configureTestElement(TestElement mc) { mc.setName(getName()); mc.setProperty(new StringProperty(TestElement.GUI_CLASS, this.getClass().getName())); mc.setProperty(new StringProperty(TestElement.TEST_CLASS, mc.getClass().getName())); // This stores the state of the TestElement log.debug("setting element to enabled: {}", enabled); mc.setEnabled(enabled); mc.setComment(getComment()); }
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(); int index = parentNode.getIndex(currentNode); treeModel.insertNodeInto(newNode, parentNode, index); treeModel.removeNodeFromParent(currentNode); int childCount = currentNode.getChildCount(); for (int i = 0; i < childCount; i++) { // Using index 0 is voluntary as child is removed in next step and added to new parent JMeterTreeNode node = (JMeterTreeNode) currentNode.getChildAt(0); 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)); }