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 HSQLCaseFragment 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(" 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: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class DecodeCaseFragment extends CaseFragment {
1
public class HSQLCaseFragment 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(" casewhen(")
11
					.append( me.getKey() )
10
				.append( me.getKey() )
12
				
11
				.append(" is not null")
13
	.append(", ")
12
				.append(", ")
14
					.append( me.getValue() );
13
				.append( me.getValue() )
15
			}
14
			
16
			else {
17
				buf.insert( 7, me.getKey() )
18
					
15
	.append(", ");
19
.append(", ")
16
			buf2.append(")");
20
					.append( me.getValue() );
17
		
21
			}
22
		}
23
		buf.append(')');
24
		
18
}
19
		buf.append("-1"); //null caused some problems
20
		buf.append( buf2.toString() );
25
		if (returnColumnName!=null) {
21
		if ( returnColumnName!=null ) {
26
			buf.append(" as ")
22
			buf.append(" as ")
27
				.append(returnColumnName);
23
				.append(returnColumnName);
28
		}
24
		}
29
		
25
		
30
		return buf.toString()
26
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.0
Clones location
Number of node comparisons0