if ( !veto ) { persister.insert( id, state, instance, session ); EntityEntry entry = session.getPersistenceContext().getEntry( instance ); if ( entry == null ) { throw new AssertionFailure( "possible nonthreadsafe access to session" ); } entry.postInsert(); if ( persister.hasInsertGeneratedProperties() ) { persister.processInsertGeneratedProperties( id, instance, state, session ); if ( persister.isVersionPropertyGenerated() ) { version = Versioning.getVersion(state, persister); } entry.postUpdate(instance, state, version); } }
collection = persistenceContext.useUnownedCollection( new CollectionKey(persister, key, entityMode) ); if ( collection == null ) { // create a new collection wrapper, to be initialized later collection = instantiate( session, persister, key ); collection.setOwner(owner); persistenceContext.addUninitializedCollection( persister, collection, key ); // some collections are not lazy: if ( initializeImmediately( entityMode ) ) { session.initializeCollection( collection, false ); } else if ( !persister.isLazy() ) { persistenceContext.addNonLazyCollection( collection ); } if ( hasHolder( entityMode ) ) { session.getPersistenceContext().addCollectionHolder( collection ); } }
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/action/EntityInsertAction.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/type/CollectionType.java
Method name: void execute() Method name: Object getCollection(Serializable, SessionImplementor, Object)
Number of AST nodes: 11 Number of AST nodes: 11
1
if ( !veto ) {
2
			
3
			persister.insert( id, state, instance, session );
4
		
5
			EntityEntry entry = session.getPersistenceContext().getEntry( instance );
6
			if ( entry
1
collection = persistenceContext.useUnownedCollection( new CollectionKey(persister, key, entityMode) );
2
			
7
 == null ) {
3
			if ( collection == null ) {
8
				throw new AssertionFailure( "possible nonthreadsafe access to session" );
4
				
9
			}
10
			
11
			entry.postInsert(
5
// create a new collection wrapper, to be initialized later
6
				collection = instantiate( session, persister, key );
12
);
7
				collection.setOwner(owner);
13
	
8
	
14
			if ( persister.hasInsertGeneratedProperties() ) {
9
				persiste
15
				persister.processInsertGeneratedProperties( id, instance, state, session );
16
				
10
nceContext.addUninitializedCollection( persister, collection, key );
11
	
12
				// some collections are not lazy:
13
				if ( initializeImmediately( entityMode ) ) {
14
					session.initializeCollection( collection, false );
15
				}
17
if ( persister.isVersionPropertyGenerated() ) {
16
				else if ( !persister.isLazy() ) {
18
					version = Versioning.getVersion(state, persister);
17
					persistenceContext.addNonLazyCollection( collection );
19
				}
18
				}
20
	
19
	
21
			entry.postUpdate(in
20
				if ( hasHolder( entityMode ) ) {
22
stance, state, version);
21
					session.getPersistenceContext().addCollectionHolder( collection );
23
			}
22
				}
24
			
23
			
24
	
25
		}
25
			}
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.2
Clones locationClones are in different classes
Number of node comparisons3