/** * Apply the naming policy of currentNode children * @param guiPackage {@link GuiPackage} * @param currentNode Parent node of elements on which we apply naming policy */ private void applyNamingPolicyToCurrentNode(GuiPackage guiPackage, JMeterTreeNode currentNode) { TreeNodeNamingPolicy namingPolicy = guiPackage.getNamingPolicy(); guiPackage.updateCurrentNode(); Enumeration<?> enumeration = currentNode.children(); int index = 0; namingPolicy.resetState(currentNode); while(enumeration.hasMoreElements()) { JMeterTreeNode childNode = (JMeterTreeNode)enumeration.nextElement(); namingPolicy.rename(currentNode, childNode, index); index++; } }
/** * Adds the specified class to the current node of the tree. */ @Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); try { guiPackage.updateCurrentNode(); TestElement testElement = guiPackage.createTestElement(((JComponent) e.getSource()).getName()); JMeterTreeNode parentNode = guiPackage.getCurrentNode(); JMeterTreeNode node = guiPackage.getTreeModel().addComponent(testElement, parentNode); guiPackage.getNamingPolicy().nameOnCreation(node); guiPackage.getMainFrame().getTree().setSelectionPath(new TreePath(node.getPath())); } catch (Exception err) { log.error("Exception while adding a component to tree.", err); // $NON-NLS-1$ String msg = err.getMessage(); if (msg == null) { msg = err.toString(); } JMeterUtils.reportErrorToUser(msg); } } }