annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsJRDataSource.java @ 8870:c26fb37899ca

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 11:59:13 +0100
parents e4606eae8ea5
children 0a5239a1e46e
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: 3085
diff changeset
9 package org.dive4elements.river.artifacts.model;
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import java.util.HashMap;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import org.apache.log4j.Logger;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import net.sf.jasperreports.engine.JRDataSource;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 import net.sf.jasperreports.engine.JRException;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18 import net.sf.jasperreports.engine.JRField;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 public class WKmsJRDataSource implements JRDataSource
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6317
diff changeset
26 /** The log used in this exporter.*/
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6317
diff changeset
27 private static Logger log = Logger.getLogger(WKmsJRDataSource.class);
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 *
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 private ArrayList<String[]> data;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 private HashMap<String, String> metaData;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 private int index = -1;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 *
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 public WKmsJRDataSource()
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 {
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 data = new ArrayList<String[]>();
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 metaData = new HashMap<String, String>();
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 }
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 *
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 public void addData(String[] data) {
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 this.data.add(data);
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 }
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 *
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 public void addMetaData(String key, String value) {
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 this.metaData.put(key, value);
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 }
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 *
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66 public boolean next() throws JRException
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67 {
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 index++;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70 return (index < data.size());
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 }
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 /**
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 *
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 */
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 public Object getFieldValue(JRField field) throws JRException
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 {
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 Object value = "";
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 String fieldName = field.getName();
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 if ("river".equals(fieldName)) {
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82 value = metaData.get("river");
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
84 else if ("date".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 value = metaData.get("date");
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
87 else if ("range".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 value = metaData.get("range");
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
90 else if ("gauge".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 value = metaData.get("gauge");
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 }
6305
40c77429319d Update PDF/CSV export for discharge curves
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
93 else if ("datum".equals(fieldName)) {
40c77429319d Update PDF/CSV export for discharge curves
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
94 value = metaData.get("datum");
40c77429319d Update PDF/CSV export for discharge curves
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
95 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
96 else if ("calculation".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 value = metaData.get("calculation");
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
99 else if ("differences".equals(fieldName)) {
2180
65b32220f197 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2178
diff changeset
100 value = metaData.get("differences");
65b32220f197 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2178
diff changeset
101 }
6305
40c77429319d Update PDF/CSV export for discharge curves
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
102 else if ("wUnit".equals(fieldName)) {
40c77429319d Update PDF/CSV export for discharge curves
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
103 value = metaData.get("wUnit");
40c77429319d Update PDF/CSV export for discharge curves
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
104 }
6317
294742a49c1c Add gauge validity information to dischargecurve exporter
Andre Heinecke <aheinecke@intevation.de>
parents: 6305
diff changeset
105 else if ("valid_since".equals(fieldName)) {
294742a49c1c Add gauge validity information to dischargecurve exporter
Andre Heinecke <aheinecke@intevation.de>
parents: 6305
diff changeset
106 value = metaData.get("valid_since");
294742a49c1c Add gauge validity information to dischargecurve exporter
Andre Heinecke <aheinecke@intevation.de>
parents: 6305
diff changeset
107 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
108 else if ("km".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 value = data.get(index)[0];
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
111 else if ("W".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 value = data.get(index)[1];
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
114 else if ("Q".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 value = data.get(index)[2];
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
117 else if ("description".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 value = data.get(index)[3];
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
120 else if ("location".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 value = data.get(index)[4];
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
123 else if ("gaugename".equals(fieldName)) {
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124 value = data.get(index)[5];
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 }
3085
3e5f45a9e052 Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3083
diff changeset
126 else if ("day".equals(fieldName)) {
2178
1d7fb2cabfc7 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2176
diff changeset
127 value = data.get(index)[6];
1d7fb2cabfc7 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2176
diff changeset
128 }
2176
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
129 return value;
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
130 }
65dac9cf6ff5 Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
131 }
3083
4bd3d8bbb60c Added missing vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2180
diff changeset
132 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org