File path: /columba-1.4-src/core/src/main/java/org/columba/core/gui/menu/MenuXMLDecoder.java | File path: /columba-1.4-src/mail/src/test/java/org/columba/mail/filter/plugins/FlagsFilterTest.java | |||
Method name: ExtendableMenuBar createMenuBar(InputStream)
|
Method name: void testIsSpam()
|
|||
Number of AST nodes: 6 | Number of AST nodes: 7 | |||
1 | if (menuElement.getName().equals(MenuXMLDecoder.MENU)) {↵ | |||
2 | String menuId = menuElement↵ | |||
3 | .getAttributeValue(MenuXMLDecoder.ID);↵ | |||
4 | String menuName = mediator.getString("menu", "mainframe",↵ | |||
5 | menuId);↵ | |||
6 | ExtendableMenu menu = new ExtendableMenu(menuId, menuName);↵ | |||
7 | parseMenu(menu, menuElement);↵ | |||
8 | menuBar.add(menu);↵ | |||
9 | } | 1 | Object uid = addMessage();↵ | |
2 | ↵ | |||
3 | getSourceFolder().setAttribute(uid, "columba.spam", Boolean.TRUE);↵ | |||
4 | ↵ | |||
5 | // create filter configuration↵ | |||
6 | MailFilterCriteria criteria = MailFilterFactory.createSpamMessages();↵ | |||
7 | ↵ | |||
8 | // create filter↵ | |||
9 | FlagsFilter filter = new FlagsFilter();↵ | |||
10 | // init configuration↵ | |||
11 | filter.setUp(criteria);↵ | |||
12 | // execute filter↵ | |||
13 | boolean result = filter.process(getSourceFolder(), uid);↵ | |||
14 |
| |||
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.0 |
Clones location | Clones are in different classes |
Number of node comparisons | 35 |
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 4 |
Number of unmapped statements in the second code fragment | 6 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Object uid = addMessage(); | ||||||||||||||||||||||||||
| 2 | getSourceFolder().setAttribute(uid, "columba.spam", Boolean.TRUE); | ||||||||||||||||||||||||||
| 3 | MailFilterCriteria criteria = MailFilterFactory.createSpamMessages(); | ||||||||||||||||||||||||||
| 4 | FlagsFilter filter = new FlagsFilter(); | ||||||||||||||||||||||||||
|
| 5 | filter.setUp(criteria); | |||||||||||||||||||||||||
| 6 | boolean result = filter.process(getSourceFolder(), uid); | ||||||||||||||||||||||||||
11 | String menuId = menuElement.getAttributeValue(MenuXMLDecoder.ID); | | ||||||||||||||||||||||||||
12 | String menuName = mediator.getString("menu", "mainframe", menuId); |
| | |||||||||||||||||||||||||
13 | ExtendableMenu menu = new ExtendableMenu(menuId, menuName); |
| | |||||||||||||||||||||||||
14 | parseMenu(menu, menuElement); |
| 7 | assertEquals("filter result", true, result); | ||||||||||||||||||||||||
15 | menuBar.add(menu); |
| |
Row | Violation |
---|---|
1 | Unmatched statement filter.setUp(criteria); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Unmatched statement String menuName=mediator.getString("menu","mainframe",menuId); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Unmatched statement ExtendableMenu menu=new ExtendableMenu(menuId,menuName); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
4 | Expression parseMenu(menu,menuElement) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression assertEquals("filter result",true,result) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression parseMenu(menu,menuElement) is a void method call, and thus it cannot be parameterized |
7 | Expression assertEquals("filter result",true,result) is a void method call, and thus it cannot be parameterized |
8 | Expression parseMenu(menu,menuElement) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
9 | Expression assertEquals("filter result",true,result) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Expression parseMenu(menu,menuElement) is a void method call, and thus it cannot be parameterized |
11 | Expression assertEquals("filter result",true,result) is a void method call, and thus it cannot be parameterized |
12 | Unmatched statement menuBar.add(menu); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
13 | The refactoring of the clones is infeasible, because classes org.columba.core.gui.menu.MenuXMLDecoder and org.columba.mail.filter.plugins.FlagsFilterTest do not have a common superclass |