Iterator itr = fromElementByClassAlias.entrySet().iterator(); while ( itr.hasNext() ) { Map.Entry entry = ( Map.Entry ) itr.next(); String alias = ( String ) entry.getKey(); if ( alias.equalsIgnoreCase( specifiedAlias ) ) { return ( FromElement ) entry.getValue(); } } return null;
Iterator itr = tuplizers.entrySet().iterator(); while( itr.hasNext() ) { Map.Entry entry = ( Map.Entry ) itr.next(); Tuplizer tuplizer = ( Tuplizer ) entry.getValue(); if ( tuplizer.isInstance( object ) ) { return ( EntityMode ) entry.getKey(); } } return null;
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/hql/ast/tree/FromClause.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/tuple/EntityModeToTuplizerMapping.java
Method name: FromElement findIntendedAliasedFromElementBasedOnCrazyJPARequirements(String) Method name: EntityMode guessEntityMode(Object)
Number of AST nodes: 7 Number of AST nodes: 7
1
Iterator itr = fromElementByClassAlias.entrySet().iterator();
1
Iterator itr = tuplizers.entrySet().iterator();
2
		while ( itr.hasNext() ) {
2
		while( itr.hasNext() ) {
3
			Map.Entry entry = ( Map.Entry ) itr.next();
3
			Map.Entry entry = ( Map.Entry ) itr.next();
4
			String alias = ( String ) entry.getKey();
4
			Tuplizer tuplizer = ( Tuplizer ) entry.getValue();
5
			if ( alias.equalsIgnoreCase( specifiedAlias ) ) {
5
			if ( tuplizer.isInstance( object ) ) {
6
				return ( FromElement ) entry.getValue();
6
				return ( EntityMode ) entry.getKey();
7
			}
7
			}
8
		}
8
		}
9
		return null;
9
		return null;
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.2
Clones locationClones are in different classes
Number of node comparisons14
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements4
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment3
    Time elapsed for statement mapping (ms)1.9
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    Iterator itr = fromElementByClassAlias.entrySet().iterator();
    1
    Iterator itr = fromElementByClassAlias.entrySet().iterator();
    1
    Iterator itr = tuplizers.entrySet().iterator();
    Differences
    Expression1Expression2Difference
    fromElementByClassAliastuplizersVARIABLE_NAME_MISMATCH
    1
    Iterator itr = tuplizers.entrySet().iterator();
    2
    while (itr.hasNext())
    2
    while (itr.hasNext())
    3
    Map.Entry entry = (Map.Entry)itr.next();
    3
    Map.Entry entry = (Map.Entry)itr.next();
                                                                                                    
    4
    Tuplizer tuplizer = (Tuplizer)entry.getValue();
    Preondition Violations
    Unmatched statement Tuplizer tuplizer=(Tuplizer)entry.getValue(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    4
    Tuplizer tuplizer = (Tuplizer)entry.getValue();
    4
    String alias = (String)entry.getKey();
    4
    String alias = (String)entry.getKey();
    Preondition Violations
    Unmatched statement String alias=(String)entry.getKey(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                  
                                                                        
    5
    if (tuplizer.isInstance(object))
                                                                              
    6
    return (EntityMode)entry.getKey();
    Preondition Violations
    Unmatched statement return (EntityMode)entry.getKey(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    Unmatched return (EntityMode)entry.getKey();
    6
    return (EntityMode)entry.getKey();
    5
    if (alias.equalsIgnoreCase(specifiedAlias))
                                                                                              
    6
    return (FromElement)entry.getValue();
    6
    return (FromElement)entry.getValue();
    Preondition Violations
    Unmatched statement return (FromElement)entry.getValue(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    Unmatched return (FromElement)entry.getValue();
                                                                                    
    7
    return null;
    7
    return null;
    Precondition Violations (6)
    Row Violation
    1Unmatched statement Tuplizer tuplizer=(Tuplizer)entry.getValue(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    2Unmatched statement String alias=(String)entry.getKey(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    3Unmatched statement return (EntityMode)entry.getKey(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    4Unmatched return (EntityMode)entry.getKey();
    5Unmatched statement return (FromElement)entry.getValue(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    6Unmatched return (FromElement)entry.getValue();