X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FBlogReader.java;h=fb7d7c50bccf54401338e82487f398b66c7570f9;hb=499cb309e8622312059ad73729e41c9838956f06;hp=c611dada9cd3e0dc4adc2d3597e5cabbfe837c5d;hpb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;p=jalview.git diff --git a/src/jalview/gui/BlogReader.java b/src/jalview/gui/BlogReader.java index c611dad..fb7d7c5 100644 --- a/src/jalview/gui/BlogReader.java +++ b/src/jalview/gui/BlogReader.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,6 +21,7 @@ package jalview.gui; import jalview.bin.Cache; +import jalview.bin.Console; import jalview.util.MessageManager; import java.awt.BorderLayout; @@ -41,6 +42,7 @@ import java.text.SimpleDateFormat; 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; @@ -198,7 +200,7 @@ public class BlogReader extends JPanel { if (parent != null) { - Cache.log.debug("News window closed."); + Console.debug("News window closed."); jd = null; parent.showNews(false); } @@ -218,7 +220,7 @@ public class BlogReader extends JPanel } }; - }; + } private JLabel lblChannels = new JLabel(); @@ -246,16 +248,17 @@ public class BlogReader extends JPanel public BlogReader(Desktop desktop) { - Cache.log.debug("Constructing news reader."); + Console.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( + Cache.getDefault("JALVIEW_NEWS_RSS", + Cache.getDefault("www.jalview.org", + "https://www.jalview.org") + + "/feeds/desktop/rss")); loadLastM(); _channelModel.addChannel(chan); updating = true; @@ -270,21 +273,25 @@ public class BlogReader extends JPanel initItems(chan); updating = false; - boolean setvisible = checkForNew(chan, true); - - if (setvisible) + if (!Cache.getDefault("NONEWS", false)) { + boolean setvisible = checkForNew(chan, true); - Cache.log.debug("Will show jalview news automatically"); - showNews(); + if (setvisible) + { + + Console.debug("Will show jalview news automatically"); + showNews(); + } } - Cache.log.debug("Completed construction of reader."); + Console.debug("Completed construction of reader."); } /** * check if the news panel's container is visible */ + @Override public boolean isVisible() { if (parent == null) @@ -312,14 +319,16 @@ public class BlogReader extends JPanel 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) { } @@ -335,7 +344,7 @@ public class BlogReader extends JPanel MessageManager.getString("label.news_from_jalview"), bounds.width, bounds.height); jd.frame.setModalExclusionType(ModalExclusionType.NO_EXCLUDE); - Cache.log.debug("Displaying news."); + Console.debug("Displaying news."); jd.waitForInput(); } } @@ -355,21 +364,20 @@ public class BlogReader extends JPanel 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) { } - ; if (chan != null && chan.getItems() != null) { - Cache.log.debug("Scanning news items: newsnew=" + newsnew + Console.debug("Scanning news items: newsnew=" + newsnew + " and lastDate is " + lastDate); for (Item i : (List) 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) { @@ -379,11 +387,11 @@ public class BlogReader extends JPanel { 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; } } } @@ -420,11 +428,9 @@ public class BlogReader extends JPanel } if (lastDate != null) { - jalview.bin.Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", - lastDate); - jalview.bin.Cache.log.debug("Saved last read date as " - + jalview.bin.Cache.date_format.format(lastDate)); - + String formatted = Cache + .setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", lastDate); + Console.debug("Saved last read date as " + formatted); } } } @@ -472,6 +478,7 @@ public class BlogReader extends JPanel listItems.addMouseListener(new java.awt.event.MouseAdapter() { + @Override public void mouseClicked(MouseEvent e) { listItems_mouseClicked(e); @@ -497,6 +504,7 @@ public class BlogReader extends JPanel } textDescription.addHyperlinkListener(new HyperlinkListener() { + @Override public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) @@ -508,6 +516,7 @@ public class BlogReader extends JPanel listItems.addListSelectionListener(new ListSelectionListener() { + @Override public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting() == false) @@ -524,19 +533,20 @@ public class BlogReader extends JPanel _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(); @@ -550,6 +560,7 @@ public class BlogReader extends JPanel } } + @Override public void update(Object o) { setEnabled(true); @@ -578,7 +589,8 @@ public class BlogReader extends JPanel 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; @@ -602,8 +614,9 @@ public class BlogReader extends JPanel } 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()); @@ -699,8 +712,8 @@ public class BlogReader extends JPanel 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); @@ -742,35 +755,38 @@ public class BlogReader extends JPanel } } + /** + * @j2sIgnore + * @param args + */ public static void main(String args[]) { // this tests the detection of new news based on the last read date stored // in jalview properties - jalview.bin.Cache.loadProperties(null); - jalview.bin.Cache.initLogger(); + Cache.loadProperties(null); + Console.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.debug("There is news to read."); + Console.debug("There is news to read."); } else { - Cache.log.debug("There is no new news."); + Console.debug("There is no new news."); me.xf.setTitle("Testing : Last read is " + me.lastDate); me.showNews(); me.xf.toFront(); } - Cache.log.debug("Waiting for closure."); + Console.debug("Waiting for closure."); do { try @@ -779,16 +795,15 @@ public class BlogReader extends JPanel } catch (InterruptedException x) { } - ; } while (me.isVisible()); if (me.isNewsNew()) { - Cache.log.debug("Still new news after reader displayed."); + Console.debug("Still new news after reader displayed."); } if (lastread.getTime().before(me.lastDate)) { - Cache.log.debug("The news was read."); + Console.debug("The news was read."); lastread.setTime(me.lastDate); } else @@ -810,6 +825,7 @@ class ChannelsRenderer extends DefaultListCellRenderer 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) { @@ -819,13 +835,10 @@ class ChannelsRenderer extends DefaultListCellRenderer if (value instanceof Channel) { Channel channel = (Channel) value; - component - .setText(MessageManager.formatMessage( - "label.channel_title_item_count", - new String[] { - channel.getTitle(), - Integer.valueOf(channel.getUnreadItemCount()) - .toString() })); + component.setText(MessageManager + .formatMessage("label.channel_title_item_count", new String[] + { channel.getTitle(), Integer + .valueOf(channel.getUnreadItemCount()).toString() })); component.setToolTipText(channel.getURL()); } return component; @@ -837,6 +850,7 @@ class ItemsRenderer extends DefaultListCellRenderer 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) { @@ -849,12 +863,11 @@ class ItemsRenderer extends DefaultListCellRenderer if (item.getPublishDate() != null) { component.setText(MessageManager.formatMessage( - "label.blog_item_published_on_date", - new String[] { - DateFormat - .getDateInstance(DateFormat.LONG, - MessageManager.getLocale()) - .format(item.getPublishDate()).toString(), + "label.blog_item_published_on_date", new String[] + { DateFormat + .getDateInstance(DateFormat.LONG, + MessageManager.getLocale()) + .format(item.getPublishDate()).toString(), item.getTitle() })); } component.setToolTipText(item.getLink());