while ( itr.hasNext() ) { final Map.Entry entry = ( Map.Entry ) itr.next(); final String propertyName = ( String ) entry.getKey(); final String propertyValue = ( String ) entry.getValue(); if ( propertyName != null && propertyValue != null ) { // Make sure we don't override previous set values if ( !target.keySet().contains( propertyName ) ) { if ( !getExcludedPropertyNames().contains( propertyName) ) { target.put( propertyName, propertyValue ); } } } }
while ( itr.hasNext() ) { final Map.Entry entry = ( Map.Entry ) itr.next(); final Object value = entry.getValue(); if ( value != null && String.class.isInstance( value ) ) { final String resolved = resolvePlaceHolder( ( String ) value ); if ( !value.equals( resolved ) ) { if ( resolved == null ) { itr.remove(); } else { entry.setValue( resolved ); } } } }
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/util/ExternalSessionFactoryConfig.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/util/PropertiesHelper.java
Method name: void addAll(Properties, Map) Method name: void resolvePlaceHolders(Properties)
Number of AST nodes: 8 Number of AST nodes: 9
1
while ( itr.hasNext() ) {
1
while ( itr.hasNext() ) {
2
			final Map.Entry entry = ( Map.Entry ) itr.next();
2
			final Map.Entry entry = ( Map.Entry ) itr.next();
3
			final String propertyName = ( String ) entry.getKey();
3
			final 
4
			final String propertyValue = ( String ) entry.getValue();
4
Object value = entry.getValue();
5
			if ( propertyName != null && propertyValue != null ) {
5
			if ( value != null && 
6
				// Make sure we don't override previous set
6
String.class.isInstance( value ) ) {
7
 values
7
				final String resolved = resolvePlaceHolder( ( String ) value );
8
				if ( !target.keySet().contains( propertyName ) ) {
8
				if ( !
9
					if ( !getExcludedPropertyNames().contains( propertyName) ) {
10
						target.put( propertyName, propertyValue
9
value.equals( resolved ) ) {
10
					if ( resolved == null ) {
11
						itr.remove();
12
					}
13
					else {
11
 );
14
						entry.setValue( resolved );
12
					}
15
					}
13
				}
16
				}
14
			}
17
			}
15
		}
18
		}
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