Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java @ 9312:740d65e4aa14
Q [m³/s] one message
author | gernotbelger |
---|---|
date | Thu, 26 Jul 2018 15:54:20 +0200 |
parents | 2b0ff11cef3f |
children |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java Thu Jul 26 11:16:06 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java Thu Jul 26 15:54:20 2018 +0200 @@ -9,39 +9,33 @@ package org.dive4elements.river.exports; import java.io.OutputStream; +import java.text.DateFormat; import java.text.NumberFormat; import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.Date; import java.util.HashMap; -import java.util.Date; -import java.text.DateFormat; +import java.util.List; import java.util.Locale; +import java.util.Map; import org.apache.log4j.Logger; +import org.dive4elements.artifacts.CallMeta; +import org.dive4elements.artifacts.common.utils.Config; +import org.dive4elements.river.artifacts.D4EArtifact; +import org.dive4elements.river.artifacts.access.RangeAccess; +import org.dive4elements.river.artifacts.access.RiverAccess; +import org.dive4elements.river.artifacts.model.CalculationResult; +import org.dive4elements.river.artifacts.model.WKmsJRDataSource; +import org.dive4elements.river.artifacts.model.WQDay; +import org.dive4elements.river.artifacts.resources.Resources; +import org.dive4elements.river.utils.Formatter; +import org.dive4elements.river.utils.RiverUtils; import au.com.bytecode.opencsv.CSVWriter; - +import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; -import net.sf.jasperreports.engine.JRException; - -import org.dive4elements.artifacts.CallMeta; -import org.dive4elements.artifacts.common.utils.Config; - -import org.dive4elements.river.artifacts.D4EArtifact; - -import org.dive4elements.river.artifacts.access.RiverAccess; -import org.dive4elements.river.artifacts.access.RangeAccess; -import org.dive4elements.river.artifacts.model.WQDay; -import org.dive4elements.river.artifacts.model.CalculationResult; -import org.dive4elements.river.artifacts.model.WKmsJRDataSource; -import org.dive4elements.river.artifacts.resources.Resources; - -import org.dive4elements.river.utils.RiverUtils; -import org.dive4elements.river.utils.Formatter; - /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> @@ -51,15 +45,11 @@ /** The log used in this exporter. */ private static Logger log = Logger.getLogger(DurationCurveExporter.class); - - public static final String CSV_DURATION_HEADER = - "export.duration.curve.csv.header.duration"; + public static final String CSV_DURATION_HEADER = "export.duration.curve.csv.header.duration"; - public static final String CSV_W_HEADER = - "export.duration.curve.csv.header.w"; + public static final String CSV_W_HEADER = "export.duration.curve.csv.header.w"; - public static final String CSV_Q_HEADER = - "export.duration.curve.csv.header.q"; + public static final String CSV_Q_HEADER = "common.export.csv.header.q"; public static final String PDF_HEADER_MODE = "export.duration.pdf.mode"; public static final String JASPER_FILE = "export.duration.pdf.file"; @@ -68,75 +58,58 @@ protected List<WQDay> data; public DurationCurveExporter() { - data = new ArrayList<WQDay>(); + this.data = new ArrayList<>(); } @Override protected void addData(Object d) { if (d instanceof CalculationResult) { - d = ((CalculationResult)d).getData(); + d = ((CalculationResult) d).getData(); if (d instanceof WQDay) { - data.add((WQDay)d); + this.data.add((WQDay) d); } } } - - protected void writeCSVData(CSVWriter writer) { + @Override + protected void writeCSVData(final CSVWriter writer) { log.info("DurationCurveExporter.writeData"); writeCSVHeader(writer); - for (WQDay wqday: data) { + for (final WQDay wqday : this.data) { wQDay2CSV(writer, wqday); } } - - protected void writeCSVHeader(CSVWriter writer) { + protected void writeCSVHeader(final CSVWriter writer) { log.info("DurationCurveExporter.writeCSVHeader"); - String unit = new RiverAccess((D4EArtifact)master) - .getRiver().getWstUnit().getName(); + final String unit = new RiverAccess((D4EArtifact) this.master).getRiver().getWstUnit().getName(); - writer.writeNext(new String[] { - msg(CSV_W_HEADER, new Object[] { unit }), - msg(CSV_Q_HEADER), - msg(CSV_DURATION_HEADER) - }); + writer.writeNext(new String[] { msg(CSV_W_HEADER, new Object[] { unit }), msg(CSV_Q_HEADER), msg(CSV_DURATION_HEADER) }); } - - protected void wQDay2CSV(CSVWriter writer, WQDay wqday) { + protected void wQDay2CSV(final CSVWriter writer, final WQDay wqday) { log.debug("DurationCurveExporter.wQDay2CSV"); - int size = wqday.size(); + final int size = wqday.size(); - NumberFormat wf = getWFormatter(); - NumberFormat qf = getQFormatter(); - NumberFormat df = getDFormatter(); + final NumberFormat wf = getWFormatter(); + final NumberFormat qf = getQFormatter(); + final NumberFormat df = getDFormatter(); if (wqday.isIncreasing()) { - for (int i = size-1; i >= 0; i --) { - writer.writeNext(new String[] { - wf.format(wqday.getW(i)), - qf.format(wqday.getQ(i)), - df.format(wqday.getDay(i)) - }); + for (int i = size - 1; i >= 0; i--) { + writer.writeNext(new String[] { wf.format(wqday.getW(i)), qf.format(wqday.getQ(i)), df.format(wqday.getDay(i)) }); } - } - else { - for (int i = 0; i < size; i ++) { - writer.writeNext(new String[] { - wf.format(wqday.getW(i)), - qf.format(wqday.getQ(i)), - df.format(wqday.getDay(i)) - }); + } else { + for (int i = 0; i < size; i++) { + writer.writeNext(new String[] { wf.format(wqday.getW(i)), qf.format(wqday.getQ(i)), df.format(wqday.getDay(i)) }); } } } - /** * Returns the number formatter for W values. * @@ -144,10 +117,9 @@ */ @Override protected NumberFormat getWFormatter() { - return Formatter.getDurationW(context); + return Formatter.getDurationW(this.context); } - /** * Returns the number formatter for Q values. * @@ -155,106 +127,81 @@ */ @Override protected NumberFormat getQFormatter() { - return Formatter.getDurationQ(context); + return Formatter.getDurationQ(this.context); } - /** * Returns the number formatter for duration values. * * @return the number formatter for duration values. */ protected NumberFormat getDFormatter() { - return Formatter.getDurationD(context); + return Formatter.getDurationD(this.context); } - @Override - protected void writePDF(OutputStream out) { - WKmsJRDataSource source = createJRData(); + protected void writePDF(final OutputStream out) { + final WKmsJRDataSource source = createJRData(); - String jasperFile = Resources.getMsg( - context.getMeta(), - JASPER_FILE, - "/jasper/duration_en.jasper"); - String confPath = Config.getConfigDirectory().toString(); + final String jasperFile = Resources.getMsg(this.context.getMeta(), JASPER_FILE, "/jasper/duration_en.jasper"); + final String confPath = Config.getConfigDirectory().toString(); - Map parameters = new HashMap(); + final Map parameters = new HashMap(); parameters.put("ReportTitle", "Exported Data"); try { - JasperPrint print = JasperFillManager.fillReport( - confPath + jasperFile, - parameters, - source); + final JasperPrint print = JasperFillManager.fillReport(confPath + jasperFile, parameters, source); JasperExportManager.exportReportToPdfStream(print, out); } - catch(JRException je) { + catch (final JRException je) { log.warn("Error generating PDF Report!"); je.printStackTrace(); } } protected WKmsJRDataSource createJRData() { - WKmsJRDataSource source = new WKmsJRDataSource(); + final WKmsJRDataSource source = new WKmsJRDataSource(); addMetaData(source); - for (WQDay wqday: data) { + for (final WQDay wqday : this.data) { addWQDayData(source, wqday); } return source; } - - protected void addMetaData(WKmsJRDataSource source) { - CallMeta meta = context.getMeta(); + protected void addMetaData(final WKmsJRDataSource source) { + final CallMeta meta = this.context.getMeta(); - D4EArtifact flys = (D4EArtifact) master; + final D4EArtifact flys = (D4EArtifact) this.master; - source.addMetaData ("river", RiverUtils.getRivername(flys)); + source.addMetaData("river", RiverUtils.getRivername(flys)); - Locale locale = Resources.getLocale(meta); - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); + final Locale locale = Resources.getLocale(meta); + final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); source.addMetaData("date", df.format(new Date())); - RangeAccess rangeAccess = new RangeAccess(flys); - double[] kms = rangeAccess.getKmRange(); + final RangeAccess rangeAccess = new RangeAccess(flys); + final double[] kms = rangeAccess.getKmRange(); source.addMetaData("range", String.valueOf(kms[0])); - source.addMetaData("calculation", Resources.getMsg( - locale, - PDF_HEADER_MODE, - "Duration")); + source.addMetaData("calculation", Resources.getMsg(locale, PDF_HEADER_MODE, "Duration")); } - protected void addWQDayData(WKmsJRDataSource source, WQDay wqday) { - int size = wqday.size(); + protected void addWQDayData(final WKmsJRDataSource source, final WQDay wqday) { + final int size = wqday.size(); - NumberFormat wf = getWFormatter(); - NumberFormat qf = getQFormatter(); - NumberFormat df = getDFormatter(); + final NumberFormat wf = getWFormatter(); + final NumberFormat qf = getQFormatter(); + final NumberFormat df = getDFormatter(); if (wqday.isIncreasing()) { - for (int i = size-1; i >= 0; i --) { - source.addData(new String[] { - "", - wf.format(wqday.getW(i)), - qf.format(wqday.getQ(i)), - "", "", "", - df.format(wqday.getDay(i)) - }); + for (int i = size - 1; i >= 0; i--) { + source.addData(new String[] { "", wf.format(wqday.getW(i)), qf.format(wqday.getQ(i)), "", "", "", df.format(wqday.getDay(i)) }); } - } - else { - for (int i = 0; i < size; i ++) { - source.addData(new String[] { - "", - wf.format(wqday.getW(i)), - qf.format(wqday.getQ(i)), - "", "", "", - df.format(wqday.getDay(i)) - }); + } else { + for (int i = 0; i < size; i++) { + source.addData(new String[] { "", wf.format(wqday.getW(i)), qf.format(wqday.getQ(i)), "", "", "", df.format(wqday.getDay(i)) }); } } }