while (iter.hasNext()) { TestElement item = (TestElement) iter.next(); if (item.isEnabled()) { // This is done for GUI runs in JMeterTreeModel.addSubTree() if (item instanceof ReportPlan) { ReportPlan tp = (ReportPlan) item; } // TODO handle ReplaceableControllers // if (item instanceof ReplaceableController) // { // System.out.println("Replaceable "+item.getClass().getName()); // HashTree subTree = tree.getTree(item); // // if (subTree != null) // { // ReplaceableController rc = // (ReplaceableController) item;//.createTestElement(); // rc.replace(subTree); // convertSubTree(subTree); // tree.replace(item, rc.getReplacement()); // } // } // else { // System.out.println("NonReplaceable // "+item.getClass().getName()); convertSubTree(tree.getTree(item)); // TestElement testElement = item.createTestElement(); // tree.replace(item, testElement); } } else { // System.out.println("Disabled "+item.getClass().getName()); tree.remove(item); } }
JMeterTreeNode subNode = (JMeterTreeNode) kids.nextElement(); if (subNode.isEnabled()) { TestElement element = (TestElement) subNode.getUserObject(); if (myClass.isInstance(element)) { if (ascending) { elements.addFirst(element); } else { elements.add(element); } } }
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/JMeterReport.java File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
Method name: void convertSubTree(HashTree) Method name: Collection findApplicableElements(JMeterTreeNode, Class, boolean)
Number of AST nodes: 7 Number of AST nodes: 7
1
while (iter.hasNext()) {
2
            TestElement item = (TestElement) iter.next();
3
            if (item.isEnabled()) {
4
                // This is done for GUI runs in JMeterTreeModel.addSubTree()
5
                if (item instanceof ReportPlan) {
6
                    ReportPlan tp = (ReportPlan) item;
7
                }
8
                // TODO handle ReplaceableControllers
9
                // if (item instanceof ReplaceableController)
10
                // {
11
                // System.out.println("Replaceable "+item.getClass().getName());
12
                // HashTree subTree = tree.getTree(item);
13
                //
14
                // if (subTree != null)
15
                // {
16
                // ReplaceableController rc =
17
                // (ReplaceableController) item;//.createTestElement();
18
                // rc.replace(subTree);
19
                // convertSubTree(subTree);
20
                // tree.replace(item, rc.getReplac
1
JMeterTreeNode subNode = (JMeterTreeNode) kids.nextElement();
2
			if (subNode.isEnabled()) {
3
				TestElement element = (TestElement) subNode.getUserObject();
21
ement());
4
				if (myClass.isInstance(element))
22
                // }
23
                // }
24
                // else
25
                {
26
                    // System.out.println("NonReplaceable
27
                    // "+item.getClass().getName());
28
                    convertSubTree(tree.getTree(item));
29
                    // TestElement testElement = item.createTestElement();
30
                    // tree.replace(item, testElement);
31
                }
32
            } else {
33
                // System.out.println("Disabled "+item.getClass().getName());
34
                tree.remove(item);
35
            }
36
        
5
 {
6
					if (ascending) {
7
						elements.addFirst(element);
8
					} else {
9
						elements.add(element);
10
					}
11
				}
37
}
12
			}
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.1
Clones locationClones are in different classes
Number of node comparisons1