@Override protected void exportDone(JComponent source, Transferable data, int action) { if(this.nodesForRemoval != null && ((action & MOVE) == MOVE)) { GuiPackage guiInstance = GuiPackage.getInstance(); for (JMeterTreeNode jMeterTreeNode : nodesForRemoval) { guiInstance.getTreeModel().removeNodeFromParent(jMeterTreeNode); } nodesForRemoval = null; } }
private static void removeNode(JMeterTreeNode node) { TestElement testElement = node.getTestElement(); if (testElement.canRemove()) { GuiPackage.getInstance().getTreeModel().removeNodeFromParent(node); GuiPackage.getInstance().removeNode(testElement); testElement.removed(); } else { String message = testElement.getClass().getName() + " is busy"; JOptionPane.showMessageDialog(null, message, "Cannot remove item", JOptionPane.ERROR_MESSAGE); } } }
private void moveNode(GuiPackage guiPackage, JMeterTreeNode node, JMeterTreeNode newParentNode) { guiPackage.getTreeModel().removeNodeFromParent(node); guiPackage.getTreeModel().insertNodeInto(node, newParentNode, newParentNode.getChildCount()); } }
@Override public void actionPerformed(ActionEvent e) { if(e.getSource() == clearButton) { GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode currentNode = guiPackage.getTreeListener().getCurrentNode(); if (!(currentNode.getUserObject() instanceof org.apache.jmeter.protocol.http.control.RecordingController)) { Toolkit.getDefaultToolkit().beep(); return; } try { guiPackage.updateCurrentNode(); JMeterTreeModel treeModel = guiPackage.getTreeModel(); int childCount = currentNode.getChildCount(); for (int i = 0; i < childCount; i++) { JMeterTreeNode node = (JMeterTreeNode) currentNode.getChildAt(0); treeModel.removeNodeFromParent(node); } } catch (Exception err) { Toolkit.getDefaultToolkit().beep(); log.error("Error while removing recorded samples", err); } } } }
private static void moveAndSelectNode( JMeterTreeNode currentNode, JMeterTreeNode parentNode, int newIndx) { GuiPackage guiInstance = GuiPackage.getInstance(); guiInstance.getTreeModel().removeNodeFromParent(currentNode); guiInstance.getTreeModel().insertNodeInto(currentNode, parentNode, newIndx); // select the node TreeNode[] nodes = guiInstance.getTreeModel() .getPathToRoot(currentNode); JTree jTree = guiInstance.getMainFrame().getTree(); jTree.setSelectionPath(new TreePath(nodes)); }
/** * @see Command#doAction(ActionEvent) */ @Override public void doAction(ActionEvent e) { GuiPackage guiPack = GuiPackage.getInstance(); ActionRouter.getInstance().actionPerformed(new ActionEvent(e.getSource(), e.getID(), ActionNames.CHECK_CUT)); JMeterTreeNode[] currentNodes = guiPack.getTreeListener().getSelectedNodes(); currentNodes = Copy.keepOnlyAncestors(currentNodes); Copy.setCopiedNodes(currentNodes); for (JMeterTreeNode currentNode : currentNodes) { guiPack.getTreeModel().removeNodeFromParent(currentNode); } guiPack.getMainFrame().repaint(); } }
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)); }