File path: /columba-1.4-src/calendar/src/main/java/org/columba/calendar/ui/action/ImportCalendarAction.java | File path: /columba-1.4-src/calendar/src/main/java/org/columba/calendar/ui/action/SaveAsAction.java | |||
Method name: void actionPerformed(ActionEvent)
|
Method name: void actionPerformed(ActionEvent)
|
|||
Number of AST nodes: 16 | Number of AST nodes: 16 | |||
1 | ICalendarMediator m = (ICalendarMediator) getFrameMediator();↵ | 1 | ICalendarMediator m = (ICalendarMediator) getFrameMediator();↵ | |
2 | ICalendarListView list = m.getListView();↵ | 2 | ICalendarView c = m.getCalendarView();↵ | |
3 | // get selected calendar id↵ | 3 | IActivity activity = c.getSelected↵ | |
4 | ICalendarItem calendar = list.getSelecte↵ | 4 | Activity();↵ | |
5 | d();↵ | 5 | String id = (String) activity.getId();↵ | |
6 | if (calendar == null) {↵ | 6 | if (id == null) {↵ | |
7 | JOptionPane↵ | 7 | JOptionPane↵ | |
8 | .showMessageDialog(FrameManager.getInstance()↵ | 8 | .showMessageDialog(FrameManager.getInstance()↵ | |
9 | .getActiveFrame(),↵ | 9 | .getActiveFrame(),↵ | |
10 | "No calendar for import selected.");↵ | 10 | "No event for export selected.");↵ | |
11 | return;↵ | 11 | return;↵ | |
12 | }↵ | 12 | }↵ | |
13 | JFileChooser fc = new JFileChooser();↵ | 13 | JFileChooser fc = new JFileChooser();↵ | |
14 | fc.setMultiSelectionEnabled(true);↵ | 14 | fc.setMultiSelectionEnabled(false);↵ | |
15 | fc.setFileSelectionMode(JFileChooser.FILES_ONLY);↵ | 15 | fc.setFileSelectionMode(JFileChooser.FILES_ONLY);↵ | |
16 | fc.setFileHidingEnabled(false);↵ | 16 | fc.setFileHidingEnabled(false);↵ | |
17 | if (fc.showOpenDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) {↵ | 17 | if (fc.showSaveDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) {↵ | |
18 | File[] sourceFiles = fc.getSelectedFiles();↵ | 18 | File destFile = fc.getSelectedFile();↵ | |
19 | if (sourceFiles.length >= 1) {↵ | |||
20 | ICalendarStore store = CalendarStoreFactory.getInstance()↵ | 19 | ICalendarStore store = CalendarStoreFactory.getInstance()↵ | |
21 | .getLocaleStore();↵ | 20 | .getLocaleStore();↵ | |
22 | Command command = new ImportCalendarCommand(↵ | 21 | Command command = new SaveEventToFileCommand(↵ | |
23 | new CalendarCommandReference(store, calendar), sourceFiles);↵ | 22 | new CalendarCommandReference(store, activity), destFile);↵ | |
24 | CommandProcessor.getInstance().addOp(command);↵ | 23 | CommandProcessor.getInstance().addOp(command);↵ | |
25 | }↵ | |||
26 | } | 24 |
| |
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.4 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 29 |
Number of mapped statements | 4 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 9 |
Time elapsed for statement mapping (ms) | 22.0 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ICalendarMediator m = (ICalendarMediator)getFrameMediator(); | ||||||||||||||||||||||||||||
| 2 | ICalendarView c = m.getCalendarView(); | ||||||||||||||||||||||||||||
| 3 | IActivity activity = c.getSelectedActivity(); | ||||||||||||||||||||||||||||
| 4 | String id = (String)activity.getId(); | ||||||||||||||||||||||||||||
| 8 | JFileChooser fc = new JFileChooser(); | ||||||||||||||||||||||||||||
|
| 9 | fc.setMultiSelectionEnabled(false); | |||||||||||||||||||||||||||
|
| 10 | fc.setFileSelectionMode(JFileChooser.FILES_ONLY); | |||||||||||||||||||||||||||
|
| 11 | fc.setFileHidingEnabled(false); | |||||||||||||||||||||||||||
12 | File[] sourceFiles = fc.getSelectedFiles(); | | ||||||||||||||||||||||||||||
13 | if (sourceFiles.length >= 1) |
| 12 | if (fc.showSaveDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) | ||||||||||||||||||||||||||
|
| 13 | File destFile = fc.getSelectedFile(); | |||||||||||||||||||||||||||
14 | ICalendarStore store = CalendarStoreFactory.getInstance().getLocaleStore(); | 14 | ICalendarStore store = CalendarStoreFactory.getInstance().getLocaleStore(); | |||||||||||||||||||||||||||
15 | Command command = new ImportCalendarCommand(new CalendarCommandReference(store, calendar), sourceFiles); |
| 15 | Command command = new SaveEventToFileCommand(new CalendarCommandReference(store, activity), destFile); | ||||||||||||||||||||||||||
16 | CommandProcessor.getInstance().addOp(command); | 16 | CommandProcessor.getInstance().addOp(command); |
Row | Violation |
---|---|
1 | Unmatched statement fc.setMultiSelectionEnabled(false); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Unmatched statement fc.setFileSelectionMode(JFileChooser.FILES_ONLY); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
3 | Unmatched statement fc.setFileHidingEnabled(false); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
4 | Expression sourceFiles.length cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression fc.showSaveDialog(frameMediator.getContainer().getFrame()) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression sourceFiles.length >= 1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Expression fc.showSaveDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION cannot be parameterized, because it has dependencies to/from statements that will be extracted |
8 | Unmatched statement File destFile=fc.getSelectedFile(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
9 | Expression new ImportCalendarCommand(new CalendarCommandReference(store,calendar),sourceFiles) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Expression new SaveEventToFileCommand(new CalendarCommandReference(store,activity),destFile) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Type org.columba.calendar.base.api.ICalendarItem of variable calendar does not match with type org.columba.calendar.base.api.IActivity of variable activity |
12 | Type java.io.File[] of variable sourceFiles does not match with type java.io.File of variable destFile |