File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/sql/DerbyCaseFragment.java | File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/sql/ANSICaseFragment.java | |||
Method name: String toFragmentString()
|
Method name: String toFragmentString()
|
|||
Number of AST nodes: 11 | Number of AST nodes: 9 | |||
1 | StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 );↵ | 1 | StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 )↵ | |
2 | buf.append( "case" ); //$NON-NLS-1↵ | 2 | .append("case");↵ | |
3 | Iterator iter = cases.entrySet().iterator();↵ | 3 | Iterator iter = cases.entrySet().iterator();↵ | |
4 | while ( iter.hasNext() ) {↵ | 4 | while ( iter.hasNext() ) {↵ | |
5 | Map.Entry me = ( Map.Entry ) iter.next();↵ | 5 | Map.Entry me = (Map.Entry) iter.next();↵ | |
6 | buf.append( " when " )//$NON-NLS-1↵ | 6 | buf.append(" when "↵ | |
7 | ↵ | 7 | )↵ | |
8 | .append( me.getKey() )↵ | 8 | .append( me.getKey() )↵ | |
9 | .append( " is not null then " )//$NON-NLS-1↵ | 9 | .append(" is not null then "↵ | |
10 | ↵ | 10 | )↵ | |
11 | .append( me.getValue() );↵ | 11 | .append( me.getValue() );↵ | |
12 | }↵ | 12 | }↵ | |
13 | // null is not considered the same type as Integer.↵ | 13 | ↵ | |
14 | buf.append( " else -1" ); //$NON-NLS-1↵ | 14 | buf.append(" e↵ | |
15 | buf.append( " end" ); //$NON-NLS-1↵ | 15 | nd");↵ | |
16 | if ( returnColumnName != null ) {↵ | 16 | if (returnColumnName!=null) {↵ | |
17 | buf.append( " as " )//$NON-NLS-1↵ | 17 | buf.append(" as "↵ | |
18 | ↵ | 18 | )↵ | |
19 | .append( returnColumnName );↵ | 19 | .append(returnColumnName);↵ | |
20 | }↵ | 20 | }↵ | |
21 | return buf.toString(); | 21 |
| |
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 having the same super class |
Number of node comparisons | 36 |
Number of mapped statements | 9 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 3.2 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | StringBuffer buf = new StringBuffer(cases.size() * 15 + 10); |
| 1 | StringBuffer buf = new StringBuffer(cases.size() * 15 + 10).append("case"); | ||||||||||
2 | buf.append("case"); | | ||||||||||||
3 | Iterator iter = cases.entrySet().iterator(); | 2 | Iterator iter = cases.entrySet().iterator(); | |||||||||||
4 | while (iter.hasNext()) | 3 | while (iter.hasNext()) | |||||||||||
5 | Map.Entry me = (Map.Entry)iter.next(); | 4 | Map.Entry me = (Map.Entry)iter.next(); | |||||||||||
6 | buf.append(" when ").append(me.getKey()).append(" is not null then ").append(me.getValue()); | 5 | buf.append(" when ").append(me.getKey()).append(" is not null then ").append(me.getValue()); | |||||||||||
7 | buf.append(" else -1"); | | ||||||||||||
8 | buf.append(" end"); | 6 | buf.append(" end"); | |||||||||||
9 | if (returnColumnName != null) | 7 | if (returnColumnName != null) | |||||||||||
10 | buf.append(" as ").append(returnColumnName); | 8 | buf.append(" as ").append(returnColumnName); | |||||||||||
11 | return buf.toString(); | 9 | return buf.toString(); |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables buf , while Clone fragment #2 returns variables |