for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) { boolean include = includeOldField[i] && isPropertyOfTable( i, j ) && versionability[i]; //TODO: is this really necessary???? if ( include ) { boolean[] settable = types[i].toColumnNullness( oldFields[i], getFactory() ); types[i].nullSafeSet( update, oldFields[i], index, settable, session ); index += ArrayHelper.countTrue(settable); } }
boolean[] versionability = getPropertyVersionability(); Type[] types = getPropertyTypes(); for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) { if ( isPropertyOfTable( i, j ) && versionability[i] ) { // this property belongs to the table and it is not specifically // excluded from optimistic locking by optimistic-lock="false" boolean[] settable = types[i].toColumnNullness( loadedState[i], getFactory() ); types[i].nullSafeSet( delete, loadedState[i], index, settable, session ); index += ArrayHelper.countTrue( settable ); } }
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java
Method name: boolean update(Serializable, Object[], Object[], Object, boolean[], int, Object, Object, String, SessionImplementor) Method name: void delete(Serializable, Object, int, Object, String, SessionImplementor, Object[])
Number of AST nodes: 6 Number of AST nodes: 7
1
boolean[] versionability = getPropertyVersionability();
2
					Type[] types = getPropertyTypes();
1
for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) {
3
					for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) {
2
						boolean include = includeOldField[i] &&
4
						
3
								isPropertyOfTable( i, j ) &&
5
if ( isPropertyOfTable( i, j ) &&
4
								versionability[i]; //TODO: is this really necessary????
6
 versionability[i]
5
						if ( include ) {
7
 ) {
8
							// this property belongs to the table and it is not specifically
9
							// excluded from optimistic locking by optimistic-lock="false"
6
							boolean[] settable = types[i].toColumnNullness( oldFields[i], getFactory() );
10
							boolean[] settable = types[i].toColumnNullness( loadedState[i], getFactory() );
7
							types[i].nullSafeSet(
11
							types[i].nullSafeSet(
8
									update,
9
									oldFields[i],
10
									index,
11
									settable,
12
									session
13
								);
12
 delete, loadedState[i], index, settable, session );
14
							index += ArrayHelper.countTrue(settable);
13
							index += ArrayHelper.countTrue( settable );
15
						}
14
						}
16
					}
15
					}
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 declared in the same class
Number of node comparisons1