public static JMeterTreeNode[] cloneTreeNodes(JMeterTreeNode[] nodes) { JMeterTreeNode[] treeNodes = new JMeterTreeNode[nodes.length]; for (int i = 0; i < nodes.length; i++) { treeNodes[i] = cloneTreeNode(nodes[i]); } return treeNodes; }
@Override public void doAction(ActionEvent e) { JMeterTreeListener treeListener = GuiPackage.getInstance().getTreeListener(); JMeterTreeNode[] nodes = treeListener.getSelectedNodes(); nodes = keepOnlyAncestors(nodes); nodes = cloneTreeNodes(nodes); setCopiedNodes(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(); } }
public static JMeterTreeNode cloneTreeNode(JMeterTreeNode node) { JMeterTreeNode treeNode = (JMeterTreeNode) node.clone(); treeNode.setUserObject(((TestElement) node.getUserObject()).clone()); cloneChildren(treeNode, node); return treeNode; }
/** * @see Command#doAction(ActionEvent) */ @Override public void doAction(ActionEvent e) { JMeterTreeNode[] draggedNodes = Copy.getCopiedNodes(); if (draggedNodes == null) { Toolkit.getDefaultToolkit().beep(); return; } JMeterTreeListener treeListener = GuiPackage.getInstance().getTreeListener(); JMeterTreeNode currentNode = treeListener.getCurrentNode(); if (MenuFactory.canAddTo(currentNode, draggedNodes)) { Arrays.stream(draggedNodes) .filter(Objects::nonNull) .forEach(draggedNode -> addNode(currentNode, draggedNode)); } else { Toolkit.getDefaultToolkit().beep(); } GuiPackage.getInstance().getMainFrame().repaint(); }
nodes = Copy.keepOnlyAncestors(nodes); AbstractThreadGroup[] tg = keepOnlyThreadGroups(nodes); if(nodes.length > 0) {
@Override public void doAction(ActionEvent e) { GuiPackage instance = GuiPackage.getInstance(); JMeterTreeListener treeListener = instance.getTreeListener(); JMeterTreeNode[] copiedNodes = Copy.cloneTreeNodes(treeListener.getSelectedNodes()); JMeterTreeNode currentNode = treeListener.getCurrentNode(); JMeterTreeNode parentNode = (JMeterTreeNode) currentNode.getParent(); JMeterTreeModel treeModel = instance.getTreeModel(); for (int nodeIndex = copiedNodes.length - 1; nodeIndex >= 0; nodeIndex--) { JMeterTreeNode copiedNode = copiedNodes[nodeIndex]; int index = parentNode.getIndex(currentNode) + 1; treeModel.insertNodeInto(copiedNode, parentNode, index); } instance.getMainFrame().repaint(); } }
private static void cloneChildren(JMeterTreeNode to, JMeterTreeNode from) { Enumeration<?> enumFrom = from.children(); while (enumFrom.hasMoreElements()) { JMeterTreeNode child = (JMeterTreeNode) enumFrom.nextElement(); JMeterTreeNode childClone = (JMeterTreeNode) child.clone(); childClone.setUserObject(((TestElement) child.getUserObject()).clone()); to.add(childClone); cloneChildren((JMeterTreeNode) to.getLastChild(), child); } } }