summaryrefslogtreecommitdiffstats
path: root/vespaclient-java
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-10-18 14:30:41 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-10-18 14:30:41 +0200
commit9df2f262b834ff5f40385376f46c7fa6b8179907 (patch)
treef0eefef5292f05a39d8275e1fb9cb52d2851e039 /vespaclient-java
parent0bd6a6e9847393be57b7227c5ff9b28bc9199f50 (diff)
Print missing '[' for json when receiving no documents
Diffstat (limited to 'vespaclient-java')
-rw-r--r--vespaclient-java/src/main/java/com/yahoo/vespavisit/StdOutVisitorHandler.java3
-rw-r--r--vespaclient-java/src/test/java/com/yahoo/vespavisit/StdOutVisitorHandlerTest.java12
2 files changed, 15 insertions, 0 deletions
diff --git a/vespaclient-java/src/main/java/com/yahoo/vespavisit/StdOutVisitorHandler.java b/vespaclient-java/src/main/java/com/yahoo/vespavisit/StdOutVisitorHandler.java
index 7d18390a530..d88de7d0fef 100644
--- a/vespaclient-java/src/main/java/com/yahoo/vespavisit/StdOutVisitorHandler.java
+++ b/vespaclient-java/src/main/java/com/yahoo/vespavisit/StdOutVisitorHandler.java
@@ -250,6 +250,9 @@ public class StdOutVisitorHandler extends VdsVisitHandler {
@Override
public synchronized void onDone() {
if (jsonOutput && !printIds) {
+ if (first) {
+ out.print('[');
+ }
out.println("]");
}
statisticsMap.dumpAll();
diff --git a/vespaclient-java/src/test/java/com/yahoo/vespavisit/StdOutVisitorHandlerTest.java b/vespaclient-java/src/test/java/com/yahoo/vespavisit/StdOutVisitorHandlerTest.java
index 53fba8cc5c0..7c68b7c4767 100644
--- a/vespaclient-java/src/test/java/com/yahoo/vespavisit/StdOutVisitorHandlerTest.java
+++ b/vespaclient-java/src/test/java/com/yahoo/vespavisit/StdOutVisitorHandlerTest.java
@@ -37,4 +37,16 @@ public class StdOutVisitorHandlerTest {
String output = out.toString();
assertEquals("", output.trim());
}
+
+ @Test
+ public void printing_zero_documents_produces_empty_output() {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ StdOutVisitorHandler visitorHandler =
+ new StdOutVisitorHandler(/*printIds*/false, false, false, false, false, false, 0, jsonOutput, new PrintStream(out, true));
+ VisitorDataHandler dataHandler = visitorHandler.getDataHandler();
+ dataHandler.onDone();
+ String expectedOutput = jsonOutput ? "[]" : "";
+ String output = out.toString().trim();
+ assertEquals(expectedOutput, output);
+ }
} \ No newline at end of file