class NextMessageAction extends AbstractColumbaAction implements ISelectionListener { public NextMessageAction(IFrameMediator frameMediator) { super(frameMediator, MailResourceLoader.getString("menu", "mainframe", "menu_view_nextmessage")); // tooltip text putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", "mainframe", "menu_view_nextmessage_tooltip").replaceAll("&", "")); // icons putValue(LARGE_ICON, ImageLoader.getIcon(IconKeys.GO_NEXT)); putValue(SMALL_ICON, ImageLoader.getSmallIcon(IconKeys.GO_NEXT)); // shortcut key //putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F, 0)); // disable toolbar text setShowToolBarText(false); //setEnabled(false); // uncomment to enable action /* * ((MailFrameMediator) * frameMediator).registerTableSelectionListener(this); */ } /** * * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent evt) { IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) .getTableSelection(); ITableController table = ((TableViewOwner) getFrameMediator()) .getTableController(); if ( table == null ) return; if (r == null) return; IMessageNode[] nodes = table.getSelectedNodes(); if (nodes.length == 0) return; MessageNode node = (MessageNode) nodes[0]; MessageNode nextNode = (MessageNode) node.getNextNode(); if (nextNode == null) return; // necessary for the message-frame only r.setUids(new Object[] { nextNode.getUid() }); ((MailFrameMediator) getFrameMediator()).setTableSelection(r); CommandProcessor.getInstance().addOp(new ViewMessageCommand( getFrameMediator(), r)); // select message in message list table.setSelected(new Object[] { nextNode.getUid() }); } /** * * @see org.columba.core.gui.util.ISelectionListener#connectionChanged(org.columba.core.gui.util.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent e) { setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); } }
class PreviousMessageAction extends AbstractColumbaAction implements ISelectionListener { public PreviousMessageAction(IFrameMediator frameMediator) { super(frameMediator, MailResourceLoader.getString("menu", "mainframe", "menu_view_prevmessage")); // tooltip text putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", "mainframe", "menu_view_prevmessage_tooltip").replaceAll("&", "")); // icons putValue(LARGE_ICON, ImageLoader.getIcon(IconKeys.GO_PREVIOUS)); putValue(SMALL_ICON, ImageLoader.getSmallIcon(IconKeys.GO_PREVIOUS)); // shortcut key //putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke("B")); // disable toolbar text setShowToolBarText(false); //setEnabled(false); // uncomment to enable action /* * ((MailFrameMediator) * frameMediator).registerTableSelectionListener(this); */ } /** * * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent evt) { IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator()) .getTableSelection(); ITableController table = ((TableViewOwner) getFrameMediator()) .getTableController(); if ( table == null ) return; if (r == null) return; IMessageNode[] nodes = table.getSelectedNodes(); if (nodes.length == 0) return; MessageNode node = (MessageNode) nodes[0]; MessageNode previousNode = (MessageNode) node.getPreviousNode(); if (previousNode == null) return; // necessary for the message-frame only r.setUids(new Object[] { previousNode.getUid() }); ((MailFrameMediator) getFrameMediator()).setTableSelection(r); CommandProcessor.getInstance().addOp(new ViewMessageCommand( getFrameMediator(), r)); // select message in message list table.setSelected(new Object[] { previousNode.getUid() }); } /** * * @see org.columba.core.gui.util.ISelectionListener#connectionChanged(org.columba.core.gui.util.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent e) { setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0); } }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/table/action/NextMessageAction.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/table/action/PreviousMessageAction.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
class NextMessageAction extends AbstractColumbaAction implements
1
class PreviousMessageAction extends AbstractColumbaAction implements
2
		ISelectionListener {
2
		ISelectionListener {
3
	public NextMessageAction(IFrameMediator frameMediator) {
3
	public PreviousMessageAction(IFrameMediator frameMediator) {
4
		super(frameMediator, MailResourceLoader.getString("menu", "mainframe",
4
		super(frameMediator, MailResourceLoader.getString("menu", "mainframe",
5
				"menu_view_nextmessage"));
5
				"menu_view_prevmessage"));
6
		// tooltip text
6
		// tooltip text
7
		putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu",
7
		putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu",
8
				"mainframe", "menu_view_nextmessage_tooltip").replaceAll("&",
8
				"mainframe", "menu_view_prevmessage_tooltip").replaceAll("&",
9
				""));
9
				""));
10
		// icons
10
		// icons
11
		putValue(LARGE_ICON, ImageLoader.getIcon(IconKeys.GO_NEXT));
11
		putValue(LARGE_ICON, ImageLoader.getIcon(IconKeys.GO_PREVIOUS));
12
		putValue(SMALL_ICON, ImageLoader.getSmallIcon(IconKeys.GO_NEXT));
12
		putValue(SMALL_ICON, ImageLoader.getSmallIcon(IconKeys.GO_PREVIOUS));
13
		// shortcut key
13
		// shortcut key
14
		//putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F, 0));
14
		//putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke("B"));
15
		// disable toolbar text
15
		// disable toolbar text
16
		setShowToolBarText(false);
16
		setShowToolBarText(false);
17
		//setEnabled(false);
17
		//setEnabled(false);
18
		// uncomment to enable action
18
		// uncomment to enable action
19
		/*
19
		/*
20
		 * ((MailFrameMediator)
20
		 * ((MailFrameMediator)
21
		 * frameMediator).registerTableSelectionListener(this);
21
		 * frameMediator).registerTableSelectionListener(this);
22
		 */
22
		 */
23
	}
23
	}
24
	/**
24
	/**
25
	 * 
25
	 * 
26
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
26
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
27
	 */
27
	 */
28
	public void actionPerformed(ActionEvent evt) {
28
	public void actionPerformed(ActionEvent evt) {
29
		IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())
29
		IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())
30
				.getTableSelection();
30
				.getTableSelection();
31
		ITableController table = ((TableViewOwner) getFrameMediator())
31
		ITableController table = ((TableViewOwner) getFrameMediator())
32
				.getTableController();
32
				.getTableController();
33
		if ( table == null ) return;
33
		if ( table == null ) return;
34
		
34
		
35
		if (r == null)
35
		if (r == null)
36
			return;
36
			return;
37
		IMessageNode[] nodes = table.getSelectedNodes();
37
		IMessageNode[] nodes = table.getSelectedNodes();
38
		if (nodes.length == 0)
38
		if (nodes.length == 0)
39
			return;
39
			return;
40
		MessageNode node = (MessageNode) nodes[0];
40
		MessageNode node = (MessageNode) nodes[0];
41
		MessageNode nextNode = (MessageNode) node.getNextNode();
41
		MessageNode previousNode = (MessageNode) node.getPreviousNode();
42
		if (nextNode == null)
42
		if (previousNode == null)
43
			return;
43
			return;
44
		// necessary for the message-frame only
44
		//		 necessary for the message-frame only
45
		r.setUids(new Object[] { nextNode.getUid() });
45
		r.setUids(new Object[] { previousNode.getUid() });
46
		((MailFrameMediator) getFrameMediator()).setTableSelection(r);
46
		((MailFrameMediator) getFrameMediator()).setTableSelection(r);
47
		CommandProcessor.getInstance().addOp(new ViewMessageCommand(
47
		CommandProcessor.getInstance().addOp(new ViewMessageCommand(
48
				getFrameMediator(), r));
48
				getFrameMediator(), r));
49
		
50
		// select message in message list
49
		//		 select message in message list
51
		table.setSelected(new Object[] { nextNode.getUid() });
50
		table.setSelected(new Object[] { previousNode.getUid() });
52
	}
51
	}
53
	/**
52
	/**
54
	 * 
53
	 * 
55
	 * @see org.columba.core.gui.util.ISelectionListener#connectionChanged(org.columba.core.gui.util.SelectionChangedEvent)
54
	 * @see org.columba.core.gui.util.ISelectionListener#connectionChanged(org.columba.core.gui.util.SelectionChangedEvent)
56
	 */
55
	 */
57
	public void selectionChanged(SelectionChangedEvent e) {
56
	public void selectionChanged(SelectionChangedEvent e) {
58
		setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0);
57
		setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0);
59
	}
58
	}
60
}
59
}
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