diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java index 29cb40098488dfd97266f57490899edd8e11bb5a..27774b0ca4f87c45ddf2c97bd55853a8e65958b8 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java @@ -123,12 +123,18 @@ public class ConfigClientsHandler extends FormHandler { if (appnum >= 0) { stopClient(appnum); } else { - try { - PluginStarter.stopPlugin(_context, app); - addFormNotice(_("Stopped plugin {0}", app)); - } catch (Throwable e) { - addFormError(_("Error stopping plugin {0}", app) + ": " + e); - _log.error("Error stopping plugin " + app, e); + List<String> plugins = PluginStarter.getPlugins(); + if (plugins.contains(app)) { + try { + PluginStarter.stopPlugin(_context, app); + addFormNotice(_("Stopped plugin {0}", app)); + } catch (Throwable e) { + addFormError(_("Error stopping plugin {0}", app) + ": " + e); + _log.error("Error stopping plugin " + app, e); + } + } else { + WebAppStarter.stopWebApp(app); + addFormNotice(_("Stopped webapp {0}", app)); } } return; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java index c0c4d0aa4e3a2118171a5109e08b8cbac276e34e..28febc9f277f53da1d1c8e019eb0ce7210cad9a1 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java @@ -145,9 +145,10 @@ public class ConfigClientsHelper extends HelperBase { if (name.startsWith(RouterConsoleRunner.PREFIX) && name.endsWith(RouterConsoleRunner.ENABLED)) { String app = name.substring(RouterConsoleRunner.PREFIX.length(), name.lastIndexOf(RouterConsoleRunner.ENABLED)); String val = props.getProperty(name); + boolean isRunning = WebAppStarter.isWebAppRunning(app); renderForm(buf, app, app, !"addressbook".equals(app), "true".equals(val), RouterConsoleRunner.ROUTERCONSOLE.equals(app), app + ".war", - false, false, false, false, false, true); + false, false, false, isRunning, false, !isRunning); } } buf.append("</table>\n");