File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/table/action/NextUnreadMessageAction.java | File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/table/action/PreviousUnreadMessageAction.java | |||
Method name: void actionPerformed(ActionEvent)
|
Method name: void actionPerformed(ActionEvent)
|
|||
Number of AST nodes: 22 | Number of AST nodes: 22 | |||
1 | IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())↵ | 1 | IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())↵ | |
2 | .getTableSelection();↵ | 2 | .getTableSelection();↵ | |
3 | ITableController table = ((TableViewOwner) getFrameMediator())↵ | 3 | ITableController table = ((TableViewOwner) getFrameMediator())↵ | |
4 | .getTableController();↵ | 4 | .getTableController();↵ | |
5 | if ( table == null ) return;↵ | 5 | if ( table == null ) return;↵ | |
6 | ↵ | |||
6 | if (r == null)↵ | 7 | if (r == null)↵ | |
7 | return;↵ | 8 | return;↵ | |
8 | IMessageNode[] nodes = table.getSelectedNodes();↵ | 9 | IMessageNode[] nodes = table.getSelectedNodes();↵ | |
9 | if (nodes.length == 0)↵ | 10 | if (nodes.length == 0)↵ | |
10 | return;↵ | 11 | return;↵ | |
11 | MessageNode node = (MessageNode) nodes[0];↵ | 12 | MessageNode node = (MessageNode) nodes[0];↵ | |
12 | MessageNode nextNode = node;↵ | 13 | MessageNode previousNode = node;↵ | |
13 | boolean seen = true;↵ | 14 | boolean seen = true;↵ | |
14 | while (seen) {↵ | 15 | while (seen) {↵ | |
15 | nextNode = (MessageNode) nextNode.getNextNode();↵ | 16 | previousNode = (MessageNode) previousNode.getPreviousNode();↵ | |
16 | if (nextNode == null)↵ | 17 | if (previousNode == null)↵ | |
17 | return;↵ | 18 | return;↵ | |
18 | IColumbaHeader h = nextNode.getHeader();↵ | 19 | IColumbaHeader h = previousNode.getHeader();↵ | |
19 | seen = h.getFlags().getSeen();↵ | 20 | seen = h.getFlags().getSeen();↵ | |
20 | }↵ | 21 | }↵ | |
21 | // necessary for the message-frame only↵ | 22 | // necessary for the message-frame only↵ | |
22 | r.setUids(new Object[] { nextNode.getUid() });↵ | 23 | r.setUids(new Object[] { previousNode.getUid() });↵ | |
23 | ((MailFrameMediator) getFrameMediator()).setTableSelection(r);↵ | 24 | ((MailFrameMediator) getFrameMediator()).setTableSelection(r);↵ | |
24 | CommandProcessor.getInstance().addOp(new ViewMessageCommand(↵ | 25 | CommandProcessor.getInstance().addOp(new ViewMessageCommand(↵ | |
25 | getFrameMediator(), r));↵ | 26 | getFrameMediator(), r));↵ | |
26 | // select message in message list↵ | 27 | // select message in message list↵ | |
27 | table.setSelected(new Object[] { nextNode.getUid() }); | 28 | table.setSelected(new Object[] { previousNode.getUid() }); | |
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) | 0.7 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 141 |
Number of mapped statements | 22 |
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) | 12.9 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | IMailFolderCommandReference r = ((MailFrameMediator)getFrameMediator()).getTableSelection(); | 1 | IMailFolderCommandReference r = ((MailFrameMediator)getFrameMediator()).getTableSelection(); | |||||||||||||||||||
2 | ITableController table = ((TableViewOwner)getFrameMediator()).getTableController(); | 2 | ITableController table = ((TableViewOwner)getFrameMediator()).getTableController(); | |||||||||||||||||||
3 | if (table == null) | 3 | if (table == null) | |||||||||||||||||||
4 | return; | 4 | return; | |||||||||||||||||||
5 | if (r == null) | 5 | if (r == null) | |||||||||||||||||||
6 | return; | 6 | return; | |||||||||||||||||||
7 | IMessageNode[] nodes = table.getSelectedNodes(); | 7 | IMessageNode[] nodes = table.getSelectedNodes(); | |||||||||||||||||||
8 | if (nodes.length == 0) | 8 | if (nodes.length == 0) | |||||||||||||||||||
9 | return; | 9 | return; | |||||||||||||||||||
10 | MessageNode node = (MessageNode)nodes[0]; | 10 | MessageNode node = (MessageNode)nodes[0]; | |||||||||||||||||||
11 | MessageNode nextNode = node; |
| 11 | MessageNode previousNode = node; | ||||||||||||||||||
12 | boolean seen = true; | 12 | boolean seen = true; | |||||||||||||||||||
13 | while (seen) | 13 | while (seen) | |||||||||||||||||||
14 | nextNode = (MessageNode)nextNode.getNextNode(); |
| 14 | previousNode = (MessageNode)previousNode.getPreviousNode(); | ||||||||||||||||||
15 | if (nextNode == null) |
| 15 | if (previousNode == null) | ||||||||||||||||||
16 | return; | 16 | return; | |||||||||||||||||||
17 | IColumbaHeader h = nextNode.getHeader(); |
| 17 | IColumbaHeader h = previousNode.getHeader(); | ||||||||||||||||||
18 | seen = h.getFlags().getSeen(); | 18 | seen = h.getFlags().getSeen(); | |||||||||||||||||||
19 | r.setUids(new Object[] {nextNode.getUid()}); |
| 19 | r.setUids(new Object[] {previousNode.getUid()}); | ||||||||||||||||||
20 | ((MailFrameMediator)getFrameMediator()).setTableSelection(r); | 20 | ((MailFrameMediator)getFrameMediator()).setTableSelection(r); | |||||||||||||||||||
21 | CommandProcessor.getInstance().addOp(new ViewMessageCommand(getFrameMediator(), r)); | 21 | CommandProcessor.getInstance().addOp(new ViewMessageCommand(getFrameMediator(), r)); | |||||||||||||||||||
22 | table.setSelected(new Object[] {nextNode.getUid()}); |
| 22 | table.setSelected(new Object[] {previousNode.getUid()}); |
Row | Violation |
---|---|
1 | Expression nextNode.getNextNode() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression previousNode.getPreviousNode() cannot be parameterized, because it has dependencies to/from statements that will be extracted |