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 29cb400984..27774b0ca4 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 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 c0c4d0aa4e..28febc9f27 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("\n");