public class DecodeCaseFragment extends CaseFragment { public String toFragmentString() { 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();
public class MckoiCaseFragment extends CaseFragment { public String toFragmentString() { 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(" if(") .append( me.getKey() ) .append(" is not null") .append(", ") .append( me.getValue() ) .append(", "); buf2.append(")"); } buf.append("null"); buf.append(buf2); 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/MckoiCaseFragment.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class DecodeCaseFragment extends CaseFragment {
1
public class MckoiCaseFragment extends CaseFragment {
2
	public String toFragmentString() {
2
	public String toFragmentString() {
3
		
3
		
4
		StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 )
4
StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 );
5
			.append("decode(");
5
		StringBuffer buf2= new StringBuffer( cases.size() );
6
		Iterator iter = cases.entrySet().iterator();
6
		Iterator iter = cases.entrySet().iterator();
7
		while ( iter.hasNext() ) {
7
		while ( iter.hasNext() ) {
8
			Map.Entry me = (Map.Entry) iter.next();
8
			Map.Entry me = (Map.Entry) iter.next();
9
			if ( iter.hasNext() ) {
10
				buf.append(", ")
9
			buf.append(" if(")
11
					.append( me.getKey() )
10
				.append( me.getKey() )
12
					.append(", ")
11
				.append(" is not null")
13
					.append( me.getValue() );
12
				.append(
14
			}
15
			else {
16
				buf.insert( 7,
13
", ")
17
 me.getKey() )
14
				.append( me.getValue() )
18
					.append(", ")
15
				.append(", ");
19
					.append( me.getValue() );
16
			buf2.append(
20
			}
21
		}
22
		buf.append(')');
23
		
17
")");
18
		}
19
		buf.append("null");
20
		buf.append(buf2);
24
		if (returnColumnName!=null) {
21
		if (returnColumnName!=null) {
25
			buf.append(" as ")
22
			buf.append(" as ")
26
				.append(returnColumnName);
23
				.append(returnColumnName);
27
		}
24
		}
28
		
29
		return buf.toString();
25
		return buf.toString();
30
	
26
	
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.0
Clones location
Number of node comparisons0