Author: jflesch
Date: 2007-10-01 13:31:06 +0000 (Mon, 01 Oct 2007)
New Revision: 15423

Modified:
   trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
   trunk/apps/Thaw/src/thaw/core/PluginManager.java
   trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
   trunk/apps/Thaw/src/thaw/i18n/thaw.properties
   trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
   trunk/apps/Thaw/src/thaw/plugins/IndexTreeRebuilder.java
   trunk/apps/Thaw/src/thaw/plugins/MiniFrost.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
Log:
Continuing the plugin 'IndexTreeRebuilder'

Modified: trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/ConfigWindow.java     2007-10-01 13:12:05 UTC 
(rev 15422)
+++ trunk/apps/Thaw/src/thaw/core/ConfigWindow.java     2007-10-01 13:31:06 UTC 
(rev 15423)
@@ -149,6 +149,10 @@
                return configWin;
        }

+       public PluginConfigPanel getPluginConfigPanel() {
+               return pluginConfigPanel;
+       }
+
        /**
         * Used to update the MDNSPanel
         */

Modified: trunk/apps/Thaw/src/thaw/core/PluginManager.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/PluginManager.java    2007-10-01 13:12:05 UTC 
(rev 15422)
+++ trunk/apps/Thaw/src/thaw/core/PluginManager.java    2007-10-01 13:31:06 UTC 
(rev 15423)
@@ -137,7 +137,7 @@
                                if (plugin != null)
                                        plugin.stop();
                                else
-                                       Logger.notice(this, "Plugin == null 
?!!");
+                                       Logger.error(this, "Plugin == null !?");
                        } catch(final Exception e) {
                                Logger.error(this, "Unable to stop the plugin "+
                                             
"'"+plugin.getClass().getName()+"'"+

Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties     2007-10-01 
13:12:05 UTC (rev 15422)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties     2007-10-01 
13:31:06 UTC (rev 15423)
@@ -691,3 +691,6 @@
 ## Index tree rebuilder

 thaw.plugin.index.treeRebuilder=R?parateur d'arbre d'indexes
+thaw.plugin.index.treeRebuilder.finished=R?paration de l'arbre finie
+thaw.plugin.index.treeRebuilder.failed=La r?paration de l'arbre a ?chou? :(
+

Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties       2007-10-01 13:12:05 UTC 
(rev 15422)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties       2007-10-01 13:31:06 UTC 
(rev 15423)
@@ -707,3 +707,5 @@
 ## Tree rebuilder

 thaw.plugin.index.treeRebuilder=Index tree rebuilder
+thaw.plugin.index.treeRebuilder.finished=Index tree rebuilding finished
+thaw.plugin.index.treeRebuilder.failed=Index tree rebuilding failed ! :(

Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties    2007-10-01 13:12:05 UTC 
(rev 15422)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties    2007-10-01 13:31:06 UTC 
(rev 15423)
@@ -691,3 +691,6 @@
 ## Index tree rebuilder

 thaw.plugin.index.treeRebuilder=R\u00e9parateur d'arbre d'indexes
+thaw.plugin.index.treeRebuilder.finished=R\u00e9paration de l'arbre finie
+thaw.plugin.index.treeRebuilder.failed=La r\u00e9paration de l'arbre a 
\u00e9chou\u00e9 :(
+

Modified: trunk/apps/Thaw/src/thaw/plugins/IndexTreeRebuilder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/IndexTreeRebuilder.java    2007-10-01 
13:12:05 UTC (rev 15422)
+++ trunk/apps/Thaw/src/thaw/plugins/IndexTreeRebuilder.java    2007-10-01 
13:31:06 UTC (rev 15423)
@@ -3,6 +3,9 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;

+import javax.swing.JOptionPane;
+
+
 import thaw.core.Core;
 import thaw.core.Logger;
 import thaw.core.Plugin;
@@ -10,48 +13,107 @@
 import thaw.core.ThawRunnable;
 import thaw.core.I18n;
 import thaw.gui.IconBox;
+import thaw.gui.WarningWindow;

 import thaw.plugins.Hsqldb;

 import java.sql.*;


-public class IndexTreeRebuilder implements Plugin, ActionListener {
+public class IndexTreeRebuilder implements Plugin {
        private Core core;
        private Hsqldb db;

        public IndexTreeRebuilder() {
        }

-       public boolean run(Core core) {
-               this.core = core;

-               if(core.getPluginManager().getPlugin("thaw.plugins.Hsqldb") == 
null) {
-                       Logger.info(this, "Loading Hsqldb plugin");
+       private class Rebuilder implements ThawRunnable {
+               private boolean running;
+               private Plugin parent;

-                       
if(core.getPluginManager().loadPlugin("thaw.plugins.Hsqldb") == null
-                          || 
!core.getPluginManager().runPlugin("thaw.plugins.Hsqldb")) {
-                               Logger.error(this, "Unable to load 
thaw.plugins.Hsqldb !");
-                               return false;
+               public Rebuilder(Plugin parent) {
+                       running = true;
+                       this.parent = parent;
+               }
+
+               public void rebuild() throws SQLException {
+
+                       /* TODO */
+
+               }
+
+               public void run() {
+
+                       
if(core.getPluginManager().getPlugin("thaw.plugins.Hsqldb") == null) {
+                               Logger.info(this, "Loading Hsqldb plugin");
+
+                               
if(core.getPluginManager().loadPlugin("thaw.plugins.Hsqldb") == null
+                                  || 
!core.getPluginManager().runPlugin("thaw.plugins.Hsqldb")) {
+                                       Logger.error(this, "Unable to load 
thaw.plugins.Hsqldb !");
+                                       return;
+                               }
                        }
+
+                       db = 
(Hsqldb)core.getPluginManager().getPlugin("thaw.plugins.Hsqldb");
+
+                       if (db == null) {
+                               Logger.error(this, "Can't access the db !");
+                       } else {
+
+                               db.registerChild(parent);
+
+                               if (running)
+                                       
core.getPluginManager().stopPlugin("thaw.plugins.IndexBrowser");
+
+                               if (running) {
+                                       try {
+                                               rebuild();
+                                       } catch(SQLException e) {
+                                               /* wow, getting creepy */
+                                               Logger.error(this, "Index tree 
rebuild failed : "+e.toString());
+                                               new WarningWindow(core,
+                                                                 
I18n.getMessage("thaw.plugin.index.treeRebuilder.failed"));
+                                       }
+                               }
+
+                               if (running)
+                                       
core.getPluginManager().runPlugin("thaw.plugins.IndexBrowser");
+
+                               db.unregisterChild(parent);
+                       }
+
+                       if (running)
+                               new WarningWindow(core,
+                                                 
I18n.getMessage("thaw.plugin.index.treeRebuilder.finished"));
+
+                       
core.getPluginManager().stopPlugin("thaw.plugins.IndexTreeRebuilder");
+                       
core.getPluginManager().unloadPlugin("thaw.plugins.IndexTreeRebuilder");
+
+                       
core.getConfigWindow().getPluginConfigPanel().refreshList();
                }

-               db = 
(Hsqldb)core.getPluginManager().getPlugin("thaw.plugins.Hsqldb");
-               db.registerChild(this);
+               public void stop() {
+                       running = false;
+               }
+       }

+
+       public boolean run(Core core) {
+               this.core = core;
+
+               ThawThread th = new ThawThread(new Rebuilder(this),
+                                              "Index tree rebuilder",
+                                              this);
+               th.start();
+
                return true;
        }

        public void stop() {

-               if (db != null)
-                       db.unregisterChild(this);
        }

-       public void actionPerformed(ActionEvent e) {
-
-       }
-
        public String getNameForUser() {
                return I18n.getMessage("thaw.plugin.index.treeRebuilder");
        }

Modified: trunk/apps/Thaw/src/thaw/plugins/MiniFrost.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/MiniFrost.java     2007-10-01 13:12:05 UTC 
(rev 15422)
+++ trunk/apps/Thaw/src/thaw/plugins/MiniFrost.java     2007-10-01 13:31:06 UTC 
(rev 15423)
@@ -14,7 +14,7 @@


 public class MiniFrost implements thaw.core.Plugin {
-       public final static int DEFAULT_ARCHIVE_AFTER = 15; /* days */
+       public final static int DEFAULT_ARCHIVE_AFTER = 7; /* days */
        public final static int DEFAULT_DELETE_AFTER  = 60; /* days */

        private Core core;

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java    
2007-10-01 13:12:05 UTC (rev 15422)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java    
2007-10-01 13:31:06 UTC (rev 15423)
@@ -597,7 +597,7 @@
                                return checkBoxRenderer;
                        }

-                       if (value instanceof MessageNode) {
+                       if (value instanceof MessageNode && 
seeTree.isSelected()) {
                                return 
messageNodeTree.getTableCellRendererComponent(table,
                                                                                
     value,
                                                                                
     isSelected,


Reply via email to