comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationHistoricalResult.java @ 9361:2aec052d4088

Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
author mschaefer
date Wed, 01 Aug 2018 18:01:11 +0200
parents b3d3c958a594
children
comparison
equal deleted inserted replaced
9360:ddcd52d239cd 9361:2aec052d4088
10 package org.dive4elements.river.artifacts.uinfo.salix; 10 package org.dive4elements.river.artifacts.uinfo.salix;
11 11
12 import java.util.Collection; 12 import java.util.Collection;
13 13
14 import org.dive4elements.river.artifacts.common.ExportContextCSV; 14 import org.dive4elements.river.artifacts.common.ExportContextCSV;
15 import org.dive4elements.river.artifacts.common.IExportContext;
16 import org.dive4elements.river.artifacts.common.ResultRow; 15 import org.dive4elements.river.artifacts.common.ResultRow;
17 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
18 import org.dive4elements.river.artifacts.uinfo.common.UInfoResultType;
19 16
20 /** 17 /**
21 * @author Domenico Nardi Tironi 18 * @author Domenico Nardi Tironi
22 */ 19 */
23 final class SalixLineCalculationHistoricalResult extends SalixLineCalculationNoScenarioResult { 20 final class SalixLineCalculationHistoricalResult extends SalixLineCalculationResult {
24 21
25 private static final long serialVersionUID = 1L; 22 private static final long serialVersionUID = 1L;
26 23
27 public SalixLineCalculationHistoricalResult(final String label, final Collection<ResultRow> rows) { 24 private final String timeString;
28 super(label, rows); 25
26 public SalixLineCalculationHistoricalResult(final String label, final String[] scenarioLabels, final String partialRangeString, final String timeString,
27 final Collection<ResultRow> rows) {
28
29 super(label, scenarioLabels, partialRangeString, "", rows);
30 this.timeString = timeString;
29 } 31 }
30 32
31 @Override
32 public void writeCSVHeader(final ExportContextCSV exportContextCSV, final RiverInfo river) {
33
34 final Collection<String> header = super.writeNoScenarioHeader(exportContextCSV);
35
36 header.add(exportContextCSV.formatCsvHeader(UInfoResultType.salixlinehist));
37 header.add(exportContextCSV.formatCsvHeader(UInfoResultType.salix_line_scenario_dwspl));
38
39 exportContextCSV.writeCSVLine(header.toArray(new String[header.size()]));
40 }
41 33
42 @Override 34 @Override
43 protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV) { 35 protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV) {
44 writeHistoricalViewCSVMetadata(exportContextCSV); 36 writeHistoricalViewCSVMetadata(exportContextCSV);
45 exportContextCSV.writeBlankLine(); 37 exportContextCSV.writeBlankLine();
46 } 38 }
47 39
48 @Override 40 private void writeHistoricalViewCSVMetadata(final ExportContextCSV exportContextCSV) {
49 protected String[] formatRow(final IExportContext context, final ResultRow row) {
50 41
51 final Collection<String> lines = super.getNoScenarioFormat(row, context); 42 final String main = "uinfo.export.csv.meta.header.salix";
43 final String mainSub = "uinfo.export.csv.meta.header.salix.historical";
52 44
53 if (context instanceof ExportContextCSV) { // enum gespart - pdf-export hat ja nur die drei spalten 45 // "##Historische Betrachtung"
54 lines.add(context.formatRowValue(row, UInfoResultType.salixlinehist)); 46 exportContextCSV.writeCSVMetaEntry(mainSub);
55 lines.add(context.formatRowValue(row, UInfoResultType.salix_line_scenario_dwspl));
56 47
57 }
58 return lines.toArray(new String[lines.size()]);
59 }
60
61 private void writeHistoricalViewCSVMetadata(final ExportContextCSV exportContextCSV) {
62 final String main = "uinfo.export.csv.meta.header.salix.historical";
63 // "##Historische Betrachtung"
64 exportContextCSV.writeCSVMetaEntry(main);
65
66 final String mainSub = "uinfo.export.csv.meta.header.salix";
67 // "# Teilabschnitt: " 48 // "# Teilabschnitt: "
68 exportContextCSV.writeCSVMetaEntry(mainSub + ".teilabschnitt"); 49 exportContextCSV.writeCSVMetaEntry(main + ".teilabschnitt", this.getPartialRangeString());
69 50
70 // "# Historischer Zeitpunkt: " 51 // "# Historischer Zeitpunkt: "
71 exportContextCSV.writeCSVMetaEntry(main + ".zeitpunkt"); 52 exportContextCSV.writeCSVMetaEntry(mainSub + ".zeitpunkt", this.timeString);
53
54 exportContextCSV.writeBlankLine();
72 } 55 }
73 } 56 }

http://dive4elements.wald.intevation.org