X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.app.servlet.odk%2Fsrc%2Forg%2Fargeo%2Fapp%2Fservlet%2Fodk%2FOdkManifestServlet.java;h=9d1812cabfb6b8f13cdf316206b8c29ec45542bd;hp=06826962a97523401764032233301c1a4ef3bc7e;hb=4ddac76750a05a23a179b54f8f3fc785b1411f23;hpb=37b8da6d2986158840e40e61e44ed7cd5d6455fa diff --git a/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkManifestServlet.java b/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkManifestServlet.java index 0682696..9d1812c 100644 --- a/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkManifestServlet.java +++ b/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkManifestServlet.java @@ -155,13 +155,21 @@ public class OdkManifestServlet extends HttpServlet { CsvWriter csvWriter = new CsvWriter(out, charset); csvWriter.writeLine(columnNames); RowIterator rit = queryResult.getRows(); - while (rit.hasNext()) { - Row row = rit.nextRow(); - Value[] values = row.getValues(); - List lst = new ArrayList<>(); - for (Value value : values) { - lst.add(value.getString()); + if (rit.hasNext()) { + while (rit.hasNext()) { + Row row = rit.nextRow(); + Value[] values = row.getValues(); + List lst = new ArrayList<>(); + for (Value value : values) { + lst.add(value.getString()); + } + csvWriter.writeLine(lst); } + } else { + // corner case of an empty initial database + List lst = new ArrayList<>(); + for (int i = 0; i < columnNames.length; i++) + lst.add("-"); csvWriter.writeLine(lst); } }