annotate artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java @ 6859:3ccbc278f2e6

(issue1347) Add SQ Relation fields for measurement station information
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 19 Aug 2013 11:41:09 +0200
parents eb4b123daaf7
children 0a337f0005c2
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
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import org.w3c.dom.Document;
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
23 import net.sf.jasperreports.engine.JasperExportManager;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
24 import net.sf.jasperreports.engine.JasperFillManager;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
25 import net.sf.jasperreports.engine.JasperPrint;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
26 import net.sf.jasperreports.engine.JRException;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
27
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 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
29
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
30 import org.dive4elements.artifacts.CallContext;
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
31 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
32
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
33 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
34 import org.dive4elements.river.artifacts.model.sq.SQFractionResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3552
diff changeset
35 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
36 import org.dive4elements.river.artifacts.model.sq.SQRelationJRDataSource;
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
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
52 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
53
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 * @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
56 */
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 public class SQRelationExporter extends AbstractExporter {
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 /** Private logger. */
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 private static final Logger logger =
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 Logger.getLogger(SQRelationExporter.class);
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 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
65 "export.sqrelation.csv.header.parameter";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 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
68 "export.sqrelation.csv.header.station";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 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
71 "export.sqrelation.csv.header.km";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 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
74 "export.sqrelation.csv.header.function";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 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
77 "export.sqrelation.csv.header.gauge";
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 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
80 "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
81
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 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
83 "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
84
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 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
86 "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
87
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 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
89 "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
90
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 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
92 "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
93
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 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
95 "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
96
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 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
98 "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
99
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 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
101 "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
102
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
103 public static final String CSV_QMAX =
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
104 "export.sqrelation.csv.header.qmax";
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
105
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
106 public static final String CSV_SD =
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
107 "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
108
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
109 public static final String PDF_TITLE=
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
110 "export.sqrelation.pdf.title";
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
111
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
112 public static final String PDF_HEADER_MODE =
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
113 "export.sqrelation.pdf.mode";
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
114
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
115 public static final String JASPER_FILE =
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
116 "export.sqrelation.pdf.file";
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
118 protected List<SQResult []> data;
3077
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
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 public void init(Document request, OutputStream out, CallContext cc) {
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 super.init(request, out, cc);
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
123 data = new ArrayList<SQResult []>();
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 }
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
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 @Override
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 protected void addData(Object d) {
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 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
130 d = ((CalculationResult)d).getData();
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
131 if (d instanceof SQResult []) {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
132 data.add((SQResult [])d);
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 }
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 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
137 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
138 writer.writeNext(new String[] {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
139 msg(CSV_KM , CSV_KM),
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
140 msg(CSV_PARAMETER, CSV_PARAMETER),
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
141 msg(CSV_COEFF_A , CSV_COEFF_A),
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
142 msg(CSV_COEFF_B , CSV_COEFF_B),
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
143 msg(CSV_SD, CSV_SD),
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
144 msg(CSV_QMAX, CSV_QMAX),
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
145 msg(CSV_COEFF_R, CSV_COEFF_R),
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
146 msg(CSV_N_TOTAL , CSV_N_TOTAL),
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
147 msg(CSV_N_OUTLIERS, CSV_N_OUTLIERS),
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
148 msg(CSV_C_DUAN, CSV_C_DUAN),
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
149 msg(CSV_C_FERGUSON, CSV_C_FERGUSON)
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
150 });
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
151 }
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 @Override
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 protected void writeCSVData(CSVWriter writer) {
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 logger.debug("writeCSVData");
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 writeCSVHeader(writer);
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 for (SQResult [] results: data) {
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
160 for (SQResult result: results) {
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
161 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
162 }
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
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
166 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
167 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
168 ).format(result.getKm());
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
169 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
170
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
171 NumberFormat sqAFormatter = Formatter.getSQRelationA(context);
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
172 NumberFormat sqBFormatter = Formatter.getSQRelationB(context);
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
173 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
174 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
175 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
176
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
177 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
178 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
179
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
180 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
181
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
182 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
183
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
184 if (parameters == null) {
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
185 continue;
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
186 }
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
187
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
188 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
189 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
190 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
191
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
192 /* 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
193 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
194 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
195 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
196 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
197 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
198
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
199
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
200 o = String.valueOf(fraction.totalNumOutliers());
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
201 t = String.valueOf(fraction.numMeasurements() + o);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
202
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
203 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
204 km,
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
205 name,
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
206 a,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
207 b,
6828
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
208 sd, // 4
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
209 max_q, // 5
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
210 r2, // 6
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
211 t, // 7
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
212 o, // 8
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
213 c_duan, // 9
708416bb560c (issue1347) Add new variables to SQ Relation output.
Andre Heinecke <aheinecke@intevation.de>
parents: 6322
diff changeset
214 c_ferguson // 10
3392
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
215 });
56f62b5209f5 S/Q relation: Write parameters as export result.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3227
diff changeset
216 }
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
217 return retval;
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
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
220
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
221 protected SQRelationJRDataSource createJRData() {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
222 SQRelationJRDataSource source = new SQRelationJRDataSource();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
223
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
224 addMetaData(source);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
225 for (SQResult [] results: data) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
226 for (SQResult result: results) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
227 for (String[] res: data2StringArrays(result)) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
228 source.addData(res);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
229 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
230 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
231 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
232 return source;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
233 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
234
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
235 protected void addMetaData(SQRelationJRDataSource source) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
236 CallMeta meta = context.getMeta();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
237
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
238 D4EArtifact arti = (D4EArtifact) master;
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
239
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
240 source.addMetaData ("river", RiverUtils.getRivername(arti));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
241
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
242 Locale locale = Resources.getLocale(meta);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
243 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
244
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
245 source.addMetaData("date", df.format(new Date()));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
246
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
247 SQRelationAccess access = new SQRelationAccess(arti);
6175
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
248 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
249
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
250 DateRange period = access.getPeriod();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
251 source.addMetaData("periods", df.format(period.getFrom()) + " - " +
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
252 df.format(period.getTo()));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
253
6175
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
254 source.addMetaData("outliertest", Resources.getMsg(meta,
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
255 access.getOutlierMethod(),
6a04081a2f69 Add unit to location and translate outliertest method
Andre Heinecke <aheinecke@intevation.de>
parents: 6172
diff changeset
256 access.getOutlierMethod()));
6830
eb4b123daaf7 (issue1347) Localize outliers and pdf Header
Andre Heinecke <aheinecke@intevation.de>
parents: 6828
diff changeset
257 source.addMetaData("outliers", Formatter.getRawFormatter(context).format(
eb4b123daaf7 (issue1347) Localize outliers and pdf Header
Andre Heinecke <aheinecke@intevation.de>
parents: 6828
diff changeset
258 access.getOutliers()));
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
259
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
260 source.addMetaData("calculation", Resources.getMsg(
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
261 locale,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
262 PDF_HEADER_MODE,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
263 "SQRelation"));
6859
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
264
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
265 String measurementStationName = access.getMeasurementStationName();
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
266
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
267 if (measurementStationName != null) {
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
268 source.addMetaData("msName", measurementStationName);
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
269 }
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
270
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
271 String measurementStationGaugeName = access.getMeasurementStationGaugeName();
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
272
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
273 if (measurementStationGaugeName != null) {
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
274 source.addMetaData("msGauge", measurementStationGaugeName);
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
275 }
3ccbc278f2e6 (issue1347) Add SQ Relation fields for measurement station information
Andre Heinecke <aheinecke@intevation.de>
parents: 6830
diff changeset
276
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
277 }
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
278
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
279 @Override
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
280 protected void writePDF(OutputStream out) {
6172
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
281 logger.debug("write PDF");
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
282 SQRelationJRDataSource source = createJRData();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
283
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
284 String jasperFile = Resources.getMsg(
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
285 context.getMeta(),
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
286 JASPER_FILE,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
287 "/jasper/sqrelation_en.jasper");
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
288 String confPath = Config.getConfigDirectory().toString();
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 Map parameters = new HashMap();
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
292 parameters.put("ReportTitle", Resources.getMsg(
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
293 context.getMeta(), PDF_TITLE, "Exported Data"));
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
294 try {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
295 JasperPrint print = JasperFillManager.fillReport(
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
296 confPath + jasperFile,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
297 parameters,
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
298 source);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
299 JasperExportManager.exportReportToPdfStream(print, out);
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 catch(JRException je) {
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
302 logger.warn("Error generating PDF Report!", je);
58a613798386 Implement PDF export for SQ Relation
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
303 }
3077
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
304 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
305 }
5c87d4ca1bd3 Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
306 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org