diff --git a/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java b/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java index 7d680d98..eb973d60 100644 --- a/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java +++ b/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java @@ -37,13 +37,13 @@ public class AnnouncementProvider { service = factory.createProxy(IAnnouncementService.class, serviceUrl); } - public String getCurrentAnnouncements() throws ParseException { + public String getCurrentAnnouncements(boolean forceLast) throws ParseException { announcements = service.getAnnouncements(); boolean hasUnread = false; StringBuilder sb = new StringBuilder(""); for (int i = 0; i < announcements.size(); i++) { Date date = dateFormat.parse(announcements.get(i).getDate()); - if (lastDate == null || lastDate.before(date)) { + if (lastDate == null || lastDate.before(date) || (forceLast && i == announcements.size() - 1)) { sb.append("").append(announcements.get(i).getTitle()).append(" on ") .append(announcements.get(i).getDate()).append("").append("

") .append(announcements.get(i).getText()).append("

"); diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java index bbde6e5c..278138ff 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java @@ -95,7 +95,7 @@ public class StatusBar extends JPanel implements IPlugIn { @Override public String doInBackground() throws Exception { Thread.sleep(1000); - return announcementProvider.getCurrentAnnouncements(); + return announcementProvider.getCurrentAnnouncements(false); } @Override @@ -145,7 +145,7 @@ public class StatusBar extends JPanel implements IPlugIn { public JLabel getAnnouncementLabel() { if (announcementLabel == null) { announcementLabel = new JLabel(IconLoader.Megaphone.getIcon()); - announcementLabel.setToolTipText("Check for public announcements"); + announcementLabel.setToolTipText("Click to fetch the most recent public announcement"); announcementLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); announcementLabel.addMouseListener(new MouseAdapter() { @@ -155,7 +155,7 @@ public class StatusBar extends JPanel implements IPlugIn { @Override public String doInBackground() throws Exception { - return announcementProvider.getCurrentAnnouncements(); + return announcementProvider.getCurrentAnnouncements(true); } @Override