diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationExporter.java @ 9006:7134a4c7d1b6

U-Info S-Info general work
author gernotbelger
date Tue, 17 Apr 2018 13:20:25 +0200
parents fb9430250899
children 41f4bc83aa7a
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationExporter.java	Tue Apr 17 13:19:56 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationExporter.java	Tue Apr 17 13:20:25 2018 +0200
@@ -9,18 +9,21 @@
 */
 package org.dive4elements.river.artifacts.uinfo.inundationduration;
 
+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.JasperReporter;
+import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
 import org.dive4elements.river.artifacts.common.ResultRow;
 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
-import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.uinfo.commons.AbstractUInfoExporter;
 
 import au.com.bytecode.opencsv.CSVWriter;
+import net.sf.jasperreports.engine.JRException;
 
 /**
  * @author Domenico Nardi Tironi
@@ -31,7 +34,7 @@
     /** The log used in this exporter. */
     private static Logger log = Logger.getLogger(InundationDurationExporter.class);
 
-    private static final String JASPER_FILE = "/jasper/uinfo.inundationduration.jasper";
+    private static final String JASPER_FILE = "/jasper/templates/uinfo.inundationduration.jrxml";
 
     @Override
     protected Logger getLog() {
@@ -43,6 +46,7 @@
         log.info("SalixLineExporter.writeCSVMeta");
 
         super.writeCSVGlobalMetadataDefaults(writer, results);
+        writer.writeNext(new String[] { "" }); // break line
     }
 
     @Override
@@ -111,28 +115,28 @@
     }
 
     @Override
-    protected final String getJasperFile() {
-        return JASPER_FILE;
-    }
-
-    @Override
     protected final void addJRMetaData(final MetaAndTableJRDataSource source, final InundationDurationCalculationResults results) {
 
         /* general metadata */
         super.addJRMetaData(source, results);
-       
+
         /* column headings */
         source.addMetaData("station_header", GeneralResultType.station.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("flowdepth_header", SInfoResultType.flowdepth.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("flowdepth_tkh_header", SInfoResultType.flowdepthtkh.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("tkh_header", SInfoResultType.tkh.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("waterlevel_header", SInfoResultType.waterlevel.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("discharge_header", SInfoResultType.discharge.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("waterlevel_name_header", SInfoResultType.waterlevelLabel.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("gauge_header", SInfoResultType.gaugeLabel.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("bedheight_header", SInfoResultType.meanBedHeight.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("sounding_name_header", SInfoResultType.soundingLabel.getPdfHeader(this.context.getMeta()));
-        // source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta()));
+
+    }
+
+    @Override
+    protected void writePDF(final OutputStream out) {
+        try {
+            final MetaAndTableJRDataSource source = createJRData(this.data);
+
+            final JasperReporter reporter = new JasperReporter();
+            reporter.addReport(JASPER_FILE, source);
+            reporter.exportPDF(out);
+        }
+        catch (final JRException je) {
+            getLog().warn("Error generating PDF Report!", je);
+        }
     }
 
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org