Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationNoScenarioResult.java @ 9243:da0bdbcd6f09
salix.supraRegional+Regional results
author | gernotbelger |
---|---|
date | Wed, 11 Jul 2018 13:36:18 +0200 |
parents | artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java@a4121ec450d6 |
children | 72b3270e1568 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationNoScenarioResult.java Wed Jul 11 13:36:18 2018 +0200 @@ -0,0 +1,136 @@ +/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde + * Software engineering by + * Björnsen Beratende Ingenieure GmbH + * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt + * + * This file is Free Software under the GNU AGPL (>=v3) + * and comes with ABSOLUTELY NO WARRANTY! Check out the + * documentation coming with Dive4Elements River for details. + */ +package org.dive4elements.river.artifacts.uinfo.salix; + +import java.util.ArrayList; +import java.util.Collection; + +import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult; +import org.dive4elements.river.artifacts.common.ExportContextCSV; +import org.dive4elements.river.artifacts.common.ExportContextPDF; +import org.dive4elements.river.artifacts.common.GeneralResultType; +import org.dive4elements.river.artifacts.common.IExportContext; +import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; +import org.dive4elements.river.artifacts.common.ResultRow; +import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; +import org.dive4elements.river.artifacts.sinfo.util.WstInfo; +import org.dive4elements.river.artifacts.uinfo.commons.UInfoResultType; + +/** + * @author Domenico Nardi Tironi + */ +class SalixLineCalculationNoScenarioResult extends AbstractCalculationExportableResult { + + private static final long serialVersionUID = 1L; + private static final String JASPER_FILE = "/jasper/templates/uinfo.salixline.jrxml"; + + public SalixLineCalculationNoScenarioResult(final String label, final WstInfo wst, final Collection<ResultRow> rows) { + super(label, rows); + } + + @Override + public void writeCSVHeader(final ExportContextCSV exportContextCSV, final RiverInfo river) { + final Collection<String> header = writeNoScenarioHeader(exportContextCSV); + exportContextCSV.writeCSVLine(header.toArray(new String[header.size()])); + + } + + protected final Collection<String> writeNoScenarioHeader(final ExportContextCSV exportContextCSV) { + final Collection<String> header = new ArrayList<>(); + header.add(exportContextCSV.formatCsvHeader(GeneralResultType.station)); + header.add(exportContextCSV.formatCsvHeader(UInfoResultType.salixline)); + header.add(exportContextCSV.formatCsvHeader(UInfoResultType.salix_delta_mw)); + return header; + } + + @Override + protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final ResultRow row) { + + return formatRow(exportContextCSV, row); + } + + @Override + protected String[] formatPDFRow(final ExportContextPDF exportContextPDF, final ResultRow row) { + + return formatRow(exportContextPDF, row); + } + + @Override + protected String getJasperFile() { + + return this.JASPER_FILE; + } + + @Override + protected void addJRTableHeader(final ExportContextPDF exportContextPDF, final MetaAndTableJRDataSource source) { + + /* additional column headings */ + exportContextPDF.addJRMetadata(source, "station_header", GeneralResultType.station); + exportContextPDF.addJRMetadata(source, "salix_line", UInfoResultType.salixline); + exportContextPDF.addJRMetadata(source, "salix_delta_mw", UInfoResultType.salix_delta_mw); + + } + + private String[] formatRow(final IExportContext context, final ResultRow row) { + + final Collection<String> lines = getNoScenarioFormat(row, context); + + // // ?? + // // wenn "historisch" gewählt wurde, nur "historisch" anzeigen; sonst für jeden scen-wert ne neue Spalte und "hist" + // // ausblenden!...!..!! + // lines.add(context.formatRowValue(row, UInfoResultType.salixlinehist)); + // lines.add(context.formatRowValue(row, UInfoResultType.salixlinescen)); + + return lines.toArray(new String[lines.size()]); + } + + protected final Collection<String> getNoScenarioFormat(final ResultRow row, final IExportContext context) { + final Collection<String> lines = new ArrayList<>(); + lines.add(context.formatRowValue(row, GeneralResultType.station)); + lines.add(context.formatRowValue(row, UInfoResultType.salixline)); + lines.add(context.formatRowValue(row, UInfoResultType.salix_delta_mw)); + + return lines; + + } + + protected final void writeRegionalCommonCSVMeta(final ExportContextCSV exportContextCSV) { + final String main = "uinfo.export.csv.meta.header.salix"; + // "# Szenariotyp: " + exportContextCSV.writeCSVMetaEntry(main + ".szenariotyp"); + // "# Teilabschnitt: " + exportContextCSV.writeCSVMetaEntry(main + ".teilabschnitt"); + // "# Mittelwasserspiegellagenänderung: " + exportContextCSV.writeCSVMetaEntry(main + ".mwspiegellaenderung"); + } + + @Override + protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV) { + // do nothing. subclass may override + + } + + // private void writeHistoricalViewCSVMetadata(final ExportContextCSV exportContextCSV) { + // final String main = "uinfo.export.csv.meta.header.salix.historical"; + // // "##Historische Betrachtung" + // exportContextCSV.writeCSVMetaEntry(main); + // + // final String mainSub = "uinfo.export.csv.meta.header.salix"; + // // "# Szenariotyp: " + // exportContextCSV.writeCSVMetaEntry(mainSub + ".szenariotyp"); + // // "# Teilabschnitt: " + // exportContextCSV.writeCSVMetaEntry(mainSub + ".teilabschnitt"); + // + // // "# Art des Zeitraums: " + // exportContextCSV.writeCSVMetaEntry(main + ".zeitart"); + // // "# Historischer Zeitpunkt: " + // exportContextCSV.writeCSVMetaEntry(main + ".zeitpunkt"); + // } +} \ No newline at end of file