StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 ) .append("decode("); Iterator iter = cases.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry me = (Map.Entry) iter.next(); if ( iter.hasNext() ) { buf.append(", ") .append( me.getKey() ) .append(", ") .append( me.getValue() ); } else { buf.insert( 7, me.getKey() ) .append(", ") .append( me.getValue() ); } } buf.append(')'); if (returnColumnName!=null) { buf.append(" as ") .append(returnColumnName); } return buf.toString();
StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 ); StringBuffer buf2 = new StringBuffer( cases.size() ); Iterator iter = cases.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry me = (Map.Entry) iter.next(); buf.append(" casewhen(") .append( me.getKey() ) .append(" is not null") .append(", ") .append( me.getValue() ) .append(", "); buf2.append(")"); } buf.append("-1"); //null caused some problems buf.append( buf2.toString() ); if ( returnColumnName!=null ) { buf.append(" as ") .append(returnColumnName); } return buf.toString();
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/sql/DecodeCaseFragment.java File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/sql/HSQLCaseFragment.java
Method name: String toFragmentString() Method name: String toFragmentString()
Number of AST nodes: 11 Number of AST nodes: 12
1
StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 )
1
StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 );
2
			.append("decode(");
2
		StringBuffer buf2 = new StringBuffer( cases.size() );
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
			if ( iter.hasNext() ) {
7
				buf.append(", ")
6
			buf.append(" casewhen(")
8
					.append( me.getKey() )
7
				.append( me.getKey() )
9
					.append(", ")
8
				.append(" is not null")
10
					.append( me.getValue() );
9
				.append(
11
			}
12
			else {
13
				buf.insert( 7,
10
", ")
14
 me.getKey() )
11
				.append( me.getValue() )
15
					.append(", ")
12
				.append(", ");
16
					.append( me.getValue() );
13
			buf2.append(")");
17
			}
14
		}
18
		}
15
		
19
		buf.append(')');
20
		
16
buf.append("-1"); //null caused some problems
17
		buf.append( buf2.toString() );
21
		if (returnColumnName!=null) {
18
		if ( returnColumnName!=null ) {
22
			buf.append(" as ")
19
			buf.append(" as ")
23
				.append(returnColumnName);
20
				.append(returnColumnName);
24
		}
21
		}
25
		
22
		
26
		return buf.toString();
23
return buf.toString();
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 having the same super class
Number of node comparisons2