public class NextUnreadMessageAction extends AbstractColumbaAction implements ISelectionListener { /** * @param frameMediator * @param name * @param longDescription * @param actionCommand * @param small_icon * @param big_icon * @param mnemonic * @param keyStroke */ public NextUnreadMessageAction(IFrameMediator frameMediator) { super(frameMediator, MailResourceLoader.getString("menu", "mainframe", "menu_view_nextunreadmessage")); // tooltip text putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", "mainframe", "menu_view_nextunreadmessage_tooltip").replaceAll( "&", "")); // Shortcut key //putValue(ACCELERATOR_KEY, // KeyStroke.getKeyStroke(KeyEvent.VK_BRACELEFT,0)); //setEnabled(false); // uncomment to enable action /* * ( ( AbstractMailFrameController) 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 = node; boolean seen = true; while (seen) { nextNode = (MessageNode) nextNode.getNextNode(); if (nextNode == null) return; IColumbaHeader h = nextNode.getHeader(); seen = h.getFlags().getSeen(); } // 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);
public class PreviousUnreadMessageAction extends AbstractColumbaAction implements ISelectionListener { public PreviousUnreadMessageAction(IFrameMediator frameMediator) { super(frameMediator, MailResourceLoader.getString("menu", "mainframe", "menu_view_prevunreadmessage")); // tooltip text putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu", "mainframe", "menu_view_prevunreadmessage_tooltip").replaceAll( "&", "")); // shortcut key //putValue(ACCELERATOR_KEY, // KeyStroke.getKeyStroke(KeyEvent.VK_BRACELEFT, 0)); //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 = node; boolean seen = true; while (seen) { previousNode = (MessageNode) previousNode.getPreviousNode(); if (previousNode == null) return; IColumbaHeader h = previousNode.getHeader(); seen = h.getFlags().getSeen(); } // 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/NextUnreadMessageAction.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/table/action/PreviousUnreadMessageAction.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class NextUnreadMessageAction extends AbstractColumbaAction 
1
public class PreviousUnreadMessageAction extends AbstractColumbaAction
2
implements
2
		implements
3
		ISelectionListener {
3
 ISelectionListener {
4
	/**
4
	
5
	 * @param frameMediator
6
	 * @param name
7
	 * @param longDescription
8
	 * @param actionCommand
9
	 * @param small_icon
10
	 * @param big_icon
11
	 * @param mnemonic
12
	 * @param keyStroke
13
	 */
14
	public NextUnreadMessageAction(IFrameMediator frameMediator) {
5
public PreviousUnreadMessageAction(IFrameMediator frameMediator) {
15
		super(frameMediator, MailResourceLoader.getString("menu", "mainframe",
6
		super(frameMediator, MailResourceLoader.getString("menu", "mainframe",
16
				"menu_view_nextunreadmessage"));
7
				"menu_view_prevunreadmessage"));
17
		// tooltip text
8
		// tooltip text
18
		putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu",
9
		putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu",
19
				"mainframe", "menu_view_nextunreadmessage_tooltip").replaceAll(
10
				"mainframe", "menu_view_prevunreadmessage_tooltip").replaceAll(
20
				"&", ""));
11
				"&", ""));
21
		// Shortcut key
12
		// shortcut key
22
		//putValue(ACCELERATOR_KEY,
13
		//putValue(ACCELERATOR_KEY,
23
		// KeyStroke.getKeyStroke(KeyEvent.VK_BRACELEFT,0));
14
		// KeyStroke.getKeyStroke(KeyEvent.VK_BRACELEFT, 0));
24
		//setEnabled(false);
15
		//setEnabled(false);
25
		// uncomment to enable action
16
		// uncomment to enable action
26
		/*
17
		/*
27
		 * ( ( AbstractMailFrameController)
18
		 * ((MailFrameMediator)
28
 frameMediator)
19
		 * frameMediator)
29
		 * .registerTableSelectionListener( this);
20
.registerTableSelectionListener(this);
30
		 */
21
		 */
31
	}
22
	}
32
	/**
23
	/**
33
	 * 
24
	 * 
34
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
25
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
35
	 */
26
	 */
36
	public void actionPerformed(ActionEvent evt) {
27
	public void actionPerformed(ActionEvent evt) {
37
		IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())
28
		IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())
38
				.getTableSelection();
29
				.getTableSelection();
39
		ITableController table = ((TableViewOwner) getFrameMediator())
30
		ITableController table = ((TableViewOwner) getFrameMediator())
40
				.getTableController();
31
				.getTableController();
41
		if ( table == null ) return;
32
		if ( table == null ) return;
33
		
42
		if (r == null)
34
		if (r == null)
43
			return;
35
			return;
44
		IMessageNode[] nodes = table.getSelectedNodes();
36
		IMessageNode[] nodes = table.getSelectedNodes();
45
		if (nodes.length == 0)
37
		if (nodes.length == 0)
46
			return;
38
			return;
47
		MessageNode node = (MessageNode) nodes[0];
39
		MessageNode node = (MessageNode) nodes[0];
48
		MessageNode nextNode = node;
40
		MessageNode previousNode = node;
49
		boolean seen = true;
41
		boolean seen = true;
50
		while (seen) {
42
		while (seen) {
51
			nextNode = (MessageNode) nextNode.getNextNode();
43
			previousNode = (MessageNode) previousNode.getPreviousNode();
52
			if (nextNode == null)
44
			if (previousNode == null)
53
				return;
45
				return;
54
			IColumbaHeader h = nextNode.getHeader();
46
			IColumbaHeader h = previousNode.getHeader();
55
			seen = h.getFlags().getSeen();
47
			seen = h.getFlags().getSeen();
56
		}
48
		}
57
		//		 necessary for the message-frame only
49
		//		 necessary for the message-frame only
58
		r.setUids(new Object[] { nextNode.getUid() });
50
		r.setUids(new Object[] { previousNode.getUid() });
59
		((MailFrameMediator) getFrameMediator()).setTableSelection(r);
51
		((MailFrameMediator) getFrameMediator()).setTableSelection(r);
60
		CommandProcessor.getInstance().addOp(new ViewMessageCommand(
52
		CommandProcessor.getInstance().addOp(new ViewMessageCommand(
61
				getFrameMediator(), r));
53
				getFrameMediator(), r));
62
		//		 select message in message list
54
		//		 select message in message list
63
		table.setSelected(new Object[] { nextNode.getUid() });
55
		table.setSelected(new Object[] { previousNode.getUid() });
64
	}
56
	}
65
	/**
57
	/**
66
	 * 
58
	 * 
67
	 * @see org.columba.core.gui.util.ISelectionListener#connectionChanged(org.columba.core.gui.util.SelectionChangedEvent)
59
	 * @see org.columba.core.gui.util.ISelectionListener#connectionChanged(org.columba.core.gui.util.SelectionChangedEvent)
68
	 */
60
	 */
69
	public void selectionChanged(SelectionChangedEvent e) {
61
	public void selectionChanged(SelectionChangedEvent e) {
70
		setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0);
62
		setEnabled(((TableSelectionChangedEvent) e).getUids().length > 0);
71
	
63
	
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