int i = 0;
while (i < ss.length()) {
switch (ss.charAt(i)) {
case '<':
sb.append("<");
i++;
break;
case '>':
sb.append(">");
i++;
break;
case '&':
sb.append("&");
i++;
break;
case '"':
sb.append(""");
i++;
break;
/*
case '\'':
sb.append("'");
i++;
break;*/
case ' ':
if (ss.substring(i).startsWith(" ")) {
sb.append(" ");
i = i + 2;
} else if (ss.substring(i).startsWith(" ")) {
sb.append(" ");
i = i + 3;
} else if (ss.substring(i).startsWith(" ")) {
sb.append(" ");
i = i + 2;
} else {
sb.append(' ');
i++;
}
break;
case '\t':
sb.append(" ");
i++;
break;
case '\n':
sb.append("<br>");
i++;
break;
default:
sb.append(ss.charAt(i));
i++;
break;
}
}
int i = 0;
while (i < ss.length()) {
switch (ss.charAt(i)) {
case '<':
sb.append("<");
i++;
break;
case '>':
sb.append(">");
i++;
break;
case '&':
sb.append("&");
i++;
break;
case '"':
sb.append(""");
i++;
break;
case ' ':
//sb.append(" ");
if (ss.substring(i).startsWith(" ")) {
sb.append(" ");
i = i + 2;
} else if (ss.substring(i).startsWith(" ")) {
sb.append(" ");
i = i + 3;
} else if (ss.substring(i).startsWith(" ")) {
sb.append(" ");
i = i + 2;
} else {
sb.append(' ');
i++;
}
break;
case '\t':
sb.append(" ");
i++;
break;
case '\n':
sb.append("<br>");
i++;
break;
default:
sb.append(ss.charAt(i));
i++;
break;
}
}
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/parser/text/HtmlParser.java
|
|
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/parser/text/HtmlParser.java
|
Method name: String substituteSpecialCharactersInHeaderfields(String)
|
|
Method name: String substituteSpecialCharacters(String)
|
Number of AST nodes: 44
|
|
Number of AST nodes: 44
|
|
1 | int i = 0;↵ | | 1 | int i = 0;↵
|
|
2 | while (i < ss.length()) {↵ | | 2 | while (i < ss.length()) {↵
|
3 | switch (ss.charAt(i)) {↵ | | 3 | switch (ss.charAt(i)) {↵
|
4 | case '<':↵ | | 4 | case '<':↵
|
5 | sb.append("<");↵ | | 5 | sb.append("<");↵
|
6 | i++;↵ | | 6 | i++;↵
|
|
7 | break;↵ | | 7 | break;↵
|
|
8 | case '>':↵ | | 8 | case '>':↵
|
9 | sb.append(">");↵ | | 9 | sb.append(">");↵
|
10 | i++;↵ | | 10 | i++;↵
|
|
11 | break;↵ | | 11 | break;↵
|
|
12 | case '&':↵ | | 12 | case '&':↵
|
13 | sb.append("&");↵ | | 13 | sb.append("&");↵
|
14 | i++;↵ | | 14 | i++;↵
|
|
15 | break;↵ | | 15 | break;↵
|
|
16 | case '"':↵ | | 16 | case '"':↵
|
17 | sb.append(""");↵ | | 17 | sb.append(""");↵
|
18 | i++;↵ | | 18 | i++;↵
|
|
19 | break;↵ | | 19 | break;↵
|
|
20 | /*↵ | | |
|
21 | case '\'':↵ | | 20 | case ' ':↵
|
|
22 | sb.append("'");↵ | | 21 | //sb.append("&↵
|
23 | i++;↵ | | |
|
|
24 | break;*/↵ | | |
|
|
25 | case ' ':↵ | | |
|
| | | 22 | nbsp;");↵
|
26 | if (ss.substring(i).startsWith(" ")) {↵ | | 23 | if (ss.substring(i).startsWith(" ")) {↵
|
27 | sb.append(" ");↵ | | 24 | sb.append(" ");↵
|
28 | i = i + 2;↵ | | 25 | i = i + 2;↵
|
29 | } else if (ss.substring(i).startsWith(" ")) {↵ | | 26 | } else if (ss.substring(i).startsWith(" ")) {↵
|
30 | sb.append(" ");↵ | | 27 | sb.append(" ");↵
|
31 | i = i + 3;↵ | | 28 | i = i + 3;↵
|
32 | } else if (ss.substring(i).startsWith(" ")) {↵ | | 29 | } else if (ss.substring(i).startsWith(" ")) {↵
|
33 | sb.append(" ");↵ | | 30 | sb.append(" ");↵
|
34 | i = i + 2;↵ | | 31 | i = i + 2;↵
|
35 | } else {↵ | | 32 | } else {↵
|
36 | sb.append(' ');↵ | | 33 | sb.append(' ');↵
|
37 | i++;↵ | | 34 | i++;↵
|
38 | }↵ | | 35 | }↵
|
|
39 | break;↵ | | 36 | break;↵
|
|
40 | case '\t':↵ | | 37 | case '\t':↵
|
41 | sb.append(" ");↵ | | 38 | sb.append(" ");↵
|
42 | i++;↵ | | 39 | i++;↵
|
|
43 | break;↵ | | 40 | break;↵
|
|
44 | case '\n':↵ | | 41 | case '\n':↵
|
45 | sb.append("<br>");↵ | | 42 | sb.append("<br>");↵
|
46 | i++;↵ | | 43 | i++;↵
|
|
47 | break;↵ | | 44 | break;↵
|
|
48 | default:↵ | | 45 | default:↵
|
49 | sb.append(ss.charAt(i));↵ | | 46 | sb.append(ss.charAt(i));↵
|
50 | i++;↵ | | 47 | i++;↵
|
|
51 | break;↵ | | 48 | break;↵
|
52 | }↵ | | 49 | }↵
|
53 | } | | 50 | }
|
See real code fragment |
|
See real code fragment |
Summary
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 1 |
Number of non-refactorable cases | 0 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 3.3 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 599 |
-
{Refactorable}
Mapping Summary
Number of mapped statements | 44 |
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) | 882.6 |
Clone type | Type 1 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
7 | int i = 0; | | 7 | int i = 0; |
8 | while (i < ss.length()) | | 8 | while (i < ss.length()) |
9 | | | 9 | |
10 | | | 10 | |
11 | | | 11 | |
12 | | | 12 | |
13 | | | 13 | |
14 | | | 14 | |
15 | | | 15 | |
16 | | | 16 | |
17 | | | 17 | |
18 | | | 18 | |
19 | | | 19 | |
20 | | | 20 | |
21 | | | 21 | |
22 | | | 22 | |
23 | | | 23 | |
24 | | | 24 | |
25 | | | 25 | |
26 | | | 26 | |
27 | if (ss.substring(i).startsWith(" ")) | | 27 | if (ss.substring(i).startsWith(" ")) |
28 | | | 28 | |
29 | | | 29 | |
30 | else if (ss.substring(i).startsWith(" ")) | | 30 | else if (ss.substring(i).startsWith(" ")) |
31 | | | 31 | |
32 | | | 32 | |
33 | else if (ss.substring(i).startsWith(" ")) | | 33 | else if (ss.substring(i).startsWith(" ")) |
34 | | | 34 | |
35 | | | 35 | |
| | | | |
36 | | | 36 | |
37 | | | 37 | |
38 | | | 38 | |
39 | | | 39 | |
40 | | | 40 | |
41 | | | 41 | |
42 | | | 42 | |
43 | | | 43 | |
44 | | | 44 | |
45 | | | 45 | |
46 | | | 46 | |
47 | | | 47 | |
48 | | | 48 | |
49 | | | 49 | |
50 | | | 50 | |
Precondition Violations (0)
Row |
Violation |