Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDifferenceJRDataSource.java @ 8544:76113b975829
(Issue1754) Make BedDifference calculation range dependent.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 13 Feb 2015 16:17:46 +0100 |
parents | 9ab8b1146ac4 |
children | ce325339e9ba |
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 } |
8438
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
71 else if ("sounding1header".equals(fieldName)) { |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
72 value = metaData.get("sounding1header"); |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
73 } |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
74 else if ("sounding2header".equals(fieldName)) { |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
75 value = metaData.get("sounding2header"); |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
76 } |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
77 else if ("gap1header".equals(fieldName)) { |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
78 value = metaData.get("gap1header"); |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
79 } |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
80 else if ("gap2header".equals(fieldName)) { |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
81 value = metaData.get("gap2header"); |
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
82 } |
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
83 else if ("km".equals(fieldName)) { |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
84 value = data.get(index)[0]; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
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 ("diffpair".equals(fieldName)) { |
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
87 value = data.get(index)[1]; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
88 } |
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
|
89 else if ("diff".equals(fieldName)) { |
7915
931dffefc3dd
flys/issue1628: Adjusted the PDF export.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7909
diff
changeset
|
90 value = data.get(index)[2]; |
931dffefc3dd
flys/issue1628: Adjusted the PDF export.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7909
diff
changeset
|
91 } |
8422
96bf5135cd0e
Bedheight differences exports sounding width and data gap for minuend and subtrahend.
Raimund Renkert <rrenkert@intevation.de>
parents:
8420
diff
changeset
|
92 else if ("sounding1".equals(fieldName)) { |
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
|
93 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
|
94 } |
8422
96bf5135cd0e
Bedheight differences exports sounding width and data gap for minuend and subtrahend.
Raimund Renkert <rrenkert@intevation.de>
parents:
8420
diff
changeset
|
95 else if ("sounding2".equals(fieldName)) { |
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
|
96 value = data.get(index)[4]; |
7915
931dffefc3dd
flys/issue1628: Adjusted the PDF export.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7909
diff
changeset
|
97 } |
8422
96bf5135cd0e
Bedheight differences exports sounding width and data gap for minuend and subtrahend.
Raimund Renkert <rrenkert@intevation.de>
parents:
8420
diff
changeset
|
98 else if ("gap1".equals(fieldName)) { |
8438
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
99 value = data.get(index)[5]; |
8422
96bf5135cd0e
Bedheight differences exports sounding width and data gap for minuend and subtrahend.
Raimund Renkert <rrenkert@intevation.de>
parents:
8420
diff
changeset
|
100 } |
96bf5135cd0e
Bedheight differences exports sounding width and data gap for minuend and subtrahend.
Raimund Renkert <rrenkert@intevation.de>
parents:
8420
diff
changeset
|
101 else if ("gap2".equals(fieldName)) { |
8438
9ab8b1146ac4
Adapt PDF-export to new columns in bed differences result.
"Tom Gottfried <tom@intevation.de>"
parents:
8433
diff
changeset
|
102 value = data.get(index)[6]; |
8422
96bf5135cd0e
Bedheight differences exports sounding width and data gap for minuend and subtrahend.
Raimund Renkert <rrenkert@intevation.de>
parents:
8420
diff
changeset
|
103 } |
6240
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
104 return value; |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
105 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
106 } |
3e59b64a17c8
Add JR datasource for Bedheight differences
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
107 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |