File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/folder/command/SaveMessageSourceAsCommand.java | File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/tree/action/RemoveFolderAction.java | |||
Method name: void execute(IWorkerStatusController)
|
Method name: void actionPerformed(ActionEvent)
|
|||
Number of AST nodes: 5 | Number of AST nodes: 6 | |||
1 | if (f.exists()) {↵ | 1 | if (↵ | |
2 | // file exists, user needs to confirm overwrite↵ | |||
3 | int confirm = ↵ | 2 | !folder.isLeaf()) {↵ | |
3 | // warn user↵ | |||
4 | JOptionPane.showConfirmDialog(FrameManager.getInstance()↵ | 4 | JOptionPane.showMessageDialog(FrameManager.getInstance()↵ | |
5 | .getActiveFrame(),↵ | 5 | .getActiveFrame(),↵ | |
6 | ↵ | 6 | "Your can only remove leaf folders!");↵ | |
7 | return;↵ | |||
8 | } else {↵ | |||
9 | // warn user in any other cases↵ | |||
7 | MailResourceLoader↵ | 10 | int n = JOptionPane.showConfirmDialog(null, MailResourceLoader↵ | |
8 | .getString("dialog", "saveas",↵ | 11 | .getString("↵ | |
9 | "overwrite_existing_file"),↵ | |||
10 | ↵ | 12 | tree", "tree", "folder_warning"),↵ | |
11 | MailResourceLoader.getString("dialog", "saveas",↵ | 13 | MailResourceLoader.getString("↵ | |
12 | "file_exists"), JOptionPane.YES_NO_OPTION,↵ | |||
13 | JOptionPane.QUESTION_MESSAGE);↵ | |||
14 | if (confirm == JOptionPane.NO_OPTION) {↵ | |||
15 | j--;↵ | |||
16 | continue;↵ | |||
17 | }↵ | |||
18 | ↵ | 14 | tree", "tree",↵ | |
15 | "folder_warning_title"), JOptionPane.YES_NO_OPTION);↵ | |||
16 | if (n == JOptionPane.NO_OPTION) {↵ | |||
17 | return;↵ | |||
18 | }↵ | |||
19 | } | 19 | } | |
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) | 0.2 |
Clones location | Clones are in different classes |
Number of node comparisons | 7 |
Number of mapped statements | 2 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 1 |
Time elapsed for statement mapping (ms) | 18.3 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
19 | int confirm = JOptionPane.showConfirmDialog(FrameManager.getInstance().getActiveFrame(), MailResourceLoader.getString("dialog", "saveas", "overwrite_existing_file"), MailResourceLoader.getString("dialog", "saveas", "file_exists"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); |
| 6 | int n = JOptionPane.showConfirmDialog(null, MailResourceLoader.getString("tree", "tree", "folder_warning"), MailResourceLoader.getString("tree", "tree", "folder_warning_title"), JOptionPane.YES_NO_OPTION); | |||||||||||||||
20 | if (confirm == JOptionPane.NO_OPTION) |
| 7 | if (n == JOptionPane.NO_OPTION) | |||||||||||||||
|
| 8 | return; | ||||||||||||||||
21 | j--; | | |||||||||||||||||
22 | continue; |
| |
Row | Violation |
---|---|
1 | Expression JOptionPane.showConfirmDialog(FrameManager.getInstance().getActiveFrame(),MailResourceLoader.getString("dialog","saveas","overwrite_existing_file"),MailResourceLoader.getString("dialog","saveas","file_exists"),JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression JOptionPane.showConfirmDialog(null,MailResourceLoader.getString("tree","tree","folder_warning"),MailResourceLoader.getString("tree","tree","folder_warning_title"),JOptionPane.YES_NO_OPTION) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Unmatched return; |
4 | Unmatched continue; |
5 | The refactoring of the clones is infeasible, because classes org.columba.mail.folder.command.SaveMessageSourceAsCommand and org.columba.mail.gui.tree.action.RemoveFolderAction do not have a common superclass |