Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDifferenceJRDataSource.java @ 8098:09725b65955a
Add new and simplyfied SedimentLoadFacet
The SedimentLoadFacet is intended to work with the Measurement stations.
It uses the same mechanismn to access the Mesurement station values
as the calculation does.
SedimentLoadLS values need a different facet that will come soon.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 15 Aug 2014 18:27:19 +0200 |
parents | 6fef38a526c7 |
children | 8a14605fb64a |
rev | line source |
---|---|
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
3 * |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
7 */ |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
8 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
10 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
12 import java.util.HashMap; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
13 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
14 import net.sf.jasperreports.engine.JRDataSource; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 import net.sf.jasperreports.engine.JRException; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
16 import net.sf.jasperreports.engine.JRField; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
17 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
18 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
19 /** |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
20 * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a> |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
21 */ |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
22 public class BedDifferenceJRDataSource implements JRDataSource |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
23 { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
24 private ArrayList<String[]> data; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
25 private HashMap<String, String> metaData; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
26 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
27 private int index = -1; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
28 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
29 public BedDifferenceJRDataSource() { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
30 data = new ArrayList<String[]>(); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 metaData = new HashMap<String, String>(); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
33 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 public void addData(String[] val) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 data.add(val); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
37 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
38 public void addMetaData(String key, String value) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
39 metaData.put(key, value); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
40 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
41 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
42 public boolean next() throws JRException { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
43 index++; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
44 return (index < data.size()); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
45 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
46 |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
47 public Object getFieldValue(JRField field) throws JRException { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
48 Object value = ""; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
49 String fieldName = field.getName(); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
50 if ("river".equals(fieldName)) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
51 value = metaData.get("river"); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
53 else if ("calculation".equals(fieldName)) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
54 value = metaData.get("calculation"); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
55 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
56 else if ("date".equals(fieldName)) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
57 value = metaData.get("date"); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
58 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
59 else if ("differences".equals(fieldName)) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
60 value = metaData.get("differences"); |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
61 } |
7916
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
62 else if ("kmheader".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
63 value = metaData.get("kmheader"); |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
64 } |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
65 else if ("diffpairheader".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
66 value = metaData.get("diffpairheader"); |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
67 } |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
68 else if ("diffheader".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
69 value = metaData.get("diffheader"); |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
70 } |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
71 else if ("morph1header".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
72 value = metaData.get("morph1header"); |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
73 } |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
74 else if ("morph2header".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
75 value = metaData.get("morph2header"); |
7909
8a2ce10da352
Feed unit to PDF template.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6240
diff
changeset
|
76 } |
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
77 else if ("km".equals(fieldName)) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
78 value = data.get(index)[0]; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
79 } |
7916
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
80 else if ("diffpair".equals(fieldName)) { |
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
81 value = data.get(index)[1]; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
82 } |
7916
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
83 else if ("diff".equals(fieldName)) { |
7915
931dffefc3dd
flys/issue1628: Adjusted the PDF export.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7909
diff
changeset
|
84 value = data.get(index)[2]; |
931dffefc3dd
flys/issue1628: Adjusted the PDF export.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7909
diff
changeset
|
85 } |
7916
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
86 else if ("morph1".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
87 value = data.get(index)[3]; |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
88 } |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
89 else if ("morph2".equals(fieldName)) { |
c0843a658474
Adapted bed differences PDF export to CSV export and some cleanup of field names.
Tom Gottfried <tom@intevation.de>
parents:
7915
diff
changeset
|
90 value = data.get(index)[4]; |
7915
931dffefc3dd
flys/issue1628: Adjusted the PDF export.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7909
diff
changeset
|
91 } |
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
92 return value; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
93 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
94 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
95 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |