Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsJRDataSource.java @ 6270:44ee7d26eb18
issue1267: Polishing: Move the sorting into the db/sql-query.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 11 Jun 2013 12:19:01 +0200 |
parents | af13ceeba52a |
children | 40c77429319d |
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 | 10 |
11 import java.util.ArrayList; | |
12 import java.util.HashMap; | |
13 | |
14 import org.apache.log4j.Logger; | |
15 | |
16 import net.sf.jasperreports.engine.JRDataSource; | |
17 import net.sf.jasperreports.engine.JRException; | |
18 import net.sf.jasperreports.engine.JRField; | |
19 | |
20 | |
21 /** | |
22 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> | |
23 */ | |
24 public class WKmsJRDataSource implements JRDataSource | |
25 { | |
26 /** The logger used in this exporter.*/ | |
27 private static Logger logger = Logger.getLogger(WKmsJRDataSource.class); | |
28 | |
29 /** | |
30 * | |
31 */ | |
32 private ArrayList<String[]> data; | |
33 private HashMap<String, String> metaData; | |
34 | |
35 private int index = -1; | |
36 | |
37 /** | |
38 * | |
39 */ | |
40 public WKmsJRDataSource() | |
41 { | |
42 data = new ArrayList<String[]>(); | |
43 metaData = new HashMap<String, String>(); | |
44 } | |
45 | |
46 | |
47 /** | |
48 * | |
49 */ | |
50 public void addData(String[] data) { | |
51 this.data.add(data); | |
52 } | |
53 | |
54 | |
55 /** | |
56 * | |
57 */ | |
58 public void addMetaData(String key, String value) { | |
59 this.metaData.put(key, value); | |
60 } | |
61 | |
62 | |
63 /** | |
64 * | |
65 */ | |
66 public boolean next() throws JRException | |
67 { | |
68 index++; | |
69 | |
70 return (index < data.size()); | |
71 } | |
72 | |
73 | |
74 /** | |
75 * | |
76 */ | |
77 public Object getFieldValue(JRField field) throws JRException | |
78 { | |
79 Object value = ""; | |
80 String fieldName = field.getName(); | |
81 if ("river".equals(fieldName)) { | |
82 value = metaData.get("river"); | |
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 | 85 value = metaData.get("date"); |
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 | 88 value = metaData.get("range"); |
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 | 91 value = metaData.get("gauge"); |
92 } | |
3085
3e5f45a9e052
Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3083
diff
changeset
|
93 else if ("calculation".equals(fieldName)) { |
2176 | 94 value = metaData.get("calculation"); |
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 ("differences".equals(fieldName)) { |
2180
65b32220f197
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2178
diff
changeset
|
97 value = metaData.get("differences"); |
65b32220f197
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2178
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 ("km".equals(fieldName)) { |
2176 | 100 value = data.get(index)[0]; |
101 } | |
3085
3e5f45a9e052
Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3083
diff
changeset
|
102 else if ("W".equals(fieldName)) { |
2176 | 103 value = data.get(index)[1]; |
104 } | |
3085
3e5f45a9e052
Added missing 'else's in if/else ladders.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3083
diff
changeset
|
105 else if ("Q".equals(fieldName)) { |
2176 | 106 value = data.get(index)[2]; |
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 ("description".equals(fieldName)) { |
2176 | 109 value = data.get(index)[3]; |
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 ("location".equals(fieldName)) { |
2176 | 112 value = data.get(index)[4]; |
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 ("gaugename".equals(fieldName)) { |
2176 | 115 value = data.get(index)[5]; |
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 ("day".equals(fieldName)) { |
2178
1d7fb2cabfc7
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2176
diff
changeset
|
118 value = data.get(index)[6]; |
1d7fb2cabfc7
Issue 138.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2176
diff
changeset
|
119 } |
2176 | 120 return value; |
121 } | |
122 } | |
3083
4bd3d8bbb60c
Added missing vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2180
diff
changeset
|
123 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |