String key = className + "/" + propertyName; if (nameMap.containsKey(key)) { String newName = nameMap.getProperty(key); log.info("Upgrading property " + propertyName + " to " + newName); return newName; } return propertyName;
String key = className + "." + propertyName + "/" + value; if (nameMap.containsKey(key)) { String newValue = nameMap.getProperty(key); log.info("Upgrading value " + value + " to " + newValue); return newValue; } return value;
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/util/NameUpdater.java File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/util/NameUpdater.java
Method name: String getCurrentName(String, String) Method name: String getCurrentName(String, String, String)
Number of AST nodes: 6 Number of AST nodes: 6
1
String key = className + "/" + propertyName;
1
String key = className + "." + propertyName + "/" + value;
2
		if (nameMap.containsKey(key)) {
2
		if (nameMap.containsKey(key)) {
3
			String newName = nameMap.getProperty(key);
3
			String newValue = nameMap.getProperty(key);
4
			log.info("Upgrading property " + propertyName + " to " + newName);
4
			log.info("Upgrading value " + value + " to " + newValue);
5
			return newName;
5
			return newValue;
6
		}
6
		}
7
		return propertyName;
7
		return value;
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.1
Clones locationClones are declared in the same class
Number of node comparisons20
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements6
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)1.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    String key = className + "/" + propertyName;
    1
    String key = className + "/" + propertyName;
    1
    String key = className + "." + propertyName + "/" + value;
    Differences
    Expression1Expression2Difference
    "/""."LITERAL_VALUE_MISMATCH
    className + "/" + propertyNameclassName + "." + propertyName+ "/"+ valueINFIX_EXTENDED_OPERAND_NUMBER_MISMATCH
    1
    String key = className + "." + propertyName + "/" + value;
    2
    if (nameMap.containsKey(key))
    2
    if (nameMap.containsKey(key))
    3
    String newName = nameMap.getProperty(key);
    3
    String newName = nameMap.getProperty(key);
    3
    String newValue = nameMap.getProperty(key);
    Differences
    Expression1Expression2Difference
    newNamenewValueVARIABLE_NAME_MISMATCH
    3
    String newValue = nameMap.getProperty(key);
    4
    log.info("Upgrading property " + propertyName + " to " + newName);
    4
    log.info("Upgrading property " + propertyName + " to " + newName);
    4
    log.info("Upgrading value " + value + " to " + newValue);
    Differences
    Expression1Expression2Difference
    newNamenewValueVARIABLE_NAME_MISMATCH
    "Upgrading property ""Upgrading value "LITERAL_VALUE_MISMATCH
    propertyNamevalueVARIABLE_NAME_MISMATCH
    4
    log.info("Upgrading value " + value + " to " + newValue);
    5
    return newName;
    5
    return newName;
    5
    return newValue;
    Differences
    Expression1Expression2Difference
    newNamenewValueVARIABLE_NAME_MISMATCH
    5
    return newValue;
    6
    return propertyName;
    6
    return propertyName;
    6
    return value;
    Differences
    Expression1Expression2Difference
    propertyNamevalueVARIABLE_NAME_MISMATCH
    6
    return value;
    Precondition Violations (0)
    Row Violation