gernotbelger@8854: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
gernotbelger@8854: * Software engineering by Intevation GmbH
gernotbelger@8854: *
gernotbelger@8854: * This file is Free Software under the GNU AGPL (>=v3)
gernotbelger@8854: * and comes with ABSOLUTELY NO WARRANTY! Check out the
gernotbelger@8854: * documentation coming with Dive4Elements River for details.
gernotbelger@8854: */
gernotbelger@8854:
gernotbelger@8854: package org.dive4elements.river.artifacts.sinfo.flowdepth;
gernotbelger@8854:
gernotbelger@9150: import org.dive4elements.river.artifacts.common.AbstractCommonExporter;
gernotbelger@9150: import org.dive4elements.river.artifacts.common.ExportContextCSV;
gernotbelger@9195: import org.dive4elements.river.artifacts.common.ExportContextPDF;
gernotbelger@9006: import org.dive4elements.river.artifacts.common.JasperDesigner;
gernotbelger@9006: import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
gernotbelger@8854:
gernotbelger@8854: /**
gernotbelger@8946: * Generates different output formats (csv, pdf) of data that resulted from a flow depths min/max computation.
gernotbelger@8854: *
gernotbelger@8854: * @author Ingo Weinzierl
gernotbelger@8854: * @author Gernot Belger
gernotbelger@8854: */
gernotbelger@8854: // REMARK: must be public because its registered in generators.xml
gernotbelger@9195: public class FlowDepthExporter extends AbstractCommonExporter {
gernotbelger@8863:
gernotbelger@8928: @Override
gernotbelger@9195: protected void writeCSVGlobalMetadata(final ExportContextCSV exportContext, final FlowDepthCalculationResults results) {
gernotbelger@9195: exportContext.writeCSVGlobalMetadataDefaults();
gernotbelger@8877: }
gernotbelger@8854:
gernotbelger@8928: @Override
gernotbelger@9195: protected void writePDFGlobalMetadata(final ExportContextPDF exportContext, final MetaAndTableJRDataSource source) {
gernotbelger@9322: exportContext.addJRMetaDataForModules(source);
gernotbelger@8854: }
gernotbelger@8854:
gernotbelger@9195: @Override
gernotbelger@9195: protected final void configureDesign(final FlowDepthCalculationResult result, final JasperDesigner design) {
gernotbelger@9195:
gernotbelger@9195: if (result instanceof FlowDepthCalculationResult)
gernotbelger@9195: if (!result.hasTkh()) {
gernotbelger@9195: design.removeColumn("tkh");
gernotbelger@9195: design.removeColumn("flowdepthtkh");
gernotbelger@9195: }
gernotbelger@9365:
gernotbelger@9365: if (result instanceof FlowDepthCalculationResult)
gernotbelger@9365: if (!result.isShowRefGauges()) {
gernotbelger@9365: design.removeColumn("refgauge");
gernotbelger@9365: }
gernotbelger@9195: }
gernotbelger@8928: }