From 0fc411d66a592e01e81d3811b9b3072794de07d2 Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Tue, 11 Oct 2022 18:53:26 +0200 Subject: [PATCH] Flush stdout --- .../java/eu/simstadt/regionchooser/RegionChooserCLI.java | 3 ++- .../eu/simstadt/regionchooser/RegionChooserCLITests.java | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/simstadt/regionchooser/RegionChooserCLI.java b/src/main/java/eu/simstadt/regionchooser/RegionChooserCLI.java index 5bee332..e54f6d6 100644 --- a/src/main/java/eu/simstadt/regionchooser/RegionChooserCLI.java +++ b/src/main/java/eu/simstadt/regionchooser/RegionChooserCLI.java @@ -19,7 +19,7 @@ /** * Command Line Interface for RegionChooser. Could be useful to extract large regions on server, or automate the process * from batch/python scripts. - * + * */ // Usage: region_chooser [-hlV] [-e=31467] -o=output.gml -w=polygon.wkt -i=input. @@ -109,6 +109,7 @@ public Integer call() throws Exception { logInfo("CityGML written to stdout."); PrintWriter stdOut = spec.commandLine().getOut(); count = RegionExtractor.selectRegionDirectlyFromCityGML(wktPolygon, localCRS.toString(), stdOut, citygmls); + stdOut.flush(); // To make sure the footer is written too. } else { try (BufferedWriter gmlWriter = Files.newBufferedWriter(outputCityGML)) { count = RegionExtractor.selectRegionDirectlyFromCityGML(wktPolygon, localCRS.toString(), gmlWriter, diff --git a/src/test/java/eu/simstadt/regionchooser/RegionChooserCLITests.java b/src/test/java/eu/simstadt/regionchooser/RegionChooserCLITests.java index b4d3b5f..1d6465d 100644 --- a/src/test/java/eu/simstadt/regionchooser/RegionChooserCLITests.java +++ b/src/test/java/eu/simstadt/regionchooser/RegionChooserCLITests.java @@ -67,8 +67,6 @@ void testExtractRegionFromTwoCitygmls() throws IOException { wkt.write(wktPolygon); } assertFalse(Files.exists(outGML)); - // originalOut.println("--input=" + citygml1 + "," + citygml2 + " " + - // "--output=" + outGML + " " + "--wkt=" + inWKT + " " + "--epsg=31463" + " " + "--local"); new CommandLine(new RegionChooserCLI()).execute("--input=" + citygml1 + "," + citygml2, "--output=" + outGML, "--wkt=" + inWKT, "--epsg=31463", "--local"); @@ -126,7 +124,8 @@ void testExtractRegionWithStandardInputAndStandardOutput() throws IOException { assertTrue(err.toString().contains(expectedLog), err.toString() + " should contain " + expectedLog); String expectedBuilding = "uuid_0547df65-ae80-459e-bb15-c839c1a2e566"; assertTrue(out.toString().contains(expectedBuilding), out.toString() + " should contain " + expectedBuilding); - //FIXME: Footer isn't here, and I don't know why... Should stdout be flushed, closed? + String expectedFooter = "</CityModel>"; + assertTrue(out.toString().contains(expectedFooter), out.toString() + " should contain " + expectedFooter); assertFalse(Files.exists(noOutput)); } -- GitLab