1 | public void doAction(ActionEvent e) {↵ | | 1 | public void doAction(ActionEvent e) {↵
|
2 | JMeterTreeListener treeListener = GuiPackage.getInstance()↵ | | 2 | ReportTreeListener treeListener = ReportGuiPackage.getInstance()↵
|
3 | .getTreeListener();↵ | | 3 | .getTreeListener();↵
|
4 | JMeterTreeNode[] nodes = treeListener.getSelectedNodes();↵ | | 4 | ReportTreeNode[] nodes = treeListener.getSelectedNodes();↵
|
5 | setCopiedNodes(nodes);↵ | | 5 | setCopiedNodes(nodes);↵
|
6 | }↵ | | 6 | }↵
|
|
7 | public static JMeterTreeNode[] getCopiedNodes() {↵ | | 7 | public static ReportTreeNode[] getCopiedNodes() {↵
|
8 | for (int i = 0; i < copiedNodes.length; i++) {↵ | | 8 | for (int i = 0; i < copiedNodes.length; i++) {↵
|
9 | if (copiedNodes[i] == null) {↵ | | 9 | if (copiedNodes[i] == null) {↵
|
10 | return null;↵ | | 10 | return null;↵
|
11 | }↵ | | 11 | }↵
|
12 | }↵ | | 12 | }↵
|
13 | return cloneTreeNodes(copiedNodes);↵ | | 13 | return cloneTreeNodes(copiedNodes);↵
|
14 | }↵ | | 14 | }↵
|
|
15 | public static JMeterTreeNode getCopiedNode() {↵ | | 15 | public static ReportTreeNode getCopiedNode() {↵
|
16 | if (copiedNode == null) {↵ | | 16 | if (copiedNode == null) {↵
|
17 | return null;↵ | | 17 | return null;↵
|
18 | }↵ | | 18 | }↵
|
19 | return cloneTreeNode(copiedNode);↵ | | 19 | return cloneTreeNode(copiedNode);↵
|
20 | }↵ | | 20 | }↵
|
|
21 | public static void setCopiedNode(JMeterTreeNode node) {↵ | | 21 | public static void setCopiedNode(ReportTreeNode node) {↵
|
22 | copiedNode = cloneTreeNode(node);↵ | | 22 | copiedNode = cloneTreeNode(node);↵
|
23 | }↵ | | 23 | }↵
|
|
24 | public static JMeterTreeNode cloneTreeNode(JMeterTreeNode node) {↵ | | 24 | public static ReportTreeNode cloneTreeNode(ReportTreeNode node) {↵
|
25 | JMeterTreeNode treeNode = (JMeterTreeNode) node.clone();↵ | | 25 | ReportTreeNode treeNode = (ReportTreeNode) node.clone();↵
|
26 | treeNode.setUserObject(((TestElement) node.getUserObject()).clone());↵ | | 26 | treeNode.setUserObject(((TestElement) node.getUserObject()).clone());↵
|
27 | cloneChildren(treeNode, node);↵ | | 27 | cloneChildren(treeNode, node);↵
|
28 | return treeNode;↵ | | 28 | return treeNode;↵
|
29 | }↵ | | 29 | }↵
|
|
30 | public static void setCopiedNodes(JMeterTreeNode nodes[]) {↵ | | 30 | public static void setCopiedNodes(ReportTreeNode nodes[]) {↵
|
31 | copiedNodes = new JMeterTreeNode[nodes.length];↵ | | 31 | copiedNodes = new ReportTreeNode[nodes.length];↵
|
32 | for (int i = 0; i < nodes.length; i++) {↵ | | 32 | for (int i = 0; i < nodes.length; i++) {↵
|
33 | copiedNodes[i] = cloneTreeNode(nodes[i]);↵ | | 33 | copiedNodes[i] = cloneTreeNode(nodes[i]);↵
|
34 | }↵ | | 34 | }↵
|
35 | }↵ | | 35 | }↵
|
|
36 | public static JMeterTreeNode[] cloneTreeNodes(JMeterTreeNode nodes[]) {↵ | | 36 | public static ReportTreeNode[] cloneTreeNodes(ReportTreeNode nodes[]) {↵
|
37 | JMeterTreeNode treeNodes[] = new JMeterTreeNode[nodes.length];↵ | | 37 | ReportTreeNode treeNodes[] = new ReportTreeNode[nodes.length];↵
|
38 | for (int i = 0; i < nodes.length; i++) {↵ | | 38 | for (int i = 0; i < nodes.length; i++) {↵
|
39 | treeNodes[i] = cloneTreeNode(nodes[i]);↵ | | 39 | treeNodes[i] = cloneTreeNode(nodes[i]);↵
|
40 | }↵ | | 40 | }↵
|
41 | return treeNodes;↵ | | 41 | return treeNodes;↵
|
42 | }↵ | | 42 | }↵
|
|
43 | private static void cloneChildren(JMeterTreeNode to, JMeterTreeNode from) {↵ | | 43 | private static void cloneChildren(ReportTreeNode to, ReportTreeNode from) {↵
|
44 | Enumeration enumFrom = from.children();↵ | | 44 | Enumeration enumFrom = from.children();↵
|
45 | while (enumFrom.hasMoreElements()) {↵ | | 45 | while (enumFrom.hasMoreElements()) {↵
|
46 | JMeterTreeNode child = (JMeterTreeNode) enumFrom.nextElement();↵ | | 46 | ReportTreeNode child = (ReportTreeNode) enumFrom.nextElement();↵
|
47 | JMeterTreeNode childClone = (JMeterTreeNode) child.clone();↵ | | 47 | ReportTreeNode childClone = (ReportTreeNode) child.clone();↵
|
48 | childClone.setUserObject(((TestElement) child.getUserObject())↵ | | 48 | childClone.setUserObject(((TestElement) child.getUserObject())↵
|
49 | .clone());↵ | | 49 | .clone());↵
|
50 | to.add(childClone);↵ | | 50 | to.add(childClone);↵
|
51 | cloneChildren((JMeterTreeNode) to.getLastChild(), child);
| | 51 | cloneChildren((ReportTreeNode) to.getLastChild(), child);
|