From 5971e4bde6ffde66db4ba42ce0c447aafe4a7f8c Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 30 Apr 2014 09:56:04 +0200 Subject: [PATCH] Drop WebService#setResponseExampleFormat() --- .../org/sonar/api/server/ws/WebService.java | 21 ++++++------------- .../sonar/api/server/ws/WebServiceTest.java | 4 +++- .../sonar/server/source/ws/ShowAction.java | 4 ++-- .../org/sonar/server/ws/ListingWsTest.java | 1 - 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java index 94a41cf436e..cc2803e1ba3 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/WebService.java @@ -23,6 +23,7 @@ import com.google.common.base.Charsets; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; +import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.sonar.api.ServerExtension; @@ -253,7 +254,6 @@ public interface WebService extends ServerExtension { private RequestHandler handler; private Map newParams = Maps.newHashMap(); private URL responseExample = null; - private String responseExampleFormat = null; private NewAction(String key) { this.key = key; @@ -299,16 +299,6 @@ public interface WebService extends ServerExtension { return this; } - /** - * Used only if {@link #setResponseExample(java.net.URL)} is set. Example of values: "xml", "json", "txt", "csv". - * - * @since 4.4 - */ - public NewAction setResponseExampleFormat(@Nullable String format) { - this.responseExampleFormat = format; - return this; - } - public NewParam createParam(String paramKey) { if (newParams.containsKey(paramKey)) { throw new IllegalStateException( @@ -337,7 +327,6 @@ public interface WebService extends ServerExtension { private final RequestHandler handler; private final Map params; private final URL responseExample; - private final String responseExampleFormat; private Action(Controller controller, NewAction newAction) { this.key = newAction.key; @@ -347,7 +336,6 @@ public interface WebService extends ServerExtension { this.post = newAction.post; this.isInternal = newAction.isInternal; this.responseExample = newAction.responseExample; - this.responseExampleFormat = newAction.responseExampleFormat; if (newAction.handler == null) { throw new IllegalArgumentException("RequestHandler is not set on action " + path); @@ -418,11 +406,14 @@ public interface WebService extends ServerExtension { } /** - * @see org.sonar.api.server.ws.WebService.NewAction#setResponseExampleFormat(String) + * @see org.sonar.api.server.ws.WebService.NewAction#setResponseExample(java.net.URL) */ @CheckForNull public String responseExampleFormat() { - return responseExampleFormat; + if (responseExample != null) { + return StringUtils.lowerCase(FilenameUtils.getExtension(responseExample.getFile())); + } + return null; } @CheckForNull diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/WebServiceTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/WebServiceTest.java index 431e21a2e9f..ccebd01cd4b 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/WebServiceTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/WebServiceTest.java @@ -54,7 +54,6 @@ public class WebServiceTest { .setSince("4.1") .setPost(true) .setInternal(true) - .setResponseExampleFormat("txt") .setResponseExample(getClass().getResource("/org/sonar/api/server/ws/WebServiceTest/response-example.txt")) .setHandler(new RequestHandler() { @Override @@ -102,6 +101,9 @@ public class WebServiceTest { assertThat(showAction.key()).isEqualTo("show"); assertThat(showAction.description()).isEqualTo("Show metric"); assertThat(showAction.handler()).isNotNull(); + assertThat(showAction.responseExample()).isNull(); + assertThat(showAction.responseExampleFormat()).isNull(); + assertThat(showAction.responseExampleAsString()).isNull(); // same as controller assertThat(showAction.since()).isEqualTo("3.2"); assertThat(showAction.isPost()).isFalse(); diff --git a/sonar-server/src/main/java/org/sonar/server/source/ws/ShowAction.java b/sonar-server/src/main/java/org/sonar/server/source/ws/ShowAction.java index 08463a3ff0a..2cfe1a63f4e 100644 --- a/sonar-server/src/main/java/org/sonar/server/source/ws/ShowAction.java +++ b/sonar-server/src/main/java/org/sonar/server/source/ws/ShowAction.java @@ -19,6 +19,7 @@ */ package org.sonar.server.source.ws; +import com.google.common.io.Resources; import org.sonar.api.server.ws.Request; import org.sonar.api.server.ws.RequestHandler; import org.sonar.api.server.ws.Response; @@ -44,8 +45,7 @@ public class ShowAction implements RequestHandler { .setDescription("Get source code. Parameter 'output' with value 'raw' is missing before being marked as a public WS.") .setSince("4.2") .setInternal(true) - .setResponseExampleFormat("json") - .setResponseExample(getClass().getResource("/org/sonar/server/source/ws/example-show.json")) + .setResponseExample(Resources.getResource(getClass(), "example-show.json")) .setHandler(this); action diff --git a/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java b/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java index b60cdbc0ea3..0daf8447175 100644 --- a/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java +++ b/sonar-server/src/test/java/org/sonar/server/ws/ListingWsTest.java @@ -90,7 +90,6 @@ public class ListingWsTest { .setPost(true) .setInternal(true) .setResponseExample(getClass().getResource("/org/sonar/server/ws/ListingWsTest/metrics_example.json")) - .setResponseExampleFormat("json") .setHandler(new RequestHandler() { @Override public void handle(Request request, Response response) { -- 2.39.5