diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculationResult.java @ 9170:9b2e46090099

tkh cast exception fix gigantic refactoring 2
author gernotbelger
date Thu, 21 Jun 2018 14:32:11 +0200
parents 23945061daec
children 1614cb14308f
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculationResult.java	Thu Jun 21 10:41:55 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculationResult.java	Thu Jun 21 14:32:11 2018 +0200
@@ -14,12 +14,11 @@
 import java.util.Collection;
 import java.util.List;
 
-import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult;
-import org.dive4elements.river.artifacts.common.AbstractCalculationResults;
 import org.dive4elements.river.artifacts.common.ExportContextCSV;
 import org.dive4elements.river.artifacts.common.GeneralResultType;
 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
 import org.dive4elements.river.artifacts.common.ResultRow;
+import org.dive4elements.river.artifacts.sinfo.common.AbstractTkhCalculationResult;
 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
@@ -29,25 +28,26 @@
  *
  * @author Gernot Belger
  */
-final class FloodDurationCalculationResult extends AbstractCalculationExportableResult {
+final class FloodDurationCalculationResult extends AbstractTkhCalculationResult<FloodDurationCalculationResults> {
 
     private static final long serialVersionUID = 1L;
     private final int waterlevelCount; // TODO: ggf 2 verschiedene Result-Klassen?
-    private final WstInfo wstInfo;
+    // private final WstInfo wstInfo;
     private final int maxWaterlevelPdf = 3;
 
     private enum ExportMode {
         pdf, csv
     }
 
-    public FloodDurationCalculationResult(final String label, final WstInfo wstInfo, final Collection<ResultRow> rows, final int waterlevelCount) {
-        super(label, rows);
+    public FloodDurationCalculationResult(final String label, final WstInfo wstInfo, final Collection<ResultRow> rows, final boolean hasTkh,
+            final int waterlevelCount) {
+        super(label, wstInfo, hasTkh, rows);
         this.waterlevelCount = waterlevelCount;
-        this.wstInfo = wstInfo;
+        // this.wstInfo = wstInfo;
     }
 
     @Override
-    public void writeCSVHeader(final ExportContextCSV exportContextCSV, final AbstractCalculationResults results, final RiverInfo river) {
+    public void writeCSVHeader(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final RiverInfo river) {
 
         final Collection<String> header = new ArrayList<>(99);
 
@@ -79,23 +79,22 @@
     }
 
     @Override
-    protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV, final AbstractCalculationResults results) {
+    protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results) {
 
-        exportContextCSV.writeCSVWaterlevelMetadata(this.wstInfo); // TODO: Abweichend vom Allgemeinen werden hier andere Felder benötigt bei den
-                                                                   // Wasserspiegellagen
+        exportContextCSV.writeCSVWaterlevelMetadata(super.getWst()); // -> export in super? -> TODO
         exportContextCSV.writeBlankLine();
         // writer.writeNext(new String[] { "" }); // break line
 
     }
 
     @Override
-    protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final AbstractCalculationResults results, final ResultRow row) {
+    protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final ResultRow row) {
         // TODO Auto-generated method stub
         return formatRow(exportContextCSV, results, row, ExportMode.csv);
     }
 
     @Override
-    protected String[] formatPDFRow(final ExportContextCSV exportContextCSV, final AbstractCalculationResults results, final ResultRow row) {
+    protected String[] formatPDFRow(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final ResultRow row) {
 
         return formatRow(exportContextCSV, results, row, ExportMode.pdf);
     }
@@ -109,7 +108,8 @@
     }
 
     @Override
-    protected void addJRTableHeader(final ExportContextCSV exportContextCSV, final MetaAndTableJRDataSource source, final AbstractCalculationResults results) {
+    protected void addJRTableHeader(final ExportContextCSV exportContextCSV, final MetaAndTableJRDataSource source,
+            final FloodDurationCalculationResults results) {
         /* column headings */
         exportContextCSV.addJRMetadata(source, "station_header", GeneralResultType.station);
         exportContextCSV.addJRMetadata(source, "riverside_header", SInfoResultType.riverside);
@@ -149,7 +149,8 @@
         return this.waterlevelCount;
     }
 
-    private String[] formatRow(final ExportContextCSV exportContextCSV, final AbstractCalculationResults results, final ResultRow row, final ExportMode mode) {
+    private String[] formatRow(final ExportContextCSV exportContextCSV, final FloodDurationCalculationResults results, final ResultRow row,
+            final ExportMode mode) {
 
         final Collection<String> lines = new ArrayList<>(99);
 

http://dive4elements.wald.intevation.org