* Console: Implement webapp state detection and stop button for webapps

on /configclients (Ticket #1025)
This commit is contained in:
zzz
2013-09-21 16:11:55 +00:00
parent 0ae2d92fcd
commit bd0c18b2e3
2 changed files with 14 additions and 7 deletions

View File

@ -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;

View File

@ -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");