File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/cfg/ResultSetMappingBinder.java | File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/loader/custom/sql/SQLQueryReturnProcessor.java | |||
Method name: java.util.Map bindPropertyResults(String, Element, PersistentClass, Mappings)
|
Method name: Map filter(Map)
|
|||
Number of AST nodes: 5 | Number of AST nodes: 5 | |||
1 | while ( entries.hasNext() ) {↵ | 1 | while ( iter.hasNext() ) { ↵ | |
2 | Map.Entry entry = (Map.Entry) entries.next();↵ | 2 | Map.Entry element = ( Map.Entry ) iter.next(); ↵ | |
3 | if (entry.getValue() instanceof ArrayList) {↵ | 3 | ↵ | |
4 | ArrayList list = (ArrayList) entry.getValue();↵ | |||
5 | entry.setValue( list.toArray( new String[ list.size() ] ↵ | 4 | String path = ( String ) element.getKey();↵ | |
5 | if ( path.startsWith( keyPrefix ) ) {↵ | |||
6 | ) );↵ | 6 | result.put( path.substring( keyPrefix.length() ), element.getValue() ); ↵ | |
7 | }↵ | 7 | } ↵ | |
8 | } | 8 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.2 |
Clones location | Clones are in different classes |
Number of node comparisons | 12 |
Number of mapped statements | 3 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 3.2 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
71 | while (entries.hasNext()) |
| 4 | while (iter.hasNext()) | |||||||||||||
72 | Map.Entry entry = (Map.Entry)entries.next(); |
| 5 | Map.Entry element = (Map.Entry)iter.next(); | |||||||||||||
|
| 6 | String path = (String)element.getKey(); | ||||||||||||||
73 | if (entry.getValue() instanceof ArrayList) |
| 7 | if (path.startsWith(keyPrefix)) | |||||||||||||
|
| 8 | result.put(path.substring(keyPrefix.length()), element.getValue()); | ||||||||||||||
74 | ArrayList list = (ArrayList)entry.getValue(); |
| | ||||||||||||||
75 | entry.setValue(list.toArray(new String[list.size()])); |
| |
Row | Violation |
---|---|
1 | Unmatched statement String path=(String)element.getKey(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Expression entry.getValue() instanceof ArrayList cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression path.startsWith(keyPrefix) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement result.put(path.substring(keyPrefix.length()),element.getValue()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
5 | Unmatched statement ArrayList list=(ArrayList)entry.getValue(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
6 | Unmatched statement entry.setValue(list.toArray(new String[list.size()])); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |