Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQMeasurementsJRDataSource.java @ 9801:1d7a72a50183 3.2.x tip
Assume Compose V2, consistently
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 23 Nov 2023 10:14:13 +0100 |
parents | 0a5239a1e46e |
children |
rev | line source |
---|---|
8578
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013, 2015 by Bundesanstalt für Gewässerkunde |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
3 * |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
7 */ |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
8 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.sq; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
10 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
12 |
9726 | 13 import org.apache.logging.log4j.Logger; |
14 import org.apache.logging.log4j.LogManager; | |
8578
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
15 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
16 import net.sf.jasperreports.engine.JRDataSource; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
17 import net.sf.jasperreports.engine.JRException; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
18 import net.sf.jasperreports.engine.JRField; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
19 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
20 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
21 /** |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
22 * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a> |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
23 */ |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
24 public class SQMeasurementsJRDataSource implements JRDataSource |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
25 { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
26 /** The log used in this exporter.*/ |
9726 | 27 private static Logger log = LogManager.getLogger( |
8856 | 28 SQMeasurementsJRDataSource.class); |
8578
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
29 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
30 private ArrayList<String[]> data; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
31 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
32 private int index = -1; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
33 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
34 public SQMeasurementsJRDataSource() { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
35 data = new ArrayList<String[]>(); |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
36 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
37 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
38 public void addData(String[] val) { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
39 data.add(val); |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
40 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
41 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
42 public boolean next() throws JRException { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
43 index++; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
44 return (index < data.size()); |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
45 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
46 |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
47 public Object getFieldValue(JRField field) throws JRException { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
48 Object value = ""; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
49 String fieldName = field.getName(); |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
50 if ("param".equals(fieldName)) { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
51 value = data.get(index)[0]; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
52 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
53 else if ("transport".equals(fieldName)) { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
54 value = data.get(index)[1]; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
55 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
56 else if ("discharge".equals(fieldName)) { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
57 value = data.get(index)[2]; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
58 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
59 else if ("date".equals(fieldName)) { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
60 value = data.get(index)[3]; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
61 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
62 else if ("outlier".equals(fieldName)) { |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
63 value = data.get(index)[4]; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
64 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
65 return value; |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
66 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
67 } |
4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
68 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |