diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java @ 9006:7134a4c7d1b6

U-Info S-Info general work
author gernotbelger
date Tue, 17 Apr 2018 13:20:25 +0200
parents d5802f22e4f5
children 23945061daec
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java	Tue Apr 17 13:19:56 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java	Tue Apr 17 13:20:25 2018 +0200
@@ -8,20 +8,24 @@
 
 package org.dive4elements.river.artifacts.sinfo.flowdepth;
 
+import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.log4j.Logger;
 import org.dive4elements.river.artifacts.common.GeneralResultType;
+import org.dive4elements.river.artifacts.common.JasperDesigner;
+import org.dive4elements.river.artifacts.common.JasperReporter;
+import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
 import org.dive4elements.river.artifacts.common.ResultRow;
 import org.dive4elements.river.artifacts.sinfo.common.AbstractSInfoExporter;
 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo;
-import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
 
 import au.com.bytecode.opencsv.CSVWriter;
+import net.sf.jasperreports.engine.JRException;
 
 /**
  * Generates different output formats (csv, pdf) of data that resulted from a flow depths min/max computation.
@@ -59,6 +63,8 @@
         final WstInfo wst = result.getWst();
         super.writeCSVWaterlevelMetadata(writer, wst);
 
+        writer.writeNext(new String[] { "" }); // break line
+
     }
 
     /**
@@ -125,8 +131,22 @@
     }
 
     @Override
-    protected final String getJasperFile() {
-        return JASPER_FILE;
+    protected void writePDF(final OutputStream out) {
+
+        try {
+            final MetaAndTableJRDataSource source = createJRData(this.data);
+            final JasperReporter reporter = new JasperReporter();
+            final JasperDesigner design = reporter.addReport(JASPER_FILE, source);
+
+            if (!getData().isUseTkh()) {
+                design.removeColumn("tkh");
+                design.removeColumn("flowdepthtkh");
+            }
+            reporter.exportPDF(out);
+        }
+        catch (final JRException je) {
+            getLog().warn("Error generating PDF Report!", je);
+        }
     }
 
     @Override

http://dive4elements.wald.intevation.org