Author: jflesch
Date: 2007-07-23 15:11:25 +0000 (Mon, 23 Jul 2007)
New Revision: 14276
Modified:
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java
Log:
Fix again board refresh
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 13:31:16 UTC (rev 14275)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 15:11:25 UTC (rev 14276)
@@ -259,6 +259,8 @@
public void actionPerformed(ActionEvent e) {
if (e.getSource() == back) {
mainPanel.displayMessageTable();
+ } else if (e.getSource() == nextUnread) {
+
}
}
}
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
2007-07-23 13:31:16 UTC (rev 14275)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
2007-07-23 15:11:25 UTC (rev 14276)
@@ -21,7 +21,7 @@
public final static int MAX_FAILURES_IN_A_ROW = 5;
public final static int DAYS_BEFORE_THE_LAST_REFRESH = 1;
- public final static int MIN_DAYS_IN_THE_PAST = 3;
+ public final static int MIN_DAYS_IN_THE_PAST = 5;
public final static int MAX_DAYS_IN_THE_PAST = 5;
public final static int MIN_DAYS_IN_THE_FUTURE = 1;
@@ -99,6 +99,44 @@
}
+ public thaw.plugins.miniFrost.interfaces.Message getNextUnreadMessage()
{
+ try {
+ Hsqldb db = factory.getDb();
+
+ synchronized(db.dbLock) {
+ PreparedStatement st;
+
+ st =
db.getConnection().prepareStatement("SELECT id, subject, nick, "+
+ "
sigId, date, rev "+
+ "FROM
frostKSKMessages "+
+ "WHERE
boardId = ? AND "+
+
"archived = FALSE AND read = FALSE "+
+ "ORDER
BY date DESC LIMIT 1");
+ st.setInt(1, id);
+
+ ResultSet set = st.executeQuery();
+
+ if (set.next()) {
+ return new KSKMessage(set.getInt("id"),
+
set.getString("subject"),
+
set.getString("nick"),
+
set.getInt("sigId"),
+
set.getTimestamp("date"),
+ set.getInt("rev"),
+ false, false,
+ this);
+ }
+ }
+
+ } catch(SQLException e) {
+ Logger.error(this, "Can't get message list because :
"+e.toString());
+ }
+
+ return null;
+ }
+
+
+
/* last started */
private int lastRev;
private Date lastDate;
@@ -135,10 +173,11 @@
st =
db.getConnection().prepareStatement("SELECT rev FROM frostKSKMessages "+
"WHERE
date >= ? AND date < ? "+
- "AND
rev > ? ORDER by rev");
+ "AND
rev > ? AND boardId = ? ORDER by rev");
st.setTimestamp(1, date);
st.setTimestamp(2, new
java.sql.Timestamp(date.getTime() + 24*60*60*1000));
st.setInt( 3, rev);
+ st.setInt(4, id);
ResultSet set = st.executeQuery();
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java
2007-07-23 13:31:16 UTC (rev 14275)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java
2007-07-23 15:11:25 UTC (rev 14276)
@@ -35,7 +35,14 @@
*/
public Vector getMessages();
+
/**
+ * @return null if none
+ */
+ public Message getNextUnreadMessage();
+
+
+ /**
* must refresh() the board list each time a new message is found
* and when the refresh is finished.
* MUST NOT BE BLOCKING.