File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/sql/Template.java | File path: /hibernate-distribution-3.3.2.GA/project/core/src/main/java/org/hibernate/sql/Template.java | |||
Method name: String renderWhereStringTemplate(String, String, Dialect, SQLFunctionRegistry)
|
Method name: String renderOrderByStringTemplate(String, Dialect, SQLFunctionRegistry)
|
|||
Number of AST nodes: 18 | Number of AST nodes: 18 | |||
1 | if ( !quoted ) {↵ | 1 | if ( !quoted ) {↵ | |
2 | ↵ | 2 | ↵ | |
3 | boolean isOpenQuote;↵ | 3 | boolean isOpenQuote;↵ | |
4 | if ( "`".equals(token) ) {↵ | 4 | if ( "`".equals(token) ) {↵ | |
5 | isOpenQuote = !quotedIdentifier;↵ | 5 | isOpenQuote = !quotedIdentifier;↵ | |
6 | token = lcToken = isOpenQuote ? ↵ | 6 | token = lcToken = isOpenQuote ? ↵ | |
7 | new Character( dialect.openQuote() ).toString() :↵ | 7 | new Character( dialect.openQuote() ).toString() :↵ | |
8 | new Character( dialect.closeQuote() ).toString();↵ | 8 | new Character( dialect.closeQuote() ).toString();↵ | |
9 | quotedIdentifier = isOpenQuote; ↵ | 9 | quotedIdentifier = isOpenQuote; ↵ | |
10 | isQuoteCharacter = true;↵ | 10 | isQuoteCharacter = true;↵ | |
11 | }↵ | 11 | }↵ | |
12 | else if ( !quotedIdentifier && ( dialect.openQuote()==token.charAt(0) ) ) {↵ | 12 | else if ( !quotedIdentifier && ( dialect.openQuote()==token.charAt(0) ) ) {↵ | |
13 | isOpenQuote = true;↵ | 13 | isOpenQuote = true;↵ | |
14 | quotedIdentifier = true; ↵ | 14 | quotedIdentifier = true; ↵ | |
15 | isQuoteCharacter = true;↵ | 15 | isQuoteCharacter = true;↵ | |
16 | }↵ | 16 | }↵ | |
17 | else if ( quotedIdentifier && ( dialect.closeQuote()==token.charAt(0) ) ) {↵ | 17 | else if ( quotedIdentifier && ( dialect.closeQuote()==token.charAt(0) ) ) {↵ | |
18 | quotedIdentifier = false;↵ | 18 | quotedIdentifier = false;↵ | |
19 | isQuoteCharacter = true;↵ | 19 | isQuoteCharacter = true;↵ | |
20 | isOpenQuote = false;↵ | 20 | isOpenQuote = false;↵ | |
21 | }↵ | 21 | }↵ | |
22 | else {↵ | 22 | else {↵ | |
23 | isOpenQuote = false;↵ | 23 | isOpenQuote = false;↵ | |
24 | }↵ | 24 | }↵ | |
25 | ↵ | 25 | ↵ | |
26 | if (isOpenQuote) {↵ | 26 | if (isOpenQuote) {↵ | |
27 | result.append(placeholder).append('.');↵ | 27 | result.append(TEMPLATE).append('.');↵ | |
28 | }↵ | 28 | }↵ | |
29 | ↵ | 29 | ↵ | |
30 | } | 30 |
| |
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) | 1.4 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 174 |
Number of mapped statements | 18 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 7.7 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
20 | if (!quoted) | 17 | if (!quoted) | |||||||||||
21 | boolean isOpenQuote; | 18 | boolean isOpenQuote; | |||||||||||
22 | if ("`".equals(token)) | 19 | if ("`".equals(token)) | |||||||||||
23 | isOpenQuote = !quotedIdentifier; | 20 | isOpenQuote = !quotedIdentifier; | |||||||||||
24 | token = lcToken = isOpenQuote ? new Character(dialect.openQuote()).toString() : new Character(dialect.closeQuote()).toString(); | 21 | token = lcToken = isOpenQuote ? new Character(dialect.openQuote()).toString() : new Character(dialect.closeQuote()).toString(); | |||||||||||
25 | quotedIdentifier = isOpenQuote; | 22 | quotedIdentifier = isOpenQuote; | |||||||||||
26 | isQuoteCharacter = true; | 23 | isQuoteCharacter = true; | |||||||||||
27 | else if (!quotedIdentifier && (dialect.openQuote() == token.charAt(0))) | 24 | else if (!quotedIdentifier && (dialect.openQuote() == token.charAt(0))) | |||||||||||
28 | isOpenQuote = true; | 25 | isOpenQuote = true; | |||||||||||
29 | quotedIdentifier = true; | 26 | quotedIdentifier = true; | |||||||||||
30 | isQuoteCharacter = true; | 27 | isQuoteCharacter = true; | |||||||||||
31 | else if (quotedIdentifier && (dialect.closeQuote() == token.charAt(0))) | 28 | else if (quotedIdentifier && (dialect.closeQuote() == token.charAt(0))) | |||||||||||
32 | quotedIdentifier = false; | 29 | quotedIdentifier = false; | |||||||||||
33 | isQuoteCharacter = true; | 30 | isQuoteCharacter = true; | |||||||||||
34 | isOpenQuote = false; | 31 | isOpenQuote = false; | |||||||||||
else | else | |||||||||||||
35 | isOpenQuote = false; | 32 | isOpenQuote = false; | |||||||||||
36 | if (isOpenQuote) | 33 | if (isOpenQuote) | |||||||||||
37 | result.append(placeholder).append('.'); |
| 34 | result.append(TEMPLATE).append('.'); |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables quotedIdentifier, token, isQuoteCharacter, lcToken , while Clone fragment #2 returns variables quotedIdentifier, token, isQuoteCharacter, lcToken |