try { // NOTE : evict() operates locally only (i.e., does not propogate // to any other nodes in the potential cluster). This is // exactly what is needed when we destroy() here; destroy() is used // as part of the process of shutting down a SessionFactory; thus // these removals should not be propogated cache.evict( regionFqn ); } catch( Exception e ) { throw new CacheException( e ); }
if ( orphan.getTransaction() != null && orphan.getTransaction().isActive() ) { try { orphan.getTransaction().rollback(); } catch( Throwable t ) { log.debug( "Unable to rollback transaction for orphaned session", t ); } }
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/cache-jbosscache/src/main/java/org/hibernate/cache/TreeCache.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/context/ThreadLocalSessionContext.java
Method name: void destroy() Method name: void cleanupAnyOrphanedSession(SessionFactory)
Number of AST nodes: 2 Number of AST nodes: 3
1
try {
2
			// NOTE : evict() operates locally only (i.e., does not propogate
3
			// to any other nodes in the potential cluster).  This is
4
			// exactly what is needed when we destroy() here; destroy() is used
5
			// as part of the process of shutting down a SessionFactory; thus
6
			// these removals should not be propogated
7
			cache.evict( regionFqn );
8
		}
9
		catch( Exception e ) {
10
			throw new CacheException( e );
1
if ( orphan.getTransaction() != null && orphan.getTransaction().isActive() ) {
2
					try {
3
						orphan.getTransaction().rollback();
4
					}
5
					catch( Throwable t ) {
6
						log.debug( "Unable to rollback transaction for orphaned session", t );
7
					}
11
		}
8
				}
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 in different classes
Number of node comparisons1