Skip to content

Commit

Permalink
SONAR-7305 Deprecate api/timemachine WS
Browse files Browse the repository at this point in the history
  • Loading branch information
julienlancelot committed Jan 24, 2017
1 parent 17cbda8 commit f96b321
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 36 deletions.
Expand Up @@ -20,52 +20,27 @@
package org.sonar.server.measure.ws; package org.sonar.server.measure.ws;


import com.google.common.io.Resources; import com.google.common.io.Resources;
import org.sonar.api.server.ws.RailsHandler;
import org.sonar.api.server.ws.WebService; import org.sonar.api.server.ws.WebService;

import org.sonar.server.ws.RemovedWebServiceHandler;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;


public class TimeMachineWs implements WebService { public class TimeMachineWs implements WebService {


@Override @Override
public void define(Context context) { public void define(Context context) {
NewController controller = context.createController("api/timemachine") NewController controller = context.createController("api/timemachine")
.setDescription("Get project measure data from past analyses.") .setDescription("Removed since 6.3, please use api/measures/search_analyses instead")
.setSince("2.10"); .setSince("2.10");

defineIndexAction(controller);
defineSystemAction(controller);

controller.done(); controller.done();
} }


private void defineSystemAction(NewController controller) { private void defineIndexAction(NewController controller) {
NewAction action = controller.createAction("index") controller.createAction("index")
.setDescription("Get a list of past measures. Requires Browse permission on project") .setDescription("The web service is removed and you're invited to use api/measures/search_analyses instead")
.setSince("2.10") .setSince("2.10")
.setHandler(RailsHandler.INSTANCE) .setDeprecatedSince("6.3")
.setHandler(RemovedWebServiceHandler.INSTANCE)
.setResponseExample(Resources.getResource(this.getClass(), "timemachine-example-index.json")); .setResponseExample(Resources.getResource(this.getClass(), "timemachine-example-index.json"));

action.createParam("resource")
.setDescription("id or key of the resource (ie: component)")
.setRequired(true)
.setExampleValue(KEY_PROJECT_EXAMPLE_001);

action.createParam("metrics")
.setDescription("Comma-separated list of <a href=\"http://redirect.sonarsource.com/doc/metric-definitions.html\">metric keys/ids</a>")
.setRequired(true)
.setExampleValue("coverage,violations");

action.createParam("fromDateTime")
.setDescription("ISO-8601 datetime (inclusive)")
.setExampleValue("2010-12-25T23:59:59+0100");

action.createParam("toDateTime")
.setDescription("ISO-8601 datetime (inclusive)")
.setExampleValue("2010-12-25T23:59:59+0100");

action.createParam("format")
.setDescription("Response format")
.setPossibleValues("json", "csv");
} }


} }
Expand Up @@ -21,7 +21,6 @@


import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.sonar.api.server.ws.RailsHandler;
import org.sonar.api.server.ws.WebService; import org.sonar.api.server.ws.WebService;
import org.sonar.server.ws.WsTester; import org.sonar.server.ws.WsTester;


Expand Down Expand Up @@ -49,9 +48,7 @@ public void define_controller() {
public void define_index_action() { public void define_index_action() {
WebService.Action action = controller.action("index"); WebService.Action action = controller.action("index");
assertThat(action).isNotNull(); assertThat(action).isNotNull();
assertThat(action.handler()).isInstanceOf(RailsHandler.class);
assertThat(action.responseExampleAsString()).isNotEmpty(); assertThat(action.responseExampleAsString()).isNotEmpty();
assertThat(action.params()).hasSize(5);
} }


} }

0 comments on commit f96b321

Please sign in to comment.