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 :

http://dive4elements.wald.intevation.org