File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/folder/imap/IMAPFolder.java | File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/folderoptions/ColumnOptionsPlugin.java | |||
Method name: void setFlags(Flags[])
|
Method name: void loadOptionsFromXml(IMailbox)
|
|||
Number of AST nodes: 8 | Number of AST nodes: 10 | |||
1 | for (int i = 0; i < flagsList.length; i++) {↵ | 1 | for (int i = 0; i < ↵ | |
2 | IMAPFlags flags = (IMAPFlags) flagsList[i];↵ | |||
3 | Integer uid = (Integer) flags.getUid();↵ | |||
4 | IColumbaHeader header = getHeaderList().get(uid);↵ | |||
5 | Flags localFlags = header.getFlags(↵ | 2 | columns.count(); i++) {↵ | |
3 | XmlElement column = columns.getElement(i);↵ | |||
4 | IDefaultItem columnItem = new DefaultItem(column);↵ | |||
5 | String name = columnItem.get("name");↵ | |||
6 | int size = columnItem.getInteger("width");↵ | |||
6 | );↵ | 7 | //int position= columnItem.getInteger("position");↵ | |
7 | localFlags.setFlags(flags.getFlags());↵ | 8 | ↵ | |
8 | // Junk flag↵ | |||
9 | header.getAttributes().put("columba.spam",↵ | |||
10 | Boolean.valueOf(flags.get(IMAPFlags.JUNK)));↵ | |||
11 | getHeaderList().update(uid, header↵ | 9 | // add column to table model↵ | |
10 | tableController.getHeaderTableModel().addColumn(name);↵ | |||
11 | // add column to JTable column model↵ | |||
12 | TableColumn tc = tableController.createTableColumn(name, size);↵ | |||
13 | //tc.setModelIndex(position);↵ | |||
14 | tc.setModelIndex(i);↵ | |||
15 | // resize column width↵ | |||
16 | tc.setPreferredWidth(size);↵ | |||
12 | );↵ | 17 | tableController.addColumn(tc);↵ | |
13 | } | 18 |
| |
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.3 |
Clones location | Clones are in different classes |
Number of node comparisons | 80 |
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 7 |
Number of unmapped statements in the second code fragment | 9 |
Time elapsed for statement mapping (ms) | 12.5 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | for (int i = 0; i < flagsList.length; i++) |
| 4 | for (int i = 0; i < columns.count(); i++) | ||||||||||
2 | IMAPFlags flags = (IMAPFlags)flagsList[i]; |
| | |||||||||||
3 | Integer uid = (Integer)flags.getUid(); |
| | |||||||||||
4 | IColumbaHeader header = getHeaderList().get(uid); |
| | |||||||||||
|
| 5 | XmlElement column = columns.getElement(i); | |||||||||||
5 | Flags localFlags = header.getFlags(); |
| | |||||||||||
|
| 6 | IDefaultItem columnItem = new DefaultItem(column); | |||||||||||
6 | localFlags.setFlags(flags.getFlags()); | | ||||||||||||
|
| 7 | String name = columnItem.get("name"); | |||||||||||
7 | header.getAttributes().put("columba.spam", Boolean.valueOf(flags.get(IMAPFlags.JUNK))); | | ||||||||||||
|
| 8 | int size = columnItem.getInteger("width"); | |||||||||||
8 | getHeaderList().update(uid, header); |
| | |||||||||||
| 9 | tableController.getHeaderTableModel().addColumn(name); | ||||||||||||
|
| 10 | TableColumn tc = tableController.createTableColumn(name, size); | |||||||||||
|
| 11 | tc.setModelIndex(i); | |||||||||||
|
| 12 | tc.setPreferredWidth(size); | |||||||||||
| 13 | tableController.addColumn(tc); |
Row | Violation |
---|---|
1 | Unmatched statement IMAPFlags flags=(IMAPFlags)flagsList[i]; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Unmatched statement Integer uid=(Integer)flags.getUid(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Unmatched statement IColumbaHeader header=getHeaderList().get(uid); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement IColumbaHeader header=getHeaderList().get(uid); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted |
5 | Unmatched statement XmlElement column=columns.getElement(i); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
6 | Unmatched statement Flags localFlags=header.getFlags(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
7 | Unmatched statement IDefaultItem columnItem=new DefaultItem(column); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
8 | Unmatched statement String name=columnItem.get("name"); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
9 | Unmatched statement int size=columnItem.getInteger("width"); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
10 | Unmatched statement getHeaderList().update(uid,header); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
11 | Unmatched statement getHeaderList().update(uid,header); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted |
12 | Unmatched statement TableColumn tc=tableController.createTableColumn(name,size); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
13 | Unmatched statement TableColumn tc=tableController.createTableColumn(name,size); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted |
14 | Unmatched statement tc.setModelIndex(i); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
15 | Unmatched statement tc.setPreferredWidth(size); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
16 | The refactoring of the clones is infeasible, because the number of macthed statements is equal to zero |