diff artifacts/src/main/java/org/dive4elements/river/artifacts/common/ExportContextCSV.java @ 9195:a4121ec450d6

'ca.'-issue ExportContextCSV+PDF separated uinfo.inundationduration url export
author gernotbelger
date Fri, 29 Jun 2018 14:52:54 +0200
parents 3931e8741f53
children 740d65e4aa14
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/common/ExportContextCSV.java	Thu Jun 28 15:57:40 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/common/ExportContextCSV.java	Fri Jun 29 14:52:54 2018 +0200
@@ -10,7 +10,6 @@
 package org.dive4elements.river.artifacts.common;
 
 import java.text.DateFormat;
-import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -22,11 +21,9 @@
 import org.dive4elements.river.FLYS;
 import org.dive4elements.river.artifacts.resources.Resources;
 import org.dive4elements.river.artifacts.sinfo.common.SInfoI18NStrings;
-import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
 import org.dive4elements.river.artifacts.sinfo.util.BedHeightInfo;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
-import org.dive4elements.river.utils.Formatter;
 
 import au.com.bytecode.opencsv.CSVWriter;
 
@@ -34,7 +31,7 @@
  * @author Domenico Nardi Tironi
  *
  */
-public final class ExportContextCSV {
+public final class ExportContextCSV extends AbstractExportContext {
 
     private static final String CSV_META_HEADER_EVALUATOR = "sinfo.export.flow_depth.csv.meta.header.sounding.evaluator";
 
@@ -50,33 +47,20 @@
 
     private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL_ORIGINAL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel.original";
 
-    private NumberFormat qFormat = null;
-
-    private NumberFormat flowDepthFormat = null;
-
-    private NumberFormat kmFormat = null;
-
-    /** The CallContext object. */
-    private final CallContext context;
-
     private final CSVWriter writer;
 
-    public ExportContextCSV(final CallContext context, final CSVWriter writer) {
-        this.context = context;
-        this.writer = writer;
-    }
+    private final AbstractCalculationResults<?> results;
 
-    private String msg(final String key) {
-        return Resources.getMsg(this.context.getMeta(), key, key);
-    }
+    public ExportContextCSV(final CallContext context, final CSVWriter writer, final AbstractCalculationResults<?> results) {
+        super(context, results);
 
-    public String msg(final String key, final Object... args) {
-        return Resources.getMsg(this.context.getMeta(), key, key, args);
+        this.writer = writer;
+        this.results = results;
     }
 
     public final void writeCSVMetaEntry(final String message, final Object... messageArgs) {
 
-        final CallMeta meta = this.context.getMeta();
+        final CallMeta meta = getContext().getMeta();
 
         this.writer.writeNext(new String[] { Resources.getMsg(meta, message, message, messageArgs) });
     }
@@ -101,19 +85,11 @@
         return msg(type.getCsvHeader());
     }
 
-    public String formatRowValue(final ResultRow row, final IResultType type) {
-        return row.exportValue(this.context, type);
-    }
-
-    public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final IResultType type) {
-        source.addMetaData(key, type.getPdfHeader(this.context.getMeta()));
-    }
-
-    public final void writeCSVGlobalMetadataDefaults(final AbstractCalculationResults<?> results) {
+    public final void writeCSVGlobalMetadataDefaults() {
         // TODO: results as member
-        final String calcModeLabel = results.getCalcModeLabel();
-        final RiverInfo river = results.getRiver();
-        final DoubleRange calcRange = results.getCalcRange();
+        final String calcModeLabel = this.results.getCalcModeLabel();
+        final RiverInfo river = this.results.getRiver();
+        final DoubleRange calcRange = this.results.getCalcRange();
 
         writeCSVMetaEntry(I18NStrings.CSV_META_HEADER_RESULT, msg(I18NStrings.CSV_META_HEADER_RESULT_LABEL), river.getName(), calcModeLabel);
 
@@ -121,10 +97,10 @@
         writeCSVMetaEntry(I18NStrings.CSV_META_VERSION, msg(I18NStrings.CSV_META_VERSION_LABEL), FLYS.VERSION);
 
         // "# Bearbeiter: "
-        writeCSVMetaEntry(I18NStrings.CSV_META_USER, msg(I18NStrings.CSV_META_USER_LABEL), results.getUser());
+        writeCSVMetaEntry(I18NStrings.CSV_META_USER, msg(I18NStrings.CSV_META_USER_LABEL), this.results.getUser());
 
         // "# Datum der Erstellung: "
-        final Locale locale = Resources.getLocale(this.context.getMeta());
+        final Locale locale = Resources.getLocale(getContext().getMeta());
         final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
         writeCSVMetaEntry(I18NStrings.CSV_META_CREATION, msg(I18NStrings.CSV_META_CREATION_LABEL), df.format(new Date()));
 
@@ -161,33 +137,6 @@
             writeCSVMetaEntry(SInfoI18NStrings.CSV_META_HEADER_WATERLEVEL_YEAR, Integer.toString(year));
     }
 
-    // copy from AbstractExporter TODO merge with ExportContextPDF
-    protected NumberFormat getKmFormatter() {
-
-        if (this.kmFormat == null)
-            this.kmFormat = Formatter.getWaterlevelKM(this.context);
-
-        return this.kmFormat;
-    }
-
-    public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final String msg) {
-        source.addMetaData(key, msg);
-    }
-
-    public NumberFormat getQFormatter() {
-        if (this.qFormat == null)
-            this.qFormat = Formatter.getWaterlevelQ(this.context);
-
-        return this.qFormat;
-    }
-
-    public final NumberFormat getFlowDepthFormatter() {
-        if (this.flowDepthFormat == null)
-            this.flowDepthFormat = Formatter.getFlowDepth(this.context);
-
-        return this.flowDepthFormat;
-    }
-
     /**
      * Formats header with unit: msg [unit]
      */
@@ -228,10 +177,6 @@
         return String.format("%s [%s] (%s)", msg, unit, label);
     }
 
-    public String msgPdf(final SInfoResultType type) {
-        return type.getPdfHeader(this.context.getMeta());
-    }
-
     public void writeTitleForTabs(final String tabTitleMsg, final int colSize) {
 
         final Collection<String> title = new ArrayList<>(colSize);

http://dive4elements.wald.intevation.org