diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculationResult.java @ 9190:0633f963c5be

uinfo.inundationduration workflow
author gernotbelger
date Thu, 28 Jun 2018 15:10:04 +0200
parents 23945061daec
children 787fc085459b
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculationResult.java	Thu Jun 28 14:11:12 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculationResult.java	Thu Jun 28 15:10:04 2018 +0200
@@ -9,95 +9,48 @@
  */
 package org.dive4elements.river.artifacts.uinfo.inundationduration;
 
+import java.io.Serializable;
 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.GeneralResultType;
-import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
-import org.dive4elements.river.artifacts.common.ResultRow;
-import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
-import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
-import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
+import java.util.List;
 
 /**
  * @author Domenico Nardi Tironi
  */
-final class InundationDurationCalculationResult extends AbstractCalculationExportableResult<InundationDurationCalculationResults> {
+final class InundationDurationCalculationResult implements Serializable {
 
     private static final long serialVersionUID = 1L;
-    private static final String JASPER_FILE = "/jasper/templates/uinfo.inundationduration.jrxml";
-
-    public InundationDurationCalculationResult(final String label, final WstInfo wst, final Collection<ResultRow> rows) {
-        super(label, rows);
-    }
-
-    @Override
-    public void writeCSVHeader(final ExportContextCSV exportContextCSV, final InundationDurationCalculationResults results, final RiverInfo river) {
-
-        final Collection<String> header = new ArrayList<>(11);
-
-        header.add(exportContextCSV.formatCsvHeader(GeneralResultType.station));
-        header.add(exportContextCSV.msgUnitCSV(SInfoResultType.flowdepth));
 
-        header.add(exportContextCSV.msgUnitCSV(SInfoResultType.waterlevel, river.getWstUnit()));
-        header.add(exportContextCSV.msgUnitCSV(SInfoResultType.discharge));
-        header.add(exportContextCSV.formatCsvHeader(SInfoResultType.waterlevelLabel));
-        header.add(exportContextCSV.formatCsvHeader(SInfoResultType.gaugeLabel));
-        header.add(exportContextCSV.msgUnitCSV(SInfoResultType.meanBedHeight, river.getWstUnit()));
-        header.add(exportContextCSV.formatCsvHeader(SInfoResultType.soundingLabel));
-        header.add(exportContextCSV.formatCsvHeader(SInfoResultType.location));
+    private final List<WmsLayer> layers = new ArrayList<>();
 
-        exportContextCSV.writeCSVLine(header.toArray(new String[header.size()]));
+    public final static class WmsLayer {
+        private final String label;
+        private final String url;
+        private final boolean showLayerLink;
 
-    }
+        public WmsLayer(final String label, final String url, final boolean showLayerLink) {
+            this.label = label;
+            this.url = url;
+            this.showLayerLink = showLayerLink;
+        }
 
-    @Override
-    protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV, final InundationDurationCalculationResults results) {
-        // no Result metadata so far
+        public String getLabel() {
+            return this.label;
+        }
+
+        public String getUrl() {
+            return this.url;
+        }
+
+        public boolean isShowLayerLink() {
+            return this.showLayerLink;
+        }
     }
 
-    @Override
-    protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final InundationDurationCalculationResults results, final ResultRow row) {
-        return formatRow(exportContextCSV, results, row);
-    }
-
-    @Override
-    protected String[] formatPDFRow(final ExportContextCSV exportContextPDF, final InundationDurationCalculationResults results, final ResultRow row) {
-
-        return formatRow(exportContextPDF, results, row);
-    }
-
-    @Override
-    protected String getJasperFile() {
-
-        return JASPER_FILE;
+    public void addLayer(final String label, final String url, final boolean showLayerLink) {
+        this.layers.add(new WmsLayer(label, url, showLayerLink));
     }
 
-    @Override
-    protected void addJRTableHeader(final ExportContextCSV exportContextPDF, final MetaAndTableJRDataSource source,
-            final InundationDurationCalculationResults results) {
-
-        exportContextPDF.addJRMetadata(source, "station_header", GeneralResultType.station);
+    public List<WmsLayer> getLayers() {
+        return this.layers;
     }
-
-    protected String[] formatRow(final ExportContextCSV context, final InundationDurationCalculationResults results, final ResultRow row) {
-
-        final Collection<String> lines = new ArrayList<>(11);
-
-        lines.add(context.formatRowValue(row, GeneralResultType.station));
-        lines.add(context.formatRowValue(row, SInfoResultType.flowdepth));
-
-        lines.add(context.formatRowValue(row, SInfoResultType.waterlevel));
-        lines.add(context.formatRowValue(row, SInfoResultType.discharge));
-        lines.add(context.formatRowValue(row, SInfoResultType.waterlevelLabel));
-        lines.add(context.formatRowValue(row, SInfoResultType.gaugeLabel));
-        lines.add(context.formatRowValue(row, SInfoResultType.meanBedHeight));
-        lines.add(context.formatRowValue(row, SInfoResultType.soundingLabel));
-        lines.add(context.formatRowValue(row, SInfoResultType.location));
-
-        return lines.toArray(new String[lines.size()]);
-    }
-
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org