Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java @ 8220:1d3d61c8f596
Stop stupid propagation of out subtype in generators. What is this? It is not used anyway.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 08 Sep 2014 13:33:39 +0200 |
parents | e4606eae8ea5 |
children | c0334399625b |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
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; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
24 import net.sf.jasperreports.engine.JRException; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
25 |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 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
|
27 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
28 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
|
29 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3552
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.CalculationResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3552
diff
changeset
|
31 import org.dive4elements.river.artifacts.model.sq.SQFractionResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3552
diff
changeset
|
32 import org.dive4elements.river.artifacts.model.sq.SQResult; |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
33 import org.dive4elements.river.artifacts.model.sq.SQRelationJRDataSource; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3552
diff
changeset
|
34 import org.dive4elements.river.artifacts.model.Parameters; |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
35 import org.dive4elements.river.artifacts.model.DateRange; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
36 import org.dive4elements.river.artifacts.access.SQRelationAccess; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
37 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
38 import org.dive4elements.river.artifacts.resources.Resources; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
39 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
40 import org.dive4elements.river.artifacts.D4EArtifact; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3552
diff
changeset
|
41 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3552
diff
changeset
|
42 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
|
43 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
44 import org.dive4elements.river.utils.RiverUtils; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
45 import org.dive4elements.river.utils.Formatter; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
46 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
47 import org.dive4elements.artifacts.common.utils.Config; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
48 |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
49 import org.apache.log4j.Logger; |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 /** |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 * @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
|
53 */ |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 public class SQRelationExporter extends AbstractExporter { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7965
diff
changeset
|
56 /** Private log. */ |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7965
diff
changeset
|
57 private static final Logger log = |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 Logger.getLogger(SQRelationExporter.class); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 |
7937
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
60 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
|
61 "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
|
62 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
63 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
|
64 "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
|
65 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
66 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
|
67 "export.sqrelation.csv.info.qmax"; |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
68 |
7965
c9b6fe05334a
issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents:
7937
diff
changeset
|
69 public static final String INFO_STDERR = |
c9b6fe05334a
issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents:
7937
diff
changeset
|
70 "export.sqrelation.csv.info.stderr"; |
c9b6fe05334a
issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents:
7937
diff
changeset
|
71 |
7937
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
72 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
|
73 "export.sqrelation.csv.info.r2"; |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
74 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
75 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
|
76 "export.sqrelation.csv.info.ntot"; |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
77 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
78 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
|
79 "export.sqrelation.csv.info.noutl"; |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
80 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
81 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
|
82 "export.sqrelation.csv.info.cferguson"; |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
83 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
84 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
|
85 "export.sqrelation.csv.info.cduan"; |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
86 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
87 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
|
88 "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
|
89 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
90 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
|
91 "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
|
92 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
93 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
|
94 "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
|
95 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
96 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
|
97 "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
|
98 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
99 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
|
100 "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
|
101 |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
102 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
|
103 "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
|
104 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 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
|
106 "export.sqrelation.csv.header.parameter"; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 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
|
109 "export.sqrelation.csv.header.station"; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 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
|
112 "export.sqrelation.csv.header.km"; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 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
|
115 "export.sqrelation.csv.header.function"; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 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
|
118 "export.sqrelation.csv.header.gauge"; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 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
|
121 "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
|
122 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 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
|
124 "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
|
125 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 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
|
127 "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
|
128 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 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
|
130 "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
|
131 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 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
|
133 "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
|
134 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 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
|
136 "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
|
137 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 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
|
139 "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
|
140 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 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
|
142 "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
|
143 |
6828
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
144 public static final String CSV_QMAX = |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
145 "export.sqrelation.csv.header.qmax"; |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
146 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
147 public static final String CSV_SD = |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
148 "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
|
149 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
150 public static final String PDF_TITLE= |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
151 "export.sqrelation.pdf.title"; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
152 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
153 public static final String PDF_HEADER_MODE = |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
154 "export.sqrelation.pdf.mode"; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
155 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
156 public static final String JASPER_FILE = |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
157 "export.sqrelation.pdf.file"; |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
159 protected List<SQResult []> data; |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 |
7077
0a337f0005c2
Extended init() of OutGenerator to take name of the out to serve.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6859
diff
changeset
|
161 public SQRelationExporter() { |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
162 data = new ArrayList<SQResult []>(); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 protected void addData(Object d) { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 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
|
168 d = ((CalculationResult)d).getData(); |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
169 if (d instanceof SQResult []) { |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
170 data.add((SQResult [])d); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
175 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
|
176 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
|
177 msg(CSV_KM), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
178 msg(CSV_PARAMETER), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
179 msg(CSV_COEFF_A), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
180 msg(CSV_COEFF_B), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
181 msg(CSV_SD), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
182 msg(CSV_QMAX), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
183 msg(CSV_COEFF_R), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
184 msg(CSV_N_TOTAL), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
185 msg(CSV_N_OUTLIERS), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
186 msg(CSV_C_DUAN), |
5ef60ed15c25
So you do not need to type every string twice.
Tom Gottfried <tom@intevation.de>
parents:
7640
diff
changeset
|
187 msg(CSV_C_FERGUSON) |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
188 }); |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
189 } |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
190 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 protected void writeCSVData(CSVWriter writer) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7965
diff
changeset
|
193 log.debug("writeCSVData"); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 |
7937
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
195 writeCSVInfo(writer, new String[] { |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
196 msg(INFO_COEFF_A), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
197 msg(INFO_COEFF_B), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
198 msg(INFO_QMAX), |
7965
c9b6fe05334a
issue1633: Add missing info line.
Tom Gottfried <tom@intevation.de>
parents:
7937
diff
changeset
|
199 msg(INFO_STDERR), |
7937
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
200 msg(INFO_R2), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
201 msg(INFO_NTOT), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
202 msg(INFO_NOUTL), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
203 msg(INFO_CFERGUSON), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
204 msg(INFO_CDUAN), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
205 msg(INFO_PARAM_A), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
206 msg(INFO_PARAM_B), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
207 msg(INFO_PARAM_C), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
208 msg(INFO_PARAM_D), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
209 msg(INFO_PARAM_E), |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
210 msg(INFO_PARAM_F) |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
211 }); |
a310b1f85ce0
issue1633: Add info lines in SQ-relation CSV export.
Tom Gottfried <tom@intevation.de>
parents:
7936
diff
changeset
|
212 |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
213 writeCSVHeader(writer); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
215 for (SQResult [] results: data) { |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
216 for (SQResult result: results) { |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
217 writer.writeAll(data2StringArrays(result)); |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
218 } |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
219 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
220 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
221 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
222 protected List<String[]> data2StringArrays(SQResult result) { |
6322
8c976bb0362f
Add SQ Relation KM formatter and use it fopr issue 1071
Andre Heinecke <aheinecke@intevation.de>
parents:
6207
diff
changeset
|
223 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
|
224 ).format(result.getKm()); |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
225 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
|
226 |
6828
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
227 NumberFormat sqAFormatter = Formatter.getSQRelationA(context); |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
228 NumberFormat sqBFormatter = Formatter.getSQRelationB(context); |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
229 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
|
230 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
|
231 NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0); |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
232 |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
233 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
|
234 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
|
235 |
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
|
236 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
|
237 |
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
|
238 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
|
239 |
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
|
240 if (parameters == null) { |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
241 continue; |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
242 } |
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
|
243 |
6828
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
244 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
|
245 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
|
246 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
|
247 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
248 /* 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
|
249 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
|
250 max_q = fZeroFormatter.format(parameters.getValue(0, "max_q")); |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
251 c_ferguson = fTwoFormatter.format(parameters.getValue(0, "c_ferguson")); |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
252 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
|
253 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
|
254 |
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
|
255 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
256 o = String.valueOf(fraction.totalNumOutliers()); |
7640
b7690b485439
flys/issue1638: Calculate ntot correctly.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7380
diff
changeset
|
257 t = String.valueOf(fraction.numMeasurements()); |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
258 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
259 retval.add(new String[] { |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
260 km, |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
261 name, |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
262 a, |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
263 b, |
6828
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
264 sd, // 4 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
265 max_q, // 5 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
266 r2, // 6 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
267 t, // 7 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
268 o, // 8 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
269 c_duan, // 9 |
708416bb560c
(issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents:
6322
diff
changeset
|
270 c_ferguson // 10 |
3392
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
271 }); |
56f62b5209f5
S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3227
diff
changeset
|
272 } |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
273 return retval; |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
274 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
275 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
276 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
277 protected SQRelationJRDataSource createJRData() { |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
278 SQRelationJRDataSource source = new SQRelationJRDataSource(); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
279 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
280 addMetaData(source); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
281 for (SQResult [] results: data) { |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
282 for (SQResult result: results) { |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
283 for (String[] res: data2StringArrays(result)) { |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
284 source.addData(res); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
285 } |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
286 } |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
287 } |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
288 return source; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
289 } |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
290 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
291 protected void addMetaData(SQRelationJRDataSource source) { |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
292 CallMeta meta = context.getMeta(); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
293 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
294 D4EArtifact arti = (D4EArtifact) master; |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
295 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
296 source.addMetaData ("river", RiverUtils.getRivername(arti)); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
297 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
298 Locale locale = Resources.getLocale(meta); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
299 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
300 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
301 source.addMetaData("date", df.format(new Date())); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
302 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
303 SQRelationAccess access = new SQRelationAccess(arti); |
6175
6a04081a2f69
Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents:
6172
diff
changeset
|
304 source.addMetaData("location", "KM " + getKmFormatter().format(access.getLocation())); |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
305 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
306 DateRange period = access.getPeriod(); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
307 source.addMetaData("periods", df.format(period.getFrom()) + " - " + |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
308 df.format(period.getTo())); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
309 |
6175
6a04081a2f69
Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents:
6172
diff
changeset
|
310 source.addMetaData("outliertest", Resources.getMsg(meta, |
6a04081a2f69
Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents:
6172
diff
changeset
|
311 access.getOutlierMethod(), |
6a04081a2f69
Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents:
6172
diff
changeset
|
312 access.getOutlierMethod())); |
6830
eb4b123daaf7
(issue1347) Localize outliers and pdf Header
Andre Heinecke <aheinecke@intevation.de>
parents:
6828
diff
changeset
|
313 source.addMetaData("outliers", Formatter.getRawFormatter(context).format( |
eb4b123daaf7
(issue1347) Localize outliers and pdf Header
Andre Heinecke <aheinecke@intevation.de>
parents:
6828
diff
changeset
|
314 access.getOutliers())); |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
315 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
316 source.addMetaData("calculation", Resources.getMsg( |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
317 locale, |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
318 PDF_HEADER_MODE, |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
319 "SQRelation")); |
6859
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
320 |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
321 String measurementStationName = access.getMeasurementStationName(); |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
322 |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
323 if (measurementStationName != null) { |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
324 source.addMetaData("msName", measurementStationName); |
7380
d8d0caaf60a2
(issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents:
7088
diff
changeset
|
325 } else { |
d8d0caaf60a2
(issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents:
7088
diff
changeset
|
326 source.addMetaData("msName", ""); |
6859
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
327 } |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
328 |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
329 String measurementStationGaugeName = access.getMeasurementStationGaugeName(); |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
330 |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
331 if (measurementStationGaugeName != null) { |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
332 source.addMetaData("msGauge", measurementStationGaugeName); |
7380
d8d0caaf60a2
(issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents:
7088
diff
changeset
|
333 } else { |
d8d0caaf60a2
(issue1071) Handle the case where no MeasurementStation exists
Andre Heinecke <aheinecke@intevation.de>
parents:
7088
diff
changeset
|
334 source.addMetaData("msGauge", ""); |
6859
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
335 } |
3ccbc278f2e6
(issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents:
6830
diff
changeset
|
336 |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
337 } |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
338 |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
339 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
340 protected void writePDF(OutputStream out) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7965
diff
changeset
|
341 log.debug("write PDF"); |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
342 SQRelationJRDataSource source = createJRData(); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
343 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
344 String jasperFile = Resources.getMsg( |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
345 context.getMeta(), |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
346 JASPER_FILE, |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
347 "/jasper/sqrelation_en.jasper"); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
348 String confPath = Config.getConfigDirectory().toString(); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
349 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
350 |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
351 Map parameters = new HashMap(); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
352 parameters.put("ReportTitle", Resources.getMsg( |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
353 context.getMeta(), PDF_TITLE, "Exported Data")); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
354 try { |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
355 JasperPrint print = JasperFillManager.fillReport( |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
356 confPath + jasperFile, |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
357 parameters, |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
358 source); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
359 JasperExportManager.exportReportToPdfStream(print, out); |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
360 } |
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
361 catch(JRException je) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7965
diff
changeset
|
362 log.warn("Error generating PDF Report!", je); |
6172
58a613798386
Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
363 } |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
364 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
365 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
366 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |