annotate artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java @ 9801:1d7a72a50183 3.2.x tip

Assume Compose V2, consistently
author Tom Gottfried <tom@intevation.de>
date Thu, 23 Nov 2023 10:14:13 +0100
parents 0a5239a1e46e
children
rev   line source
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
1 /* Copyright (C) 2011, 2012, 2013, 2015 by Bundesanstalt für Gewässerkunde
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
9 package org.dive4elements.river.exports.sq;
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.OutputStream;
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.util.ArrayList;
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import java.util.List;
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
14 import java.util.Map;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
15 import java.util.HashMap;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
16 import java.util.Date;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
17 import java.util.Locale;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
18 import java.text.DateFormat;
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
19 import java.text.NumberFormat;
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
21 import net.sf.jasperreports.engine.JasperExportManager;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
22 import net.sf.jasperreports.engine.JasperFillManager;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
23 import net.sf.jasperreports.engine.JasperPrint;
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
24 import net.sf.jasperreports.engine.JRPrintPage;
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
25 import net.sf.jasperreports.engine.JRException;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
26
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 import au.com.bytecode.opencsv.CSVWriter;
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
29 import org.dive4elements.artifacts.CallMeta;
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
30
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
31 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
32 import org.dive4elements.river.artifacts.model.sq.SQFractionResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
33 import org.dive4elements.river.artifacts.model.sq.SQResult;
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
34 import org.dive4elements.river.artifacts.model.sq.SQ;
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
35 import org.dive4elements.river.artifacts.model.sq.SQRelationJRDataSource;
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
36 import org.dive4elements.river.artifacts.model.sq.SQMeasurementsJRDataSource;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
37 import org.dive4elements.river.artifacts.model.Parameters;
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
38 import org.dive4elements.river.artifacts.model.DateRange;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
39 import org.dive4elements.river.artifacts.access.SQRelationAccess;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
40
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
41 import org.dive4elements.river.artifacts.resources.Resources;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
42
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
43 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
44
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
45 import org.dive4elements.river.exports.AbstractExporter;
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
47 import org.dive4elements.river.utils.RiverUtils;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
48 import org.dive4elements.river.utils.Formatter;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
49
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
50 import org.dive4elements.artifacts.common.utils.Config;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
51
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
52 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
53 import org.apache.logging.log4j.LogManager;
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 /**
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 */
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 public class SQRelationExporter extends AbstractExporter {
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7965
diff changeset
60 /** Private log. */
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7965
diff changeset
61 private static final Logger log =
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
62 LogManager.getLogger(SQRelationExporter.class);
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
7937
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
64 public static final String INFO_COEFF_A =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
65 "export.sqrelation.csv.info.coeff.a";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
66
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
67 public static final String INFO_COEFF_B =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
68 "export.sqrelation.csv.info.coeff.b";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
69
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
70 public static final String INFO_QMAX =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
71 "export.sqrelation.csv.info.qmax";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
72
7965
c9b6fe05334a issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents: 7937
diff changeset
73 public static final String INFO_STDERR =
c9b6fe05334a issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents: 7937
diff changeset
74 "export.sqrelation.csv.info.stderr";
c9b6fe05334a issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents: 7937
diff changeset
75
7937
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
76 public static final String INFO_R2 =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
77 "export.sqrelation.csv.info.r2";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
78
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
79 public static final String INFO_NTOT =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
80 "export.sqrelation.csv.info.ntot";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
81
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
82 public static final String INFO_NOUTL =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
83 "export.sqrelation.csv.info.noutl";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
84
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
85 public static final String INFO_CFERGUSON =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
86 "export.sqrelation.csv.info.cferguson";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
87
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
88 public static final String INFO_CDUAN =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
89 "export.sqrelation.csv.info.cduan";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
90
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
91 public static final String INFO_PARAM_A =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
92 "export.sqrelation.csv.info.param.a";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
93
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
94 public static final String INFO_PARAM_B =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
95 "export.sqrelation.csv.info.param.b";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
96
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
97 public static final String INFO_PARAM_C =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
98 "export.sqrelation.csv.info.param.c";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
99
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
100 public static final String INFO_PARAM_D =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
101 "export.sqrelation.csv.info.param.d";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
102
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
103 public static final String INFO_PARAM_E =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
104 "export.sqrelation.csv.info.param.e";
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
105
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
106 public static final String INFO_PARAM_F =
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
107 "export.sqrelation.csv.info.param.f";
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
109 public static final String INFO_Q =
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
110 "export.sqrelation.csv.info.q";
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
111
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
112 public static final String INFO_S_KG =
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
113 "export.sqrelation.csv.info.s_kg";
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
114
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
115 public static final String INFO_DATE =
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
116 "export.sqrelation.csv.info.date";
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
117
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 public static final String CSV_PARAMETER =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 "export.sqrelation.csv.header.parameter";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 public static final String CSV_STATION =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 "export.sqrelation.csv.header.station";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 public static final String CSV_KM =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 "export.sqrelation.csv.header.km";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 public static final String CSV_FUNCTION =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 "export.sqrelation.csv.header.function";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 public static final String CSV_GAUGE =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 "export.sqrelation.csv.header.gauge";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 public static final String CSV_COEFF_A =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 "export.sqrelation.csv.header.coeff.a";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 public static final String CSV_COEFF_B =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 "export.sqrelation.csv.header.coeff.b";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 public static final String CSV_COEFF_Q =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 "export.sqrelation.csv.header.coeff.q";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 public static final String CSV_COEFF_R =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 "export.sqrelation.csv.header.coeff.r";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145 public static final String CSV_N_TOTAL =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 "export.sqrelation.csv.header.n.total";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 public static final String CSV_N_OUTLIERS =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 "export.sqrelation.csv.header.n.outliers";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 public static final String CSV_C_DUAN =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 "export.sqrelation.csv.header.c.duan";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 public static final String CSV_C_FERGUSON =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 "export.sqrelation.csv.header.c.ferguson";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
157 public static final String CSV_QMAX =
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
158 "export.sqrelation.csv.header.qmax";
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
159
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
160 public static final String CSV_SD =
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
161 "export.sqrelation.csv.header.sd";
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
163 public static final String CSV_S_KG =
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
164 "export.sqrelation.csv.header.s_kg";
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
165
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
166 public static final String CSV_Q =
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
167 "export.sqrelation.csv.header.q";
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
168
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
169 public static final String CSV_DATE =
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
170 "export.sqrelation.csv.header.date";
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
171
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
172 public static final String PDF_TITLE=
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
173 "export.sqrelation.pdf.title";
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
174
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
175 public static final String PDF_HEADER_MODE =
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
176 "export.sqrelation.pdf.mode";
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
177
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
178 public static final String JASPER_FILE =
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
179 "export.sqrelation.pdf.file";
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
180
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
181 public static final String JASPER_MEASUREMENTS_FILE =
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
182 "export.sqrelation.measurements.pdf.file";
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
183
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
184 protected List<SQResult []> data;
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
185
7077
0a337f0005c2 Extended init() of OutGenerator to take name of the out to serve.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6859
diff changeset
186 public SQRelationExporter() {
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
187 data = new ArrayList<SQResult []>();
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
188 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
189
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190 @Override
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
191 protected void addData(Object d) {
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
192 if (d instanceof CalculationResult) {
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
193 d = ((CalculationResult)d).getData();
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
194 if (d instanceof SQResult []) {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
195 data.add((SQResult [])d);
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
196 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
197 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
198 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
199
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
200 protected void writeCSVHeader(CSVWriter writer) {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
201 writer.writeNext(new String[] {
7936
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
202 msg(CSV_KM),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
203 msg(CSV_PARAMETER),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
204 msg(CSV_COEFF_A),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
205 msg(CSV_COEFF_B),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
206 msg(CSV_SD),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
207 msg(CSV_QMAX),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
208 msg(CSV_COEFF_R),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
209 msg(CSV_N_TOTAL),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
210 msg(CSV_N_OUTLIERS),
5ef60ed15c25 So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents: 7640
diff changeset
211 msg(CSV_C_DUAN),
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
212 msg(CSV_C_FERGUSON),
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
213 msg(CSV_S_KG),
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
214 msg(CSV_Q),
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
215 msg(CSV_DATE)
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
216 });
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
217 }
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
218
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
219 @Override
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
220 protected void writeCSVData(CSVWriter writer) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7965
diff changeset
221 log.debug("writeCSVData");
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
222
7937
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
223 writeCSVInfo(writer, new String[] {
8631
b30068e92757 SQ relation CSV export: order info lines according to columns plus whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8630
diff changeset
224 msg(INFO_PARAM_A),
b30068e92757 SQ relation CSV export: order info lines according to columns plus whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8630
diff changeset
225 msg(INFO_PARAM_B),
b30068e92757 SQ relation CSV export: order info lines according to columns plus whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8630
diff changeset
226 msg(INFO_PARAM_C),
b30068e92757 SQ relation CSV export: order info lines according to columns plus whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8630
diff changeset
227 msg(INFO_PARAM_D),
b30068e92757 SQ relation CSV export: order info lines according to columns plus whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8630
diff changeset
228 msg(INFO_PARAM_E),
b30068e92757 SQ relation CSV export: order info lines according to columns plus whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8630
diff changeset
229 msg(INFO_PARAM_F),
7937
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
230 msg(INFO_COEFF_A),
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
231 msg(INFO_COEFF_B),
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
232 msg(INFO_QMAX),
7965
c9b6fe05334a issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents: 7937
diff changeset
233 msg(INFO_STDERR),
7937
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
234 msg(INFO_R2),
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
235 msg(INFO_NTOT),
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
236 msg(INFO_NOUTL),
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
237 msg(INFO_CFERGUSON),
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
238 msg(INFO_CDUAN),
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
239 msg(INFO_S_KG),
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
240 msg(INFO_Q),
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
241 msg(INFO_DATE)
7937
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
242 });
a310b1f85ce0 issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents: 7936
diff changeset
243
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
244 writeCSVHeader(writer);
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
245
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
246 for (SQResult [] results: data) {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
247 for (SQResult result: results) {
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
248 writer.writeAll(data2StringArrays(result, true));
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
249 }
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
250 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
252
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
253 protected List<String[]> data2StringArrays(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
254 SQResult result,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
255 boolean includeMeasurements
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
256 ) {
6322
8c976bb0362f Add SQ Relation KM formatter and use it fopr issue 1071
Andre Heinecke <aheinecke@intevation.de>
parents: 6207
diff changeset
257 String km = Formatter.getSQRelationKM(context
8c976bb0362f Add SQ Relation KM formatter and use it fopr issue 1071
Andre Heinecke <aheinecke@intevation.de>
parents: 6207
diff changeset
258 ).format(result.getKm());
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
259 List<String[]> retval = new ArrayList<String[]>();
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
260
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
261 NumberFormat sqAFormatter = Formatter.getSQRelationA(context);
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
262 NumberFormat sqBFormatter = Formatter.getSQRelationB(context);
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
263 NumberFormat fThreeFormatter = Formatter.getFormatter(context, 3, 3);
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
264 NumberFormat fTwoFormatter = Formatter.getFormatter(context, 2, 2);
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
265 NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0);
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
266 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
267 Resources.getLocale(context.getMeta()));
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
268
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
269 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
270 SQFractionResult fraction = result.getFraction(i);
3552
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
271
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
272 String name = result.getFractionName(i);
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
273
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
274 Parameters parameters = fraction.getParameters();
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
275
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
276 if (parameters == null) {
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
277 continue;
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
278 }
3552
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
279
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
280 String a, b, sd, o, t, max_q, c_ferguson, c_duan, r2;
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
281 a = sqAFormatter.format(parameters.getValue(0, "a"));
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
282 b = sqBFormatter.format(parameters.getValue(0, "b"));
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
283
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
284 /* The std_dev parameter contains the standard error actually */
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
285 sd = fThreeFormatter.format(parameters.getValue(0, "std_dev"));
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
286 max_q = fZeroFormatter.format(parameters.getValue(0, "max_q"));
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
287 c_ferguson = fTwoFormatter.format(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
288 parameters.getValue(0, "c_ferguson"));
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
289 c_duan = fTwoFormatter.format(parameters.getValue(0, "c_duan"));
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
290 r2 = fTwoFormatter.format(parameters.getValue(0, "r2"));
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
291
3552
1df6984628c3 S/Q: Extented the result data model of the S/Q calculation to
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3392
diff changeset
292
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
293 o = String.valueOf(fraction.totalNumOutliers());
7640
b7690b485439 flys/issue1638: Calculate ntot correctly.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7380
diff changeset
294 t = String.valueOf(fraction.numMeasurements());
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
295
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
296 if (includeMeasurements) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
297 for (SQ sq: fraction.getMeasurements()) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
298 retval.add(new String[] {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
299 km,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
300 name,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
301 a,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
302 b,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
303 sd, // 4
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
304 max_q, // 5
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
305 r2, // 6
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
306 t, // 7
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
307 o, // 8
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
308 c_duan, // 9
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
309 c_ferguson, // 10
8630
5210e1dd303e (issue1753) Fix number format for S
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8580
diff changeset
310 fThreeFormatter.format(sq.getS()),
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
311 fZeroFormatter.format(sq.getQ()),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
312 df.format(sq.getDate())
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
313 });
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
314 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
315 } else {
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
316 retval.add(new String[] {
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
317 km,
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
318 name,
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
319 a,
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
320 b,
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
321 sd, // 4
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
322 max_q, // 5
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
323 r2, // 6
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
324 t, // 7
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
325 o, // 8
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
326 c_duan, // 9
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
327 c_ferguson // 10
8541
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
328 });
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
329 }
c0334399625b (issue1753) Add measurements to CSV export
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
330
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
331 }
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
332 return retval;
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
333 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
334
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
335
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
336 protected SQRelationJRDataSource createJRData() {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
337 SQRelationJRDataSource source = new SQRelationJRDataSource();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
338
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
339 addMetaData(source);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
340 for (SQResult [] results: data) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
341 for (SQResult result: results) {
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
342 for (String[] res: data2StringArrays(result, false)) {
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
343 source.addData(res);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
344 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
345 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
346 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
347 return source;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
348 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
349
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
350 protected SQMeasurementsJRDataSource createMeasurementJRData() {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
351 SQMeasurementsJRDataSource source = new SQMeasurementsJRDataSource();
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
352 NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0);
8630
5210e1dd303e (issue1753) Fix number format for S
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8580
diff changeset
353 NumberFormat fThreeFormatter = Formatter.getFormatter(context, 3, 3);
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
354 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
355 Resources.getLocale(context.getMeta()));
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
356
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
357 for (SQResult [] results: data) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
358 for (SQResult result: results) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
359 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
360 String name = result.getFractionName(i);
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
361 SQFractionResult fraction = result.getFraction(i);
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
362 for (SQ sq: fraction.getMeasurements()) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
363 source.addData(new String[] {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
364 name,
8630
5210e1dd303e (issue1753) Fix number format for S
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8580
diff changeset
365 fThreeFormatter.format(sq.getS()),
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
366 fZeroFormatter.format(sq.getQ()),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
367 df.format(sq.getDate()),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
368 null
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
369 });
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
370 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
371 for (int j = 0; j < fraction.numIterations(); j++) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
372 for (SQ sq: fraction.getOutliers(j)) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
373 source.addData(new String[] {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
374 name,
8630
5210e1dd303e (issue1753) Fix number format for S
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8580
diff changeset
375 fThreeFormatter.format(sq.getS()),
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
376 fZeroFormatter.format(sq.getQ()),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
377 df.format(sq.getDate()),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
378 Integer.toString(j + 1)
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
379 });
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
380 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
381 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
382 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
383 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
384 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
385 return source;
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
386 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
387
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
388 protected void addMetaData(SQRelationJRDataSource source) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
389 CallMeta meta = context.getMeta();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
390
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
391 D4EArtifact arti = (D4EArtifact) master;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
392
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
393 source.addMetaData ("river", RiverUtils.getRivername(arti));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
394
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
395 Locale locale = Resources.getLocale(meta);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
396 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
397
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
398 source.addMetaData("date", df.format(new Date()));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
399
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
400 SQRelationAccess access = new SQRelationAccess(arti);
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
401 source.addMetaData(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
402 "location", "KM " + getKmFormatter().format(access.getLocation()));
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
403
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
404 DateRange period = access.getPeriod();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
405 source.addMetaData("periods", df.format(period.getFrom()) + " - " +
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
406 df.format(period.getTo()));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
407
6175
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
408 source.addMetaData("outliertest", Resources.getMsg(meta,
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
409 access.getOutlierMethod(),
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
410 access.getOutlierMethod()));
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
411 source.addMetaData(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
412 "outliers", Formatter.getRawFormatter(context).format(
6830
eb4b123daaf7 (issue1347) Localize outliers and pdf Header
Andre Heinecke <aheinecke@intevation.de>
parents: 6828
diff changeset
413 access.getOutliers()));
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
414
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
415 source.addMetaData("calculation", Resources.getMsg(
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
416 locale,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
417 PDF_HEADER_MODE,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
418 "SQRelation"));
6859
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
419
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
420 String measurementStationName = access.getMeasurementStationName();
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
421
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
422 if (measurementStationName != null) {
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
423 source.addMetaData("msName", measurementStationName);
7380
d8d0caaf60a2 (issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents: 7088
diff changeset
424 } else {
d8d0caaf60a2 (issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents: 7088
diff changeset
425 source.addMetaData("msName", "");
6859
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
426 }
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
427
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
428 String measurementStationGaugeName = access
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8631
diff changeset
429 .getMeasurementStationGaugeName();
6859
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
430
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
431 if (measurementStationGaugeName != null) {
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
432 source.addMetaData("msGauge", measurementStationGaugeName);
7380
d8d0caaf60a2 (issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents: 7088
diff changeset
433 } else {
d8d0caaf60a2 (issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents: 7088
diff changeset
434 source.addMetaData("msGauge", "");
6859
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
435 }
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
436
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
437 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
438
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
439 @Override
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
440 protected void writePDF(OutputStream out) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7965
diff changeset
441 log.debug("write PDF");
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
442 SQRelationJRDataSource source = createJRData();
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
443 SQMeasurementsJRDataSource measureSource = createMeasurementJRData();
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
444
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
445 String jasperFile = Resources.getMsg(
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
446 context.getMeta(),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
447 JASPER_FILE,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
448 "/jasper/sqrelation_en.jasper");
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
449 String jasperMeasurementsFile = Resources.getMsg(
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
450 context.getMeta(),
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
451 JASPER_MEASUREMENTS_FILE,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
452 "/jasper/sqmeasurements_en.jasper");
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
453 String confPath = Config.getConfigDirectory().toString();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
454
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
455
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
456 Map parameters = new HashMap();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
457 parameters.put("ReportTitle", Resources.getMsg(
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
458 context.getMeta(), PDF_TITLE, "Exported Data"));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
459 try {
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
460 /* Page numbers start have a built in offset of 1 so this
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
461 * is fine. */
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
462 JasperPrint p2 = JasperFillManager.fillReport(
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
463 confPath + jasperMeasurementsFile,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
464 parameters,
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
465 measureSource);
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
466 parameters.put("MEASUREMENT_PAGE_NUM", p2.getPages().size());
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
467 JasperPrint p1 = JasperFillManager.fillReport(
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
468 confPath + jasperFile,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
469 parameters,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
470 source);
8578
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
471 for (Object page: p2.getPages()) {
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
472 JRPrintPage object = (JRPrintPage)page;
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
473 p1.addPage(object);
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
474 }
4eb1a3c71579 (issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8541
diff changeset
475 JasperExportManager.exportReportToPdfStream(p1, out);
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
476 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
477 catch(JRException je) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7965
diff changeset
478 log.warn("Error generating PDF Report!", je);
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
479 }
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
480 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
481 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
482 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org