class CopyActivityMenu extends IMenu implements IActivitySelectionChangedListener { /** * serialVersionUID */ private static final long serialVersionUID = 7014530206628904351L; private Hashtable<String, JMenuItem> table = new Hashtable<String, JMenuItem>(); /** * CopyActivityMenu parameterized constructor * @param controller */ public CopyActivityMenu(IFrameMediator controller) { super(controller, "Copy", "CopyActivity"); ICalendarList list = Config.getInstance().getCalendarList(); Enumeration<ICalendarItem> e = list.getElements(); while (e.hasMoreElements()) { final ICalendarItem calendarItem = e.nextElement(); JMenuItem item = new JMenuItem(calendarItem.getId()); table.put(calendarItem.getId(), item); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ICalendarMediator m = (ICalendarMediator) getFrameMediator(); IActivity activity = m.getCalendarView() .getSelectedActivity(); // copy activity ICalendarStore store = CalendarStoreFactory.getInstance() .getLocaleStore(); Command command = new CopyEventCommand( new CalendarCommandReference(store, calendarItem, activity)); CommandProcessor.getInstance().addOp(command); } }); add(item); } ICalendarMediator m = (ICalendarMediator) getFrameMediator(); m.getCalendarView().addSelectionChangedListener(this); } /* (non-Javadoc) * @see org.columba.calendar.ui.calendar.api.IActivitySelectionChangedListener#selectionChanged(org.columba.calendar.ui.calendar.api.ActivitySelectionChangedEvent) */ public void selectionChanged(ActivitySelectionChangedEvent event) { if (event.getSelection().length == 0) setEnabled(false); else { setEnabled(true); // enable all menuitems Enumeration<JMenuItem> e = table.elements(); while (e.hasMoreElements()) { JMenuItem m = e.nextElement(); m.setEnabled(true); } // retrieve selected activity IActivity activity = event.getSelection()[0]; // activity belongs to calendar id ? String calendarId = activity.getCalendarId(); // disable this calendar's id JMenuItem menuItem = table.get(calendarId); menuItem.setEnabled(false); } } }
class MoveActivityMenu extends IMenu implements IActivitySelectionChangedListener { private Hashtable<String, JMenuItem> table = new Hashtable<String, JMenuItem>(); public MoveActivityMenu(IFrameMediator controller) { super(controller, "Move", "MoveActivity"); ICalendarList list = Config.getInstance().getCalendarList(); Enumeration<ICalendarItem> e = list.getElements(); while (e.hasMoreElements()) { final ICalendarItem calendarItem = e.nextElement(); JMenuItem item = new JMenuItem(calendarItem.getId()); table.put(calendarItem.getId(), item); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { /** * move activity */ ICalendarMediator m = (ICalendarMediator) getFrameMediator(); IActivity activity = m.getCalendarView() .getSelectedActivity(); ICalendarStore store = CalendarStoreFactory.getInstance() .getLocaleStore(); Command command = new MoveEventCommand( new CalendarCommandReference(store, calendarItem, activity)); CommandProcessor.getInstance().addOp(command); } }); add(item); } ICalendarMediator m = (ICalendarMediator) getFrameMediator(); m.getCalendarView().addSelectionChangedListener(this); } public void selectionChanged(ActivitySelectionChangedEvent event) { if (event.getSelection().length == 0) setEnabled(false); else { setEnabled(true); // enable all menuitems Enumeration<JMenuItem> e = table.elements(); while (e.hasMoreElements()) { JMenuItem m = e.nextElement(); m.setEnabled(true); } // retrieve selected activity IActivity activity = event.getSelection()[0]; // activity belongs to calendar id ? String calendarId = activity.getCalendarId(); // disable this calendar's id JMenuItem menuItem = table.get(calendarId); menuItem.setEnabled(false); } } }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/calendar/src/main/java/org/columba/calendar/ui/action/CopyActivityMenu.java File path: /columba-1.4-src/calendar/src/main/java/org/columba/calendar/ui/action/MoveActivityMenu.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
class CopyActivityMenu extends IMenu implements
1
class MoveActivityMenu extends IMenu implements
2
		IActivitySelectionChangedListener {
2
		IActivitySelectionChangedListener {
3
	/**
4
	 * serialVersionUID
5
	 */
6
	private static final long serialVersionUID = 7014530206628904351L;
7
	private Hashtable<String, JMenuItem> table = new Hashtable<String, JMenuItem>();
3
	private Hashtable<String, JMenuItem> table = new Hashtable<String, JMenuItem>();
8
	/**
9
	 * CopyActivityMenu parameterized constructor
10
	 * @param controller
11
	 */
12
	public CopyActivityMenu(IFrameMediator controller) {
4
	public MoveActivityMenu(IFrameMediator controller) {
13
		super(controller, "Copy", "CopyActivity");
5
		super(controller, "Move", "MoveActivity");
14
		ICalendarList list = Config.getInstance().getCalendarList();
6
		ICalendarList list = Config.getInstance().getCalendarList();
15
		Enumeration<ICalendarItem> e = list.getElements();
7
		Enumeration<ICalendarItem> e = list.getElements();
16
		while (e.hasMoreElements()) {
8
		while (e.hasMoreElements()) {
17
			final ICalendarItem calendarItem = e.nextElement();
9
			final ICalendarItem calendarItem = e.nextElement();
18
			JMenuItem item = new JMenuItem(calendarItem.getId());
10
			JMenuItem item = new JMenuItem(calendarItem.getId());
19
			table.put(calendarItem.getId(), item);
11
			table.put(calendarItem.getId(), item);
20
			item.addActionListener(new ActionListener() {
12
			item.addActionListener(new ActionListener() {
21
				public void actionPerformed(ActionEvent e) {
13
				public void actionPerformed(ActionEvent e) {
14
					/**
15
					 * move activity
16
					 */
22
					ICalendarMediator m = (ICalendarMediator) getFrameMediator();
17
					ICalendarMediator m = (ICalendarMediator) getFrameMediator();
23
					IActivity activity = m.getCalendarView()
18
					IActivity activity = m.getCalendarView()
24
							.getSelectedActivity();
19
							.getSelectedActivity();
25
					// copy activity
26
					ICalendarStore store = CalendarStoreFactory.getInstance()
20
					ICalendarStore store = CalendarStoreFactory.getInstance()
27
							.getLocaleStore();
21
							.getLocaleStore();
28
					Command command = new CopyEventCommand(
22
					Command command = new MoveEventCommand(
29
							new CalendarCommandReference(store, calendarItem,
23
							new CalendarCommandReference(store, calendarItem,
30
									activity));
24
									activity));
31
					CommandProcessor.getInstance().addOp(command);
25
					CommandProcessor.getInstance().addOp(command);
32
				}
26
				}
33
			});
27
			});
34
			add(item);
28
			add(item);
35
		}
29
		}
36
		ICalendarMediator m = (ICalendarMediator) getFrameMediator();
30
		ICalendarMediator m = (ICalendarMediator) getFrameMediator();
37
		m.getCalendarView().addSelectionChangedListener(this);
31
		m.getCalendarView().addSelectionChangedListener(this);
38
	}
32
	}
39
	/* (non-Javadoc)
40
	 * @see org.columba.calendar.ui.calendar.api.IActivitySelectionChangedListener#selectionChanged(org.columba.calendar.ui.calendar.api.ActivitySelectionChangedEvent)
41
	 */
42
	public void selectionChanged(ActivitySelectionChangedEvent event) {
33
	public void selectionChanged(ActivitySelectionChangedEvent event) {
43
		if (event.getSelection().length == 0)
34
		if (event.getSelection().length == 0)
44
			setEnabled(false);
35
			setEnabled(false);
45
		else {
36
		else {
46
			setEnabled(true);
37
			setEnabled(true);
47
			// enable all menuitems
38
			// enable all menuitems
48
			Enumeration<JMenuItem> e = table.elements();
39
			Enumeration<JMenuItem> e = table.elements();
49
			while (e.hasMoreElements()) {
40
			while (e.hasMoreElements()) {
50
				JMenuItem m = e.nextElement();
41
				JMenuItem m = e.nextElement();
51
				m.setEnabled(true);
42
				m.setEnabled(true);
52
			}
43
			}
53
			// retrieve selected activity
44
			// retrieve selected activity
54
			IActivity activity = event.getSelection()[0];
45
			IActivity activity = event.getSelection()[0];
55
			// activity belongs to calendar id ?
46
			// activity belongs to calendar id ?
56
			String calendarId = activity.getCalendarId();
47
			String calendarId = activity.getCalendarId();
57
			// disable this calendar's id
48
			// disable this calendar's id
58
			JMenuItem menuItem = table.get(calendarId);
49
			JMenuItem menuItem = table.get(calendarId);
59
			menuItem.setEnabled(false);
50
			menuItem.setEnabled(false);
60
		}
51
		}
61
	}
52
	}
62
}
53
}
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.0
Clones location
Number of node comparisons0