ICalendarMediator m = (ICalendarMediator) getFrameMediator(); ICalendarListView list = m.getListView(); // get selected calendar id ICalendarItem calendar = list.getSelected(); if (calendar == null) { JOptionPane.showMessageDialog(FrameManager.getInstance() .getActiveFrame(), "No calendar for import selected."); return; } JFileChooser fc = new JFileChooser(); fc.setMultiSelectionEnabled(true); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); fc.setFileHidingEnabled(false); if (fc.showOpenDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) { File[] sourceFiles = fc.getSelectedFiles(); if (sourceFiles.length >= 1) { ICalendarStore store = CalendarStoreFactory.getInstance() .getLocaleStore(); Command command = new ImportCalendarCommand( new CalendarCommandReference(store, calendar), sourceFiles); CommandProcessor.getInstance().addOp(command); } }
ICalendarMediator m = (ICalendarMediator) getFrameMediator(); ICalendarView c = m.getCalendarView(); IActivity activity = c.getSelectedActivity(); String id = (String) activity.getId(); if (id == null) { JOptionPane .showMessageDialog(FrameManager.getInstance() .getActiveFrame(), "No event for export selected."); return; } JFileChooser fc = new JFileChooser(); fc.setMultiSelectionEnabled(false); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); fc.setFileHidingEnabled(false); if (fc.showSaveDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) { File destFile = fc.getSelectedFile(); ICalendarStore store = CalendarStoreFactory.getInstance() .getLocaleStore(); Command command = new SaveEventToFileCommand( new CalendarCommandReference(store, activity), destFile); CommandProcessor.getInstance().addOp(command); }
Clone fragments detected by clone detection tool
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
		}
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.5
Clones locationClones are in different classes having the same super class
Number of node comparisons2