From bd9ad9982b484776e8cb46650d61a405ef1dad37 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Mon, 22 Oct 2012 20:25:01 +0000 Subject: [PATCH] - Fix spacing in summary bar - Add start() in UpdateTask so things happen in the right order - Add toString() in UpdateTask for better debugging - Fix getID() for plugin UpdateTasks --- .../java/src/org/klomp/snark/UpdateHandler.java | 1 - .../java/src/org/klomp/snark/UpdateRunner.java | 14 ++++++++------ .../i2p/router/update/ConsoleUpdateManager.java | 3 +++ .../src/net/i2p/router/update/NewsHandler.java | 1 - .../net/i2p/router/update/PluginUpdateChecker.java | 3 +++ .../net/i2p/router/update/PluginUpdateHandler.java | 2 -- .../net/i2p/router/update/PluginUpdateRunner.java | 3 +++ .../i2p/router/update/UnsignedUpdateHandler.java | 2 -- .../src/net/i2p/router/update/UpdateHandler.java | 1 - .../src/net/i2p/router/update/UpdateRunner.java | 5 +++++ .../java/src/net/i2p/router/web/SummaryHelper.java | 8 ++++++++ core/java/src/net/i2p/update/UpdateTask.java | 5 +++++ 12 files changed, 35 insertions(+), 13 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java b/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java index ecb27c55d0..4e5b56a419 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java +++ b/apps/i2psnark/java/src/org/klomp/snark/UpdateHandler.java @@ -47,7 +47,6 @@ class UpdateHandler implements Updater { return null; UpdateRunner update = new UpdateRunner(_context, _umgr, _smgr, updateSources, newVersion); _umgr.notifyProgress(update, "<b>" + _smgr.util().getString("Updating") + "</b>"); - update.start(); return update; } } diff --git a/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java b/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java index a676f33ab8..9699b70d7e 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java +++ b/apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java @@ -77,11 +77,6 @@ class UpdateRunner implements UpdateTask, CompleteListener { * If it is, get the whole thing. */ private void update() { - if (_urls.isEmpty()) { - _umgr.notifyTaskFailed(this, "", null); - return; - } - for (URI uri : _urls) { _currentURI = uri; String updateURL = uri.toString(); @@ -102,7 +97,9 @@ class UpdateRunner implements UpdateTask, CompleteListener { new Timeout(); break; } - } catch (IllegalArgumentException iae) {} + } catch (IllegalArgumentException iae) { + _log.error("Invalid update URL", iae); + } } if (_snark == null) fatal("No valid URLs"); @@ -232,4 +229,9 @@ class UpdateRunner implements UpdateTask, CompleteListener { private void updateStatus(String s) { _umgr.notifyProgress(this, s); } + + @Override + public String toString() { + return getClass().getName() + ' ' + getType() + ' ' + getID() + ' ' + getMethod() + ' ' + getURI(); + } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java b/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java index 7ba50c305e..c264e61d33 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java @@ -184,6 +184,7 @@ public class ConsoleUpdateManager implements UpdateManager { if (_log.shouldLog(Log.INFO)) _log.info("Starting " + r); _activeCheckers.add(t); + t.start(); } } if (t != null) { @@ -226,6 +227,7 @@ public class ConsoleUpdateManager implements UpdateManager { if (_log.shouldLog(Log.INFO)) _log.info("Starting " + r); _activeCheckers.add(t); + t.start(); break; } } @@ -517,6 +519,7 @@ public class ConsoleUpdateManager implements UpdateManager { if (_log.shouldLog(Log.INFO)) _log.info("Starting " + r); _downloaders.put(t, toTry); + t.start(); return t; } else { if (_log.shouldLog(Log.WARN)) diff --git a/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java index 5a3ed7501f..d54948a848 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/NewsHandler.java @@ -46,7 +46,6 @@ class NewsHandler extends UpdateHandler implements Checker { updateSources.add(new URI(BACKUP_NEWS_URL)); } catch (URISyntaxException use) {} UpdateRunner update = new NewsFetcher(_context, _mgr, updateSources); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java index 56dd2e8a3d..a9625feb9a 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateChecker.java @@ -46,6 +46,9 @@ class PluginUpdateChecker extends UpdateRunner { @Override public UpdateType getType() { return UpdateType.PLUGIN; } + + @Override + public String getID() { return _appName; } @Override public void run() { diff --git a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java index 3f38724efd..12847fc8e2 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateHandler.java @@ -57,7 +57,6 @@ class PluginUpdateHandler implements Checker, Updater { } UpdateRunner update = new PluginUpdateChecker(_context, _mgr, updateSources, appName, oldVersion); - update.start(); return update; } @@ -78,7 +77,6 @@ class PluginUpdateHandler implements Checker, Updater { UpdateRunner update = new PluginUpdateRunner(_context, _mgr, updateSources, appName, oldVersion); // set status before thread to ensure UI feedback _mgr.notifyProgress(update, "<b>" + _mgr._("Updating") + "</b>"); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java index ddf4a75a3b..6265496379 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/PluginUpdateRunner.java @@ -74,6 +74,9 @@ class PluginUpdateRunner extends UpdateRunner { @Override public URI getURI() { return _uri; } + @Override + public String getID() { return _appName; } + @Override protected void update() { diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java index 15db5c9266..0cfcbc9495 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateHandler.java @@ -71,7 +71,6 @@ class UnsignedUpdateHandler implements Checker, Updater { } UpdateRunner update = new UnsignedUpdateChecker(_context, _mgr, updateSources, ms); - update.start(); return update; } @@ -91,7 +90,6 @@ class UnsignedUpdateHandler implements Checker, Updater { UpdateRunner update = new UnsignedUpdateRunner(_context, _mgr, updateSources); // set status before thread to ensure UI feedback _mgr.notifyProgress(update, "<b>" + _mgr._("Updating") + "</b>"); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java index 3af9837167..3ff73e4d31 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java @@ -44,7 +44,6 @@ class UpdateHandler implements Updater { UpdateRunner update = new UpdateRunner(_context, _mgr, updateSources); // set status before thread to ensure UI feedback _mgr.notifyProgress(update, "<b>" + _mgr._("Updating") + "</b>"); - update.start(); return update; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java b/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java index 813713220c..bb952bc50b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/update/UpdateRunner.java @@ -236,4 +236,9 @@ class UpdateRunner extends I2PAppThread implements UpdateTask, EepGet.StatusList protected String _(String s, Object o) { return _mgr._(s, o); } + + @Override + public String toString() { + return getClass().getName() + ' ' + getType() + ' ' + getID() + ' ' + getMethod() + ' ' + getURI(); + } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index 1d04344419..63bf2a5646 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -652,8 +652,10 @@ public class SummaryHelper extends HelperBase { StringBuilder buf = new StringBuilder(512); // display all the time so we display the final failure message, and plugin update messages too String status = NewsHelper.getUpdateStatus(); + boolean needSpace = false; if (status.length() > 0) { buf.append("<h4>").append(status).append("</h4>\n"); + needSpace = true; } String dver = NewsHelper.updateVersionDownloaded(); if (dver == null) @@ -661,6 +663,10 @@ public class SummaryHelper extends HelperBase { if (dver != null && !NewsHelper.isUpdateInProgress() && !_context.router().gracefulShutdownInProgress()) { + if (needSpace) + buf.append("<hr>"); + else + needSpace = true; buf.append("<h4><b>").append(_("Update downloaded")).append("<br>"); if (_context.hasWrapper()) buf.append(_("Click Restart to install")); @@ -675,6 +681,8 @@ public class SummaryHelper extends HelperBase { _context.portMapper().getPort(PortMapper.SVC_HTTP_PROXY) > 0 && // assume using proxy for now getAction() == null && getUpdateNonce() == null) { + if (needSpace) + buf.append("<hr>"); long nonce = _context.random().nextLong(); String prev = System.getProperty("net.i2p.router.web.UpdateHandler.nonce"); if (prev != null) diff --git a/core/java/src/net/i2p/update/UpdateTask.java b/core/java/src/net/i2p/update/UpdateTask.java index 97944b0e0c..f9b383062d 100644 --- a/core/java/src/net/i2p/update/UpdateTask.java +++ b/core/java/src/net/i2p/update/UpdateTask.java @@ -9,6 +9,11 @@ import java.net.URI; */ public interface UpdateTask { + /** + * Tasks must not start themselves in the constructor. Do it here. + */ + public void start(); + public void shutdown(); public boolean isRunning(); -- GitLab