ReportRemove() { } /** * Gets the ActionNames attribute of the Remove object. * * @return the ActionNames value */ public Set getActionNames() { return commands; } public void doAction(ActionEvent e) { ReportActionRouter.getInstance().actionPerformed( new ActionEvent(e.getSource(), e.getID(), ReportCheckDirty.REMOVE)); ReportGuiPackage guiPackage = ReportGuiPackage.getInstance(); ReportTreeNode[] nodes = guiPackage.getTreeListener() .getSelectedNodes(); TreePath newTreePath = // Save parent node for later guiPackage.getTreeListener().removedSelectedNode(); for (int i = nodes.length - 1; i >= 0; i--) { removeNode(nodes[i]); } guiPackage.getTreeListener().getJTree().setSelectionPath(newTreePath); guiPackage.updateCurrentGui(); } public static void removeNode(ReportTreeNode node) { TestElement testElement = node.getTestElement(); if (testElement.canRemove()) { ReportGuiPackage.getInstance().getTreeModel().removeNodeFromParent( node); ReportGuiPackage.getInstance().removeNode(testElement); } else { String message = testElement.getClass().getName() + " is busy"; JOptionPane.showMessageDialog(null, message, "Cannot remove item", JOptionPane.ERROR_MESSAGE); } }
Remove() { } /** * Gets the ActionNames attribute of the Remove object. * * @return the ActionNames value */ public Set getActionNames() { return commands; } public void doAction(ActionEvent e) { ActionRouter.getInstance().actionPerformed(new ActionEvent(e.getSource(), e.getID(), ActionNames.CHECK_REMOVE)); GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes(); TreePath newTreePath = // Save parent node for later guiPackage.getTreeListener().removedSelectedNode(); for (int i = nodes.length - 1; i >= 0; i--) { removeNode(nodes[i]); } guiPackage.getTreeListener().getJTree().setSelectionPath(newTreePath); guiPackage.updateCurrentGui(); } public static void removeNode(JMeterTreeNode node) { TestElement testElement = node.getTestElement(); if (testElement.canRemove()) { GuiPackage.getInstance().getTreeModel().removeNodeFromParent(node); GuiPackage.getInstance().removeNode(testElement); } else { String message = testElement.getClass().getName() + " is busy"; JOptionPane.showMessageDialog(null, message, "Cannot remove item", JOptionPane.ERROR_MESSAGE); } }
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/report/gui/action/ReportRemove.java File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/gui/action/Remove.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
ReportRemove() {
1
Remove() {
2
	}
2
	}
3
	/**
3
	/**
4
	 * Gets the ActionNames attribute of the Remove object.
4
	 * Gets the ActionNames attribute of the Remove object.
5
	 * 
5
	 * 
6
	 * @return the ActionNames value
6
	 * @return the ActionNames value
7
	 */
7
	 */
8
	public Set getActionNames() {
8
	public Set getActionNames() {
9
		return commands;
9
		return commands;
10
	}
10
	}
11
	public void doAction(ActionEvent e) {
11
	public void doAction(ActionEvent e) {
12
		ReportActionRouter.getInstance().actionPerformed(
12
		ActionRouter.getInstance().actionPerformed(
13
				new ActionEvent(e.getSource(), e.getID(),
13
new ActionEvent(e.getSource(), e.getID(),
14
						ReportCheckDirty.REMOVE));
14
 ActionNames.CHECK_REMOVE));
15
		ReportGuiPackage guiPackage = ReportGuiPackage.getInstance();
15
		GuiPackage guiPackage = GuiPackage.getInstance();
16
		ReportTreeNode[] nodes = guiPackage.getTreeListener()
16
		JMeterTreeNode[] nodes = guiPackage.getTreeListener()
17
				.getSelectedNodes();
17
.getSelectedNodes();
18
		TreePath newTreePath = // Save parent node for later
18
		TreePath newTreePath = // Save parent node for later
19
		guiPackage.getTreeListener().removedSelectedNode();
19
		guiPackage.getTreeListener().removedSelectedNode();
20
		for (int i = nodes.length - 1; i >= 0; i--) {
20
		for (int i = nodes.length - 1; i >= 0; i--) {
21
			removeNode(nodes[i]);
21
			removeNode(nodes[i]);
22
		}
22
		}
23
		guiPackage.getTreeListener().getJTree().setSelectionPath(newTreePath);
23
		guiPackage.getTreeListener().getJTree().setSelectionPath(newTreePath);
24
		guiPackage.updateCurrentGui();
24
		guiPackage.updateCurrentGui();
25
	}
25
	}
26
	public static void removeNode(ReportTreeNode node) {
26
	public static void removeNode(JMeterTreeNode node) {
27
		TestElement testElement = node.getTestElement();
27
		TestElement testElement = node.getTestElement();
28
		if (testElement.canRemove()) {
28
		if (testElement.canRemove()) {
29
			ReportGuiPackage.getInstance().getTreeModel().removeNodeFromParent(
29
			GuiPackage.getInstance().getTreeModel().removeNodeFromParent(
30
					node);
30
node);
31
			ReportGuiPackage.getInstance().removeNode(testElement);
31
			GuiPackage.getInstance().removeNode(testElement);
32
		} else {
32
		} else {
33
			String message = testElement.getClass().getName() + " is busy";
33
			String message = testElement.getClass().getName() + " is busy";
34
			JOptionPane.showMessageDialog(null, message, "Cannot remove item",
34
			JOptionPane.showMessageDialog(null, message, "Cannot remove item",
35
					JOptionPane.ERROR_MESSAGE);
35
 JOptionPane.ERROR_MESSAGE);
36
		}
36
		}
37
	}
37
	}
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0