public class AddParent implements Command { private static final Logger log = LoggingManager.getLoggerForClass(); private static final Set commands = new HashSet(); static { commands.add(ActionNames.ADD_PARENT); } public AddParent() { } public void doAction(ActionEvent e) { String name = ((Component) e.getSource()).getName(); try { TestElement controller = GuiPackage.getInstance().createTestElement(name); addParentToTree(controller); } catch (Exception err) { log.error("", err); } } public Set getActionNames() { return commands; } protected void addParentToTree(TestElement newParent) { GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode newNode = new JMeterTreeNode(newParent, guiPackage.getTreeModel()); JMeterTreeNode currentNode = guiPackage.getTreeListener().getCurrentNode(); JMeterTreeNode parentNode = (JMeterTreeNode) currentNode.getParent(); int index = parentNode.getIndex(currentNode); guiPackage.getTreeModel().insertNodeInto(newNode, parentNode, index); JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes(); for (int i = 0; i < nodes.length; i++) { moveNode(guiPackage, nodes[i], newNode); } } private void moveNode(GuiPackage guiPackage, JMeterTreeNode node, JMeterTreeNode newParentNode) { guiPackage.getTreeModel().removeNodeFromParent(node); guiPackage.getTreeModel().insertNodeInto(node, newParentNode, newParentNode.getChildCount());
public class ReportAddParent implements Command { private static final Logger log = LoggingManager.getLoggerForClass(); private static final Set commands = new HashSet(); static { commands.add("Add Parent"); } public ReportAddParent() { } public void doAction(ActionEvent e) { String name = ((Component) e.getSource()).getName(); try { TestElement controller = ReportGuiPackage.getInstance() .createTestElement(name); addParentToTree(controller); } catch (Exception err) { log.error("", err); } } public Set getActionNames() { return commands; } protected void addParentToTree(TestElement newParent) { ReportGuiPackage guiPackage = ReportGuiPackage.getInstance(); ReportTreeNode newNode = new ReportTreeNode(newParent, guiPackage .getTreeModel()); ReportTreeNode currentNode = guiPackage.getTreeListener() .getCurrentNode(); ReportTreeNode parentNode = (ReportTreeNode) currentNode.getParent(); int index = parentNode.getIndex(currentNode); guiPackage.getTreeModel().insertNodeInto(newNode, parentNode, index); ReportTreeNode[] nodes = guiPackage.getTreeListener() .getSelectedNodes(); for (int i = 0; i < nodes.length; i++) { moveNode(guiPackage, nodes[i], newNode); } } private void moveNode(ReportGuiPackage guiPackage, ReportTreeNode node, ReportTreeNode newParentNode) { guiPackage.getTreeModel().removeNodeFromParent(node); guiPackage.getTreeModel().insertNodeInto(node, newParentNode, newParentNode.getChildCount());
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/gui/action/AddParent.java File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/report/gui/action/ReportAddParent.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class AddParent implements Command {
1
public class ReportAddParent implements Command {
2
	private static final Logger log = LoggingManager.getLoggerForClass();
2
	private static final Logger log = LoggingManager.getLoggerForClass();
3
	private static final Set commands = new HashSet();
3
	private static final Set commands = new HashSet();
4
	static {
4
	static {
5
		commands.add(ActionNames.ADD_PARENT);
5
		commands.add("Add Parent");
6
	}
6
	}
7
	public AddParent() {
7
	public ReportAddParent() {
8
	}
8
	}
9
	public void doAction(ActionEvent e) {
9
	public void doAction(ActionEvent e) {
10
		String name = ((Component) e.getSource()).getName();
10
		String name = ((Component) e.getSource()).getName();
11
		try {
11
		try {
12
			TestElement controller = GuiPackage.getInstance()
12
			TestElement controller = ReportGuiPackage.getInstance()
13
.createTestElement(name);
13
					.createTestElement(name);
14
			addParentToTree(controller);
14
			addParentToTree(controller);
15
		} catch (Exception err) {
15
		} catch (Exception err) {
16
			log.error("", err);
16
			log.error("", err);
17
		}
17
		}
18
	}
18
	}
19
	public Set getActionNames() {
19
	public Set getActionNames() {
20
		return commands;
20
		return commands;
21
	}
21
	}
22
	protected void addParentToTree(TestElement newParent) {
22
	protected void addParentToTree(TestElement newParent) {
23
		GuiPackage guiPackage = GuiPackage.getInstance();
23
		ReportGuiPackage guiPackage = ReportGuiPackage.getInstance();
24
		JMeterTreeNode newNode = new JMeterTreeNode(newParent, guiPackage
24
		ReportTreeNode newNode = new ReportTreeNode(newParent, guiPackage
25
.getTreeModel());
25
				.getTreeModel());
26
		JMeterTreeNode currentNode = guiPackage.getTreeListener()
26
		ReportTreeNode currentNode = guiPackage.getTreeListener()
27
.getCurrentNode();
27
				.getCurrentNode();
28
		JMeterTreeNode parentNode = (JMeterTreeNode) currentNode.getParent();
28
		ReportTreeNode parentNode = (ReportTreeNode) currentNode.getParent();
29
		int index = parentNode.getIndex(currentNode);
29
		int index = parentNode.getIndex(currentNode);
30
		guiPackage.getTreeModel().insertNodeInto(newNode, parentNode, index);
30
		guiPackage.getTreeModel().insertNodeInto(newNode, parentNode, index);
31
		JMeterTreeNode[] nodes = guiPackage.getTreeListener()
31
		ReportTreeNode[] nodes = guiPackage.getTreeListener()
32
.getSelectedNodes();
32
				.getSelectedNodes();
33
		for (int i = 0; i < nodes.length; i++) {
33
		for (int i = 0; i < nodes.length; i++) {
34
			moveNode(guiPackage, nodes[i], newNode);
34
			moveNode(guiPackage, nodes[i], newNode);
35
		}
35
		}
36
	}
36
	}
37
	private void moveNode(GuiPackage guiPackage, JMeterTreeNode node, JMeter
37
	private void moveNode(ReportGuiPackage guiPackage, ReportTreeNode node,
38
TreeNode newParentNode) {
38
			ReportTreeNode newParentNode) {
39
		guiPackage.getTreeModel().removeNodeFromParent(node);
39
		guiPackage.getTreeModel().removeNodeFromParent(node);
40
		guiPackage.getTreeModel().insertNodeInto(node, newParentNode, 
40
		guiPackage.getTreeModel().insertNodeInto(node, newParentNode,
41
newParentNode.getChildCount());
41
				newParentNode.getChildCount());
42
	
42
	
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