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.


Reply via email to