private void traverseAndFind(Class type, JMeterTreeNode node, List nodeList) { if (type.isInstance(node.getUserObject())) { nodeList.add(node); } Enumeration enumNode = node.children(); while (enumNode.hasMoreElements()) { JMeterTreeNode child = (JMeterTreeNode) enumNode.nextElement(); traverseAndFind(type, child, nodeList); } } private JMeterTreeNode traverseAndFind(TestElement userObject, JMeterTreeNode node) { if (userObject == node.getUserObject()) { return node; } Enumeration enumNode = node.children(); while (enumNode.hasMoreElements()) { JMeterTreeNode child = (JMeterTreeNode) enumNode.nextElement(); JMeterTreeNode result = traverseAndFind(userObject, child); if (result != null) { return result; } } return null; } public HashTree getCurrentSubTree(JMeterTreeNode node) { ListedHashTree hashTree = new ListedHashTree(node); Enumeration enumNode = node.children(); while (enumNode.hasMoreElements()) { JMeterTreeNode child = (JMeterTreeNode) enumNode.nextElement(); hashTree.add(node, getCurrentSubTree(child)); } return hashTree; } public HashTree getTestPlan() { return getCurrentSubTree((JMeterTreeNode) ((JMeterTreeNode) this.getRoot()).getChildAt(0))
private void traverseAndFind(Class type, ReportTreeNode node, List nodeList) { if (type.isInstance(node.getUserObject())) { nodeList.add(node); } Enumeration enumNode = node.children(); while (enumNode.hasMoreElements()) { ReportTreeNode child = (ReportTreeNode) enumNode.nextElement(); traverseAndFind(type, child, nodeList); } } private ReportTreeNode traverseAndFind(TestElement userObject, ReportTreeNode node) { if (userObject == node.getUserObject()) { return node; } Enumeration enumNode = node.children(); while (enumNode.hasMoreElements()) { ReportTreeNode child = (ReportTreeNode) enumNode.nextElement(); ReportTreeNode result = traverseAndFind(userObject, child); if (result != null) { return result; } } return null; } public HashTree getCurrentSubTree(ReportTreeNode node) { ListedHashTree hashTree = new ListedHashTree(node); Enumeration enumNode = node.children(); while (enumNode.hasMoreElements()) { ReportTreeNode child = (ReportTreeNode) enumNode.nextElement(); hashTree.add(node, getCurrentSubTree(child)); } return hashTree; } public HashTree getReportPlan() { return getCurrentSubTree((ReportTreeNode) ((ReportTreeNode) this .getRoot()).getChildAt(0))
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/gui/tree/JMeterTreeModel.java File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/report/gui/tree/ReportTreeModel.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
private void traverseAndFind(Class type, JMeterTreeNode node, List nodeList) {
1
private void traverseAndFind(Class type, ReportTreeNode node, List nodeList) {
2
		if (type.isInstance(node.getUserObject())) {
2
		if (type.isInstance(node.getUserObject())) {
3
			nodeList.add(node);
3
			nodeList.add(node);
4
		}
4
		}
5
		Enumeration enumNode = node.children();
5
		Enumeration enumNode = node.children();
6
		while (enumNode.hasMoreElements()) {
6
		while (enumNode.hasMoreElements()) {
7
			JMeterTreeNode child = (JMeterTreeNode) enumNode.nextElement();
7
			ReportTreeNode child = (ReportTreeNode) enumNode.nextElement();
8
			traverseAndFind(type, child, nodeList);
8
			traverseAndFind(type, child, nodeList);
9
		}
9
		}
10
	}
10
	}
11
	private JMeterTreeNode traverseAndFind(TestElement userObject, JMeter
11
	private ReportTreeNode traverseAndFind(TestElement userObject,
12
TreeNode node) {
12
			ReportTreeNode node) {
13
		if (userObject == node.getUserObject()) {
13
		if (userObject == node.getUserObject()) {
14
			return node;
14
			return node;
15
		}
15
		}
16
		Enumeration enumNode = node.children();
16
		Enumeration enumNode = node.children();
17
		while (enumNode.hasMoreElements()) {
17
		while (enumNode.hasMoreElements()) {
18
			JMeterTreeNode child = (JMeterTreeNode) enumNode.nextElement();
18
			ReportTreeNode child = (ReportTreeNode) enumNode.nextElement();
19
			JMeterTreeNode result = traverseAndFind(userObject, child);
19
			ReportTreeNode result = traverseAndFind(userObject, child);
20
			if (result != null) {
20
			if (result != null) {
21
			    return result;
21
				return result;
22
			}
22
			}
23
		}
23
		}
24
		return null;
24
		return null;
25
	}
25
	}
26
	public HashTree getCurrentSubTree(JMeterTreeNode node) {
26
	public HashTree getCurrentSubTree(ReportTreeNode node) {
27
		ListedHashTree hashTree = new ListedHashTree(node);
27
		ListedHashTree hashTree = new ListedHashTree(node);
28
		Enumeration enumNode = node.children();
28
		Enumeration enumNode = node.children();
29
		while (enumNode.hasMoreElements()) {
29
		while (enumNode.hasMoreElements()) {
30
			JMeterTreeNode child = (JMeterTreeNode) enumNode.nextElement();
30
			ReportTreeNode child = (ReportTreeNode) enumNode.nextElement();
31
			hashTree.add(node, getCurrentSubTree(child));
31
			hashTree.add(node, getCurrentSubTree(child));
32
		}
32
		}
33
		return hashTree;
33
		return hashTree;
34
	}
34
	}
35
	public HashTree getTestPlan() {
35
	public HashTree getReportPlan() {
36
		return getCurrentSubTree((JMeterTreeNode) ((JMeterTreeNode) this
36
		return getCurrentSubTree((ReportTreeNode) ((ReportTreeNode) this
37
.getRoot()).getChildAt(0))
37
				.getRoot()).getChildAt(0))
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