JMeterTreeNode newNode = new JMeterTreeNode(component, this); // This check the state of the TestElement and if returns false it // disable the loaded node try { if (component.getProperty(TestElement.ENABLED) instanceof NullProperty || component.getPropertyAsBoolean(TestElement.ENABLED)) { newNode.setEnabled(true); } else { newNode.setEnabled(false); } } catch (Exception e) { newNode.setEnabled(true); } this.insertNodeInto(newNode, node, node.getChildCount()); return newNode;
ReportTreeNode newNode = new ReportTreeNode(component, this); // This check the state of the TestElement and if returns false it // disable the loaded node try { if (component.getProperty(TestElement.ENABLED) instanceof NullProperty || component.getPropertyAsBoolean(TestElement.ENABLED)) { newNode.setEnabled(true); } else { newNode.setEnabled(false); } } catch (Exception e) { newNode.setEnabled(true); } this.insertNodeInto(newNode, node, node.getChildCount()); return newNode;
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: JMeterTreeNode addComponent(TestElement, JMeterTreeNode) Method name: ReportTreeNode addComponent(TestElement, ReportTreeNode)
Number of AST nodes: 7 Number of AST nodes: 7
1
JMeterTreeNode newNode = new JMeterTreeNode(component, this);
1
ReportTreeNode newNode = new ReportTreeNode(component, this);
2
		// This check the state of the TestElement and if returns false it
2
		// This check the state of the TestElement and if returns false it
3
		// disable the loaded node
3
		// disable the loaded node
4
		try {
4
		try {
5
			if (component.getProperty(TestElement.ENABLED) instanceof NullProperty
5
			if (component.getProperty(TestElement.ENABLED) instanceof NullProperty
6
					|| component.getPropertyAsBoolean(TestElement.ENABLED)) {
6
					|| component.getPropertyAsBoolean(TestElement.ENABLED)) {
7
				newNode.setEnabled(true);
7
				newNode.setEnabled(true);
8
			} else {
8
			} else {
9
				newNode.setEnabled(false);
9
				newNode.setEnabled(false);
10
			}
10
			}
11
		} catch (Exception e) {
11
		} catch (Exception e) {
12
			newNode.setEnabled(true);
12
			newNode.setEnabled(true);
13
		}
13
		}
14
		this.insertNodeInto(newNode, node, node.getChildCount());
14
		this.insertNodeInto(newNode, node, node.getChildCount());
15
		return newNode;
15
		return newNode;
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.8
Clones locationClones are in different classes having the same super class
Number of node comparisons15
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements7
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)21.3
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    11
    JMeterTreeNode newNode = new JMeterTreeNode(component, this);
    11
    JMeterTreeNode newNode = new JMeterTreeNode(component, this);
    9
    ReportTreeNode newNode = new ReportTreeNode(component, this);
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression new JMeterTreeNode(component,this) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new ReportTreeNode(component,this) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9
    ReportTreeNode newNode = new ReportTreeNode(component, this);
    12
    try
    12
    try
    10
    try
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression newNode cannot be unified with expression newNode , because common superclass javax.swing.tree.DefaultMutableTreeNode does not declare member(s) public void setEnabled(boolean)
    10
    try
    13
    if (component.getProperty(TestElement.ENABLED) instanceof NullProperty || component.getPropertyAsBoolean(TestElement.ENABLED))
    11
    if (component.getProperty(TestElement.ENABLED) instanceof NullProperty || component.getPropertyAsBoolean(TestElement.ENABLED))
    14
    newNode.setEnabled(true);
    14
    newNode.setEnabled(true);
    12
    newNode.setEnabled(true);
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression newNode cannot be unified with expression newNode , because common superclass javax.swing.tree.DefaultMutableTreeNode does not declare member(s) public void setEnabled(boolean)
    12
    newNode.setEnabled(true);
    else
    else
    15
    newNode.setEnabled(false);
    15
    newNode.setEnabled(false);
    13
    newNode.setEnabled(false);
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression newNode cannot be unified with expression newNode , because common superclass javax.swing.tree.DefaultMutableTreeNode does not declare member(s) public void setEnabled(boolean)
    13
    newNode.setEnabled(false);
    16
    this.insertNodeInto(newNode, node, node.getChildCount());
    16
    this.insertNodeInto(newNode, node, node.getChildCount());
    14
    this.insertNodeInto(newNode, node, node.getChildCount());
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    14
    this.insertNodeInto(newNode, node, node.getChildCount());
    17
    return newNode;
    17
    return newNode;
    15
    return newNode;
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.tree.JMeterTreeNodeorg.apache.jmeter.report.gui.tree.ReportTreeNodeSUBCLASS_TYPE_MISMATCH
    15
    return newNode;
    Precondition Violations (5)
    Row Violation
    1Expression new JMeterTreeNode(component,this) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new ReportTreeNode(component,this) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression newNode cannot be unified with expression newNode , because common superclass javax.swing.tree.DefaultMutableTreeNode does not declare member(s) public void setEnabled(boolean)
    4Expression newNode cannot be unified with expression newNode , because common superclass javax.swing.tree.DefaultMutableTreeNode does not declare member(s) public void setEnabled(boolean)
    5Expression newNode cannot be unified with expression newNode , because common superclass javax.swing.tree.DefaultMutableTreeNode does not declare member(s) public void setEnabled(boolean)