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,