package org.sonar.server.platform.ws;
+import java.util.Map;
+
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.platform.monitoring.Monitor;
import org.sonar.server.user.UserSession;
-import java.util.Map;
-
+/**
+ * Implementation of the {@code info} action for the System WebService.
+ */
public class SystemInfoWsAction implements SystemWsAction {
private final Monitor[] monitors;
@Override
public void define(WebService.NewController controller) {
controller.createAction("info")
- .setDescription("Detailed information about system configuration")
+ .setDescription("Detailed information about system configuration." +
+ "<br/>" +
+ "Requires user to be authenticated with Administer System permissions.")
.setSince("5.1")
.setResponseExample(getClass().getResource("/org/sonar/server/platform/ws/example-system-info.json"))
.setHandler(this);
*/
package org.sonar.server.platform.ws;
-
import org.sonar.api.config.Settings;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.platform.Platform;
+/**
+ * Implementation of the {@code restart} action for the System WebService.
+ */
public class SystemRestartWsAction implements SystemWsAction {
+ private static final Logger LOGGER = Loggers.get(SystemRestartWsAction.class);
+
private final Settings settings;
private final Platform platform;
public void define(WebService.NewController controller) {
controller.createAction("restart")
.setDescription("Restart server. Available only on development mode (sonar.web.dev=true). " +
- "Ruby on Rails extensions are not reloaded")
+ "Ruby on Rails extensions are not reloaded.")
.setSince("4.3")
.setPost(true)
.setHandler(this);
@Override
public void handle(Request request, Response response) {
- if (settings.getBoolean("sonar.web.dev")) {
- Logger logger = Loggers.get(getClass());
- logger.info("Restart server");
- platform.restart();
- logger.info("Server restarted");
- response.noContent();
-
- } else {
+ if (!settings.getBoolean("sonar.web.dev")) {
throw new ForbiddenException();
}
+
+ LOGGER.info("Restart server");
+ platform.restart();
+ LOGGER.info("Server restarted");
+ response.noContent();
}
+
}
#
class Api::ServerController < Api::ApiController
- skip_before_filter :check_authentication, :except => 'system'
+ skip_before_filter :check_authentication
# prevent HTTP proxies from caching server status
before_filter :set_cache_buster, :only => 'index'