File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/imap/IMAPServer.java | File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/imap/IMAPServer.java | |||
Method name: SearchKey getSearchKey(IFilterCriteria)
|
Method name: SearchKey getSearchKey(IFilterCriteria)
|
|||
Number of AST nodes: 21 | Number of AST nodes: 21 | |||
1 | case MailFilterCriteria.FROM: {↵ | |||
2 | if (operator == FilterCriteria.CONTAINS) {↵ | |||
3 | return new SearchKey(SearchKey.FROM, criteria↵ | |||
4 | .getPatternString());↵ | |||
5 | } else {↵ | |||
6 | // contains not↵ | |||
7 | return new SearchKey(SearchKey.NOT, new SearchKey(↵ | |||
8 | SearchKey.FROM, criteria.getPatternString()));↵ | |||
9 | }↵ | |||
10 | }↵ | |||
1 | case MailFilterCriteria.CC: {↵ | 11 | case MailFilterCriteria.CC: {↵ | |
2 | if (operator == FilterCriteria.CONTAINS) {↵ | 12 | if (operator == FilterCriteria.CONTAINS) {↵ | |
3 | return new SearchKey(SearchKey.CC, criteria.getPatternString());↵ | 13 | return new SearchKey(SearchKey.CC, criteria.getPatternString());↵ | |
4 | } else {↵ | 14 | } else {↵ | |
5 | // contains not↵ | 15 | // contains not↵ | |
6 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.CC,↵ | 16 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.CC,↵ | |
7 | criteria.getPatternString()));↵ | 17 | criteria.getPatternString()));↵ | |
8 | }↵ | 18 | }↵ | |
9 | }↵ | 19 | }↵ | |
10 | case MailFilterCriteria.BCC: {↵ | 20 | case MailFilterCriteria.BCC: {↵ | |
11 | if (operator == FilterCriteria.CONTAINS) {↵ | 21 | if (operator == FilterCriteria.CONTAINS) {↵ | |
12 | return new SearchKey(SearchKey.BCC, criteria.getPatternString());↵ | 22 | return new SearchKey(SearchKey.BCC, criteria.getPatternString());↵ | |
13 | } else {↵ | 23 | } else {↵ | |
14 | // contains not↵ | 24 | // contains not↵ | |
15 | return new SearchKey(SearchKey.NOT, new SearchKey(↵ | 25 | return new SearchKey(SearchKey.NOT, new SearchKey(↵ | |
16 | SearchKey.BCC, criteria.getPatternString()));↵ | 26 | SearchKey.BCC, criteria.getPatternString()));↵ | |
17 | }↵ | 27 | }↵ | |
18 | }↵ | 28 | }↵ | |
19 | case MailFilterCriteria.TO: {↵ | 29 | case MailFilterCriteria.TO: {↵ | |
20 | if (operator == FilterCriteria.CONTAINS) {↵ | 30 | if (operator == FilterCriteria.CONTAINS) {↵ | |
21 | return new SearchKey(SearchKey.TO, criteria.getPatternString());↵ | 31 | return new SearchKey(SearchKey.TO, criteria.getPatternString());↵ | |
22 | } else {↵ | 32 | } else {↵ | |
23 | // contains not↵ | 33 | // contains not↵ | |
24 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.TO,↵ | 34 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.TO,↵ | |
25 | criteria.getPatternString()));↵ | 35 | criteria.getPatternString()));↵ | |
26 | }↵ | 36 | }↵ | |
27 | }↵ | 37 | }↵ | |
28 | case MailFilterCriteria.SUBJECT: {↵ | 38 | case MailFilterCriteria.SUBJECT: {↵ | |
29 | if (operator == FilterCriteria.CONTAINS) {↵ | 39 | if (operator == FilterCriteria.CONTAINS) {↵ | |
30 | return new SearchKey(SearchKey.SUBJECT, criteria↵ | 40 | return new SearchKey(SearchKey.SUBJECT, criteria↵ | |
31 | .getPatternString());↵ | 41 | .getPatternString());↵ | |
32 | } else {↵ | 42 | } else {↵ | |
33 | // contains not↵ | 43 | // contains not↵ | |
34 | return new SearchKey(SearchKey.NOT, new SearchKey(↵ | 44 | return new SearchKey(SearchKey.NOT, new SearchKey(↵ | |
35 | SearchKey.SUBJECT, criteria.getPatternString()));↵ | 45 | SearchKey.SUBJECT, criteria.getPatternString()));↵ | |
36 | }↵ | 46 | }↵ | |
37 | }↵ | 47 | }↵ | |
38 | case MailFilterCriteria.BODY: {↵ | 48 |
| |
39 | if (operator == FilterCriteria.CONTAINS) {↵ | |||
40 | return new SearchKey(SearchKey.BODY, criteria↵ | |||
41 | .getPatternString());↵ | |||
42 | } else {↵ | |||
43 | // contains not↵ | |||
44 | return new SearchKey(SearchKey.NOT, new SearchKey(↵ | |||
45 | SearchKey.BODY, criteria.getPatternString()));↵ | |||
46 | }↵ | |||
47 | }↵ | |||
48 | case MailFilterCriteria.CUSTOM_HEADERFIELD: | |||
See real code fragment | See real code fragment |
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) | 1.7 |
Clones location | Clones are in the same method |
Number of node comparisons | 167 |
Number of mapped statements | 21 |
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) | 11.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 | case MailFilterCriteria.CC: | 8 | case MailFilterCriteria.CC: | |||||||||||
9 | if (operator == FilterCriteria.CONTAINS) | 9 | if (operator == FilterCriteria.CONTAINS) | |||||||||||
10 | return new SearchKey(SearchKey.CC, criteria.getPatternString()); | 10 | return new SearchKey(SearchKey.CC, criteria.getPatternString()); | |||||||||||
else | else | |||||||||||||
11 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.CC, criteria.getPatternString())); | 11 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.CC, criteria.getPatternString())); | |||||||||||
12 | case MailFilterCriteria.BCC: | 12 | case MailFilterCriteria.BCC: | |||||||||||
13 | if (operator == FilterCriteria.CONTAINS) | 13 | if (operator == FilterCriteria.CONTAINS) | |||||||||||
14 | return new SearchKey(SearchKey.BCC, criteria.getPatternString()); | 14 | return new SearchKey(SearchKey.BCC, criteria.getPatternString()); | |||||||||||
else | else | |||||||||||||
15 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.BCC, criteria.getPatternString())); | 15 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.BCC, criteria.getPatternString())); | |||||||||||
16 | case MailFilterCriteria.TO: | 16 | case MailFilterCriteria.TO: | |||||||||||
17 | if (operator == FilterCriteria.CONTAINS) | 17 | if (operator == FilterCriteria.CONTAINS) | |||||||||||
18 | return new SearchKey(SearchKey.TO, criteria.getPatternString()); | 18 | return new SearchKey(SearchKey.TO, criteria.getPatternString()); | |||||||||||
else | else | |||||||||||||
19 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.TO, criteria.getPatternString())); | 19 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.TO, criteria.getPatternString())); | |||||||||||
20 | case MailFilterCriteria.SUBJECT: | 20 | case MailFilterCriteria.SUBJECT: | |||||||||||
21 | if (operator == FilterCriteria.CONTAINS) | 21 | if (operator == FilterCriteria.CONTAINS) | |||||||||||
22 | return new SearchKey(SearchKey.SUBJECT, criteria.getPatternString()); | 22 | return new SearchKey(SearchKey.SUBJECT, criteria.getPatternString()); | |||||||||||
else | else | |||||||||||||
23 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.SUBJECT, criteria.getPatternString())); | 23 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.SUBJECT, criteria.getPatternString())); | |||||||||||
24 | case MailFilterCriteria.BODY: | 24 | case MailFilterCriteria.BODY: | |||||||||||
25 | if (operator == FilterCriteria.CONTAINS) | 5 | if (operator == FilterCriteria.CONTAINS) | |||||||||||
26 | return new SearchKey(SearchKey.BODY, criteria.getPatternString()); |
| 6 | return new SearchKey(SearchKey.FROM, criteria.getPatternString()); | ||||||||||
else | else | |||||||||||||
27 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.BODY, criteria.getPatternString())); |
| 7 | return new SearchKey(SearchKey.NOT, new SearchKey(SearchKey.FROM, criteria.getPatternString())); | ||||||||||
28 | case MailFilterCriteria.CUSTOM_HEADERFIELD: |
| 4 | case MailFilterCriteria.FROM: |
Row | Violation |
---|