-/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
- *
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
* This file is part of Jalview.
- *
+ *
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
- *******************************************************************************/
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.gui;
import jalview.bin.Cache;
+import jalview.util.MessageManager;
+
import java.awt.BorderLayout;
import java.awt.Component;
+import java.awt.Dialog.ModalExclusionType;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Rectangle;
-import java.awt.Dialog.ModalExclusionType;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Override
public void actionPerformed(ActionEvent arg0)
{
- if (xf!=null)
+ if (xf != null)
{
xf.dispose();
}
- xf=null;jd=null;
+ xf = null;
+ jd = null;
if (parent != null)
{
parent.showNews(false);
{
if (parent != null)
{
- Cache.log.info("News window closed.");
- jd=null;
+ Cache.log.debug("News window closed.");
+ jd = null;
parent.showNews(false);
}
}
public BlogReader(Desktop desktop)
{
- Cache.log.info("Constructing news reader.");
+ Cache.log.debug("Constructing news reader.");
parent = desktop;
_channelModel = new ChannelListModel();
// Construct our jalview news channel
Channel chan = new Channel();
- chan.setURL(jalview.bin.Cache.getDefault(
- "JALVIEW_NEWS_RSS",
- jalview.bin.Cache.getDefault("www.jalview.org",
- "http://www.jalview.org") + "/feeds/desktop/rss"));
+ chan.setURL(
+ jalview.bin.Cache.getDefault("JALVIEW_NEWS_RSS",
+ jalview.bin.Cache.getDefault("www.jalview.org",
+ "http://www.jalview.org")
+ + "/feeds/desktop/rss"));
loadLastM();
_channelModel.addChannel(chan);
updating = true;
if (setvisible)
{
- Cache.log.info("Will show jalview news automatically");
+ Cache.log.debug("Will show jalview news automatically");
showNews();
}
- Cache.log.info("Completed construction of reader.");
+ Cache.log.debug("Completed construction of reader.");
}
/**
* check if the news panel's container is visible
*/
+ @Override
public boolean isVisible()
{
if (parent == null)
xf.setContentPane(me);
xf.addWindowListener(new WindowAdapter()
{
+ @Override
public void windowClosing(WindowEvent e)
{
ActionEvent actionEvent = new ActionEvent(this,
- ActionEvent.ACTION_FIRST, (String) exitAction
- .getValue(Action.NAME));
+ ActionEvent.ACTION_FIRST,
+ (String) exitAction.getValue(Action.NAME));
exitAction.actionPerformed(actionEvent);
}
+ @Override
public void windowOpened(WindowEvent e)
{
}
{
createDialog();
bounds = new Rectangle(5, 5, 550, 350);
- jd.initDialogFrame(me, false, false, "News from www.jalview.org",
+ jd.initDialogFrame(me, false, false,
+ MessageManager.getString("label.news_from_jalview"),
bounds.width, bounds.height);
jd.frame.setModalExclusionType(ModalExclusionType.NO_EXCLUDE);
- Cache.log.info("Displaying news.");
+ Cache.log.debug("Displaying news.");
jd.waitForInput();
}
}
java.util.Date earliest = null;
try
{
- earliest = new SimpleDateFormat("YYYY-MM-DD").parse(chan
- .getHTTPLastModified());
+ earliest = new SimpleDateFormat("YYYY-MM-DD")
+ .parse(chan.getHTTPLastModified());
} catch (Exception x)
{
}
+ " and lastDate is " + lastDate);
for (Item i : (List<Item>) chan.getItems())
{
+ Date published = i.getPublishDate();
boolean isread = lastDate == null ? false
- : (i.getPublishDate() != null && !lastDate.before(i
- .getPublishDate()));
+ : (published != null && !lastDate.before(published));
if (!updating || updateItems)
{
{
i.setRead(isread);
}
- if (i.getPublishDate() != null && !i.isRead())
+ if (published != null && !i.isRead())
{
- if (earliest == null || earliest.after(i.getPublishDate()))
+ if (earliest == null || earliest.after(published))
{
- earliest = i.getPublishDate();
+ earliest = published;
}
}
}
}
if (lastDate != null)
{
- jalview.bin.Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED",
- lastDate);
- jalview.bin.Cache.log.info("Saved last read date as "
- + jalview.bin.Cache.date_format.format(lastDate));
-
+ String formatted = Cache
+ .setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", lastDate);
+ Cache.log.debug("Saved last read date as " + formatted);
}
}
}
topBottomSplitPane.setBottomComponent(bottomPanel);
JScrollPane spTextDescription = new JScrollPane(textDescription);
textDescription.setText("");
- statusBar.setText(" [Status] ");
+ statusBar.setText(new StringBuffer("[")
+ .append(MessageManager.getString("label.status")).append("]")
+ .toString());
buttonRefresh.addActionListener(new ActionListener()
{
listItems.addMouseListener(new java.awt.event.MouseAdapter()
{
+ @Override
public void mouseClicked(MouseEvent e)
{
listItems_mouseClicked(e);
_popupChannels);
listItems.addMouseListener(popupAdapter);
listItems.setCellRenderer(new ItemsRenderer());
- lblChannels.setText("Channels");
+ lblChannels.setText(MessageManager.getString("label.channels"));
}
private void postInit()
}
textDescription.addHyperlinkListener(new HyperlinkListener()
{
+ @Override
public void hyperlinkUpdate(HyperlinkEvent e)
{
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
listItems.addListSelectionListener(new ListSelectionListener()
{
+ @Override
public void valueChanged(ListSelectionEvent e)
{
if (e.getValueIsAdjusting() == false)
_itemsValueChanged(listItems);
}
- public class LaunchJvBrowserOnItem extends AbstractAction implements
- UpdatableAction
+ public class LaunchJvBrowserOnItem extends AbstractAction
+ implements UpdatableAction
{
JList _listItems = null;
public LaunchJvBrowserOnItem(JList listItems)
{
super("Open in Browser");
- this.putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_O));
+ this.putValue(MNEMONIC_KEY, Integer.valueOf(KeyEvent.VK_O));
this.putValue(Action.LONG_DESCRIPTION, "Open in Browser");
_listItems = listItems;
}
+ @Override
public void actionPerformed(ActionEvent e)
{
Object o = _listItems.getSelectedValue();
}
}
+ @Override
public void update(Object o)
{
setEnabled(true);
private JPopupMenu _buildChannelsPopupMenu()
{
JPopupMenu popup = new JPopupMenu();
- popup.add(new JMenuItem(new MarkChannelAsRead(listChannels, listItems)));
+ popup.add(
+ new JMenuItem(new MarkChannelAsRead(listChannels, listItems)));
popup.add(new JMenuItem(
new MarkChannelAsUnread(listChannels, listItems)));
return popup;
}
DefaultListModel itemsModel = (DefaultListModel) listItems.getModel();
itemsModel.clear();
- Iterator iter = (channel.getItems() != null) ? channel.getItems()
- .iterator() : Collections.EMPTY_LIST.iterator();
+ Iterator iter = (channel.getItems() != null)
+ ? channel.getItems().iterator()
+ : Collections.EMPTY_LIST.iterator();
while (iter.hasNext())
{
itemsModel.addElement(iter.next());
button.setVerticalTextPosition(AbstractButton.BOTTOM);
button.setHorizontalTextPosition(AbstractButton.CENTER);
}
- else if (Boolean.toString(true).equals(
- general.get("radioTextRight")))
+ else if (Boolean.toString(true)
+ .equals(general.get("radioTextRight")))
{
button.setVerticalTextPosition(AbstractButton.CENTER);
button.setHorizontalTextPosition(AbstractButton.RIGHT);
jalview.bin.Cache.loadProperties(null);
jalview.bin.Cache.initLogger();
// test will advance read date each time
- Calendar today = Calendar.getInstance(), lastread = Calendar
- .getInstance();
+ Calendar today = Calendar.getInstance(),
+ lastread = Calendar.getInstance();
lastread.set(1983, 01, 01);
while (lastread.before(today))
{
- Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED",
- lastread.getTime());
+ String formattedDate = Cache.setDateProperty(
+ "JALVIEW_NEWS_RSS_LASTMODIFIED", lastread.getTime());
BlogReader me = new BlogReader();
- System.out.println("Set last date to "
- + jalview.bin.Cache.date_format.format(lastread.getTime()));
+ System.out.println("Set last date to " + formattedDate);
if (me.isNewsNew())
{
- Cache.log.info("There is news to read.");
+ Cache.log.debug("There is news to read.");
}
else
{
- Cache.log.info("There is no new news.");
+ Cache.log.debug("There is no new news.");
me.xf.setTitle("Testing : Last read is " + me.lastDate);
me.showNews();
me.xf.toFront();
}
- Cache.log.info("Waiting for closure.");
+ Cache.log.debug("Waiting for closure.");
do
{
try
if (me.isNewsNew())
{
- Cache.log.info("Still new news after reader displayed.");
+ Cache.log.debug("Still new news after reader displayed.");
}
if (lastread.getTime().before(me.lastDate))
{
- Cache.log.info("The news was read.");
+ Cache.log.debug("The news was read.");
lastread.setTime(me.lastDate);
}
else
{
lastread.add(Calendar.MONTH, 1);
}
-
+
}
}
private final static Icon _icon = new ImageIcon(
Main.class.getResource("image/ComposeMail16.gif"));
+ @Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus)
{
if (value instanceof Channel)
{
Channel channel = (Channel) value;
- component.setText(channel.getTitle() + " ("
- + channel.getUnreadItemCount() + ")");
+ component.setText(MessageManager
+ .formatMessage("label.channel_title_item_count", new String[]
+ { channel.getTitle(), Integer
+ .valueOf(channel.getUnreadItemCount()).toString() }));
component.setToolTipText(channel.getURL());
}
return component;
private final static Icon _icon = new ImageIcon(
Main.class.getResource("image/ComposeMail16.gif"));
+ @Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus)
{
Item item = (Item) value;
if (item.getPublishDate() != null)
{
- component.setText(DateFormat.getDateInstance().format(
- item.getPublishDate())
- + " " + item.getTitle());
+ component.setText(MessageManager.formatMessage(
+ "label.blog_item_published_on_date", new String[]
+ { DateFormat
+ .getDateInstance(DateFormat.LONG,
+ MessageManager.getLocale())
+ .format(item.getPublishDate()).toString(),
+ item.getTitle() }));
}
component.setToolTipText(item.getLink());
if (!item.isRead())