File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/message/viewer/HeaderViewer.java | File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/message/viewer/HeaderViewer.java | |||
Method name: void view(IMailbox, Object, MailFrameMediator)
|
Method name: void view(IMailbox, Object, MailFrameMediator)
|
|||
Number of AST nodes: 16 | Number of AST nodes: 16 | |||
1 | case 0:↵ | 1 | case 2:↵ | |
2 | // default↵ | 2 | // default↵ | |
3 | headers = new String[] { "Subject", "Date", "From", "To", "Cc" };↵ | 3 | headers = new String[] { "From" };↵ | |
4 | // get header from folder↵ | 4 | // get header from folder↵ | |
5 | header = folder.getHeaderFields(uid, headers);↵ | 5 | header = folder.getHeaderFields(uid, headers);↵ | |
6 | // transform headers if necessary↵ | 6 | // transform headers if necessary↵ | |
7 | for (int i = 0; i < headers.length; i++) {↵ | 7 | for (int i = 0; i < headers.length; i++) {↵ | |
8 | String key = headers[i];↵ | 8 | String key = headers[i];↵ | |
9 | JComponent[] value = transformHeaderField(header, key);↵ | 9 | JComponent[] value = transformHeaderField(header, key);↵ | |
10 | JButton trailingItem = new JButton("more...");↵ | 10 | JButton trailingItem = new JButton("more...");↵ | |
11 | trailingItem = createLinkButton(trailingItem);↵ | 11 | trailingItem = createLinkButton(trailingItem);↵ | |
12 | trailingItem.addActionListener(new ActionListener() {↵ | 12 | trailingItem.addActionListener(new ActionListener() {↵ | |
13 | public void actionPerformed(ActionEvent event) {↵ | 13 | public void actionPerformed(ActionEvent event) {↵ | |
14 | showAddressListDialog();↵ | 14 | showAddressListDialog();↵ | |
15 | }↵ | 15 | }↵ | |
16 | });↵ | 16 | });↵ | |
17 | DynamicItemListPanel p = new DynamicItemListPanel(2,↵ | 17 | DynamicItemListPanel p = new DynamicItemListPanel(2,↵ | |
18 | trailingItem, true);↵ | 18 | trailingItem, true);↵ | |
19 | p.setOpaque(false);↵ | 19 | p.setOpaque(false);↵ | |
20 | for (int j = 0; j < value.length; j++) {↵ | 20 | for (int j = 0; j < value.length; j++) {↵ | |
21 | p.addItem(value[j]);↵ | 21 | p.addItem(value[j]);↵ | |
22 | }↵ | 22 | }↵ | |
23 | if (value.length > 0)↵ | 23 | if (value.length > 0)↵ | |
24 | map.put(key, p);↵ | 24 | map.put(key, p);↵ | |
25 | }↵ | 25 | }↵ | |
26 | break; | 26 |
| |
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.2 |
Clones location | Clones are in the same method |
Number of node comparisons | 92 |
Number of mapped statements | 16 |
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) | 27.9 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 | case 0: |
| 37 | case 2: | |||||||||||||
9 | headers = new String[] {"Subject", "Date", "From", "To", "Cc"}; |
| 38 | headers = new String[] {"From"}; | |||||||||||||
10 | header = folder.getHeaderFields(uid, headers); | 39 | header = folder.getHeaderFields(uid, headers); | ||||||||||||||
11 | for (int i = 0; i < headers.length; i++) | 40 | for (int i = 0; i < headers.length; i++) | ||||||||||||||
12 | String key = headers[i]; | 41 | String key = headers[i]; | ||||||||||||||
13 | JComponent[] value = transformHeaderField(header, key); | 42 | JComponent[] value = transformHeaderField(header, key); | ||||||||||||||
14 | JButton trailingItem = new JButton("more..."); | 43 | JButton trailingItem = new JButton("more..."); | ||||||||||||||
15 | trailingItem = createLinkButton(trailingItem); | 44 | trailingItem = createLinkButton(trailingItem); | ||||||||||||||
16 | trailingItem.addActionListener(new ActionListener() {...}); | 45 | trailingItem.addActionListener(new ActionListener() {...}); | ||||||||||||||
17 | DynamicItemListPanel p = new DynamicItemListPanel(2, trailingItem, true); | 46 | DynamicItemListPanel p = new DynamicItemListPanel(2, trailingItem, true); | ||||||||||||||
18 | p.setOpaque(false); | 47 | p.setOpaque(false); | ||||||||||||||
19 | for (int j = 0; j < value.length; j++) | 48 | for (int j = 0; j < value.length; j++) | ||||||||||||||
20 | p.addItem(value[j]); | 49 | p.addItem(value[j]); | ||||||||||||||
21 | if (value.length > 0) | 50 | if (value.length > 0) | ||||||||||||||
22 | map.put(key, p); | 51 | map.put(key, p); | ||||||||||||||
23 | break; |
| 52 | break; |
Row | Violation |
---|---|
1 | Switch case 0: without corresponding switch |
2 | Switch case 2: without corresponding switch |
3 | Statement break; without innermost loop |
4 | Statement break; without innermost loop |