sqlUpdateRowString = collection.getCustomSQLUpdate(); updateCallable = collection.isCustomUpdateCallable(); updateCheckStyle = collection.getCustomSQLUpdateCheckStyle() == null ? ExecuteUpdateResultCheckStyle.determineDefault( collection.getCustomSQLUpdate(), insertCallable ) : collection.getCustomSQLUpdateCheckStyle();
sqlInsertRowString = collection.getCustomSQLInsert(); insertCallable = collection.isCustomInsertCallable(); insertCheckStyle = collection.getCustomSQLInsertCheckStyle() == null ? ExecuteUpdateResultCheckStyle.determineDefault( collection.getCustomSQLInsert(), insertCallable ) : collection.getCustomSQLInsertCheckStyle();
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/persister/collection/AbstractCollectionPersister.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/persister/collection/AbstractCollectionPersister.java
Method name: void AbstractCollectionPersister(Collection, CollectionRegionAccessStrategy, Configuration, SessionFactoryImplementor) Method name: void AbstractCollectionPersister(Collection, CollectionRegionAccessStrategy, Configuration, SessionFactoryImplementor)
Number of AST nodes: 3 Number of AST nodes: 3
1
sqlUpdateRowString = collection.getCustomSQLUpdate();
1
sqlInsertRowString = collection.getCustomSQLInsert();
2
			updateCallable = collection.isCustomUpdateCallable();
2
			insertCallable = collection.isCustomInsertCallable();
3
			updateCheckStyle = collection.getCustomSQLUpdateCheckStyle() == null
3
			insertCheckStyle = collection.getCustomSQLInsertCheckStyle() == null
4
					? ExecuteUpdateResultCheckStyle.determineDefault( collection.getCustomSQLUpdate(), insertCallable )
4
					? ExecuteUpdateResultCheckStyle.determineDefault( collection.getCustomSQLInsert(), insertCallable )
5
		            : collection.getCustomSQLUpdateCheckStyle();
5
		            : collection.getCustomSQLInsertCheckStyle();
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.0
Clones locationClones are in the same method
Number of node comparisons6
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements3
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    151
    sqlUpdateRowString = collection.getCustomSQLUpdate();
    151
    sqlUpdateRowString = collection.getCustomSQLUpdate();
    144
    sqlInsertRowString = collection.getCustomSQLInsert();
    Differences
    Expression1Expression2Difference
    sqlUpdateRowStringsqlInsertRowStringVARIABLE_NAME_MISMATCH
    getCustomSQLUpdategetCustomSQLInsertMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression sqlUpdateRowString is a field being modified, and thus it cannot be parameterized
    Expression sqlInsertRowString is a field being modified, and thus it cannot be parameterized
    144
    sqlInsertRowString = collection.getCustomSQLInsert();
    152
    updateCallable = collection.isCustomUpdateCallable();
    152
    updateCallable = collection.isCustomUpdateCallable();
    145
    insertCallable = collection.isCustomInsertCallable();
    Differences
    Expression1Expression2Difference
    updateCallableinsertCallableVARIABLE_NAME_MISMATCH
    isCustomUpdateCallableisCustomInsertCallableMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression updateCallable is a field being modified, and thus it cannot be parameterized
    Expression insertCallable is a field being modified, and thus it cannot be parameterized
    145
    insertCallable = collection.isCustomInsertCallable();
    153
    updateCheckStyle = collection.getCustomSQLUpdateCheckStyle() == null ? ExecuteUpdateResultCheckStyle.determineDefault(collection.getCustomSQLUpdate(), insertCallable) : collection.getCustomSQLUpdateCheckStyle();
    153
    updateCheckStyle = collection.getCustomSQLUpdateCheckStyle() == null ? ExecuteUpdateResultCheckStyle.determineDefault(collection.getCustomSQLUpdate(), insertCallable) : collection.getCustomSQLUpdateCheckStyle();
    146
    insertCheckStyle = collection.getCustomSQLInsertCheckStyle() == null ? ExecuteUpdateResultCheckStyle.determineDefault(collection.getCustomSQLInsert(), insertCallable) : collection.getCustomSQLInsertCheckStyle();
    Differences
    Expression1Expression2Difference
    updateCheckStyleinsertCheckStyleVARIABLE_NAME_MISMATCH
    getCustomSQLUpdateCheckStylegetCustomSQLInsertCheckStyleMETHOD_INVOCATION_NAME_MISMATCH
    getCustomSQLUpdategetCustomSQLInsertMETHOD_INVOCATION_NAME_MISMATCH
    getCustomSQLUpdateCheckStylegetCustomSQLInsertCheckStyleMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression updateCheckStyle is a field being modified, and thus it cannot be parameterized
    Expression insertCheckStyle is a field being modified, and thus it cannot be parameterized
    146
    insertCheckStyle = collection.getCustomSQLInsertCheckStyle() == null ? ExecuteUpdateResultCheckStyle.determineDefault(collection.getCustomSQLInsert(), insertCallable) : collection.getCustomSQLInsertCheckStyle();
    Precondition Violations (6)
    Row Violation
    1Expression sqlUpdateRowString is a field being modified, and thus it cannot be parameterized
    2Expression sqlInsertRowString is a field being modified, and thus it cannot be parameterized
    3Expression updateCallable is a field being modified, and thus it cannot be parameterized
    4Expression insertCallable is a field being modified, and thus it cannot be parameterized
    5Expression updateCheckStyle is a field being modified, and thus it cannot be parameterized
    6Expression insertCheckStyle is a field being modified, and thus it cannot be parameterized