From: Simon Brandhof Date: Tue, 29 Apr 2014 22:39:48 +0000 (+0200) Subject: Add JsonWriter#values(Iterable) X-Git-Tag: 4.4-RC1~1336 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5ec7e9789b904e8f5b03af122cc5b7743379be18;p=sonarqube.git Add JsonWriter#values(Iterable) --- diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/text/JsonWriter.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/text/JsonWriter.java index 6d929a28daa..f3b20a91368 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/text/JsonWriter.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/text/JsonWriter.java @@ -178,6 +178,21 @@ public class JsonWriter { } } + /** + * Write a list of values in an array, for example: + *
+   *   writer.beginArray().values(myValues).endArray();
+   * 
+ * + * @throws org.sonar.api.utils.text.WriterException on any failure + */ + public JsonWriter values(Iterable values) { + for (String value : values) { + value(value); + } + return this; + } + /** * @throws org.sonar.api.utils.text.WriterException on any failure */ diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/utils/text/JsonWriterTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/utils/text/JsonWriterTest.java index ea9de6560d5..d5f2cb7b429 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/utils/text/JsonWriterTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/utils/text/JsonWriterTest.java @@ -26,6 +26,7 @@ import org.sonar.api.utils.DateUtils; import java.io.IOException; import java.io.StringWriter; +import java.util.Arrays; import java.util.Date; import java.util.concurrent.atomic.AtomicInteger; @@ -75,6 +76,12 @@ public class JsonWriterTest { expect("{\"issues\":[{\"key\":\"ABC\"},{\"key\":\"DEF\"}]}"); } + @Test + public void array_values() throws Exception { + writer.beginArray().values(Arrays.asList("foo", "bar", "baz")).endArray().close(); + expect("[\"foo\",\"bar\",\"baz\"]"); + } + @Test public void type_of_values() throws Exception { Date date = DateUtils.parseDateTime("2010-05-18T15:50:45+0100");