Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/GaugeDischargeCurveArtifact.java @ 8755:30b1ddadf275
(issue1801) Unify reference gauge finding code
The basic way as described in the method comment of the
determineRefGauge method is now used in the WINFOArtifact,
MainValuesService and RiverUtils.getGauge method.
RiverUtils.getGauge previously just returned the first
gauge found. While this is now a behavior change I believe
that it is always more correct then the undeterministic
behavior of the previous implmenentation.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Jun 2015 14:07:26 +0200 |
parents | e4606eae8ea5 |
children | 5e38e2924c07 |
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:
5865
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:
5865
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:
4611
diff
changeset
|
9 package org.dive4elements.river.artifacts; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 |
4190
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
11 import java.math.BigDecimal; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import java.util.ArrayList; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import java.util.List; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 import org.w3c.dom.Document; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
19 import org.dive4elements.artifactdatabase.state.DefaultOutput; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
20 import org.dive4elements.artifactdatabase.state.Facet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
21 import org.dive4elements.artifactdatabase.data.DefaultStateData; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
23 import org.dive4elements.artifacts.ArtifactFactory; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
24 import org.dive4elements.artifacts.CallMeta; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
26 import org.dive4elements.artifacts.common.ArtifactNamespaceContext; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
27 import org.dive4elements.artifacts.common.utils.XMLUtils; |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
28 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.GaugeDischargeCurveFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
30 import org.dive4elements.river.artifacts.resources.Resources; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
31 import org.dive4elements.river.artifacts.states.StaticState; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
32 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4611
diff
changeset
|
33 import org.dive4elements.river.model.Gauge; |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
34 import org.dive4elements.river.utils.RiverUtils; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 /** |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 * Artifact to calculate a discharge curve from a gauge overview info |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 * |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 */ |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 public class GaugeDischargeCurveArtifact |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 extends AbstractStaticStateArtifact |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
45 /** Private log. */ |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
46 private static final Logger log = |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 Logger.getLogger(GaugeDischargeCurveArtifact.class); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 |
4027
21cac9482958
Fix xpath for attributes
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3991
diff
changeset
|
49 public static final String XPATH_RIVER = "/art:action/art:river/@art:name"; |
21cac9482958
Fix xpath for attributes
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3991
diff
changeset
|
50 public static final String XPATH_GAUGE = "/art:action/art:gauge/@art:reference"; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 public static final String NAME = "gaugedischargecurve"; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 public static final String STATIC_STATE_NAME = "state.gaugedischargecurve.static"; |
4159
bbae306fcb4f
Set uiprovider on the state
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4034
diff
changeset
|
53 public static final String UIPROVIDER = "gauge_discharge_curve"; |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
54 public static final String GAUGE_DISCHARGE_CURVE_FACET = |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
55 "gauge_discharge_curve"; |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
56 public static final String GAUGE_DISCHARGE_CURVE_AT_EXPORT_FACET = |
4305
8c51c43e59ca
Rename gauge_discharge_curve_at_export facet to at
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4190
diff
changeset
|
57 "at"; |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
58 public static final String GAUGE_DISCHARGE_CURVE_OUT = |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
59 "discharge_curve"; |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
60 public static final String GAUGE_DISCHARGE_CURVE_AT_EXPORT_OUT = |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
61 "computed_dischargecurve_at_export"; |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
62 public static final String GAUGE_DISCHARGE_CURVE_EXPORT_OUT = |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
63 "computed_dischargecurve_export"; |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
64 public static final String GAUGE_DISCHARGE_CURVE_CSV_FACET = |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
65 "csv"; |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
66 public static final String GAUGE_DISCHARGE_CURVE_PDF_FACET = |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
67 "pdf"; |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
68 |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
69 private Facet atexportfacet; |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
70 private Facet curvefacet; |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
71 private Facet csvfacet; |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
72 private Facet pdffacet; |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 /** |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 * Setup initializes the data by extracting the river and gauge from |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 * the XML Document. |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
77 */ |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 @Override |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 public void setup( |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 String identifier, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 ArtifactFactory factory, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 Object context, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 CallMeta callmeta, |
7842
8d5ca5175038
Updated signature of artifacts setup method; Removed unnecessary setup overrides.
Raimund Renkert <rrenkert@intevation.de>
parents:
6037
diff
changeset
|
84 Document data, |
8d5ca5175038
Updated signature of artifacts setup method; Removed unnecessary setup overrides.
Raimund Renkert <rrenkert@intevation.de>
parents:
6037
diff
changeset
|
85 List<Class> loadFacets) |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
87 log.debug("GaugeDischargeCurveArtifact.setup"); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
89 if (log.isDebugEnabled()) { |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7842
diff
changeset
|
90 log.debug("GaugeDischargeCurveArtifact.setup" + XMLUtils.toString(data)); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 } |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 String gaugeref = XMLUtils.xpathString(data, XPATH_GAUGE, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 ArtifactNamespaceContext.INSTANCE); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 String rivername = XMLUtils.xpathString(data, XPATH_RIVER, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
95 ArtifactNamespaceContext.INSTANCE); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
97 addData("river", new DefaultStateData("river", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
98 Resources.getMsg(callmeta, |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
99 "facet.gauge_discharge_curve.river", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
100 "Name of the river"), |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
101 "String", rivername)); |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
102 addData("reference_gauge", new DefaultStateData("reference_gauge", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
103 Resources.getMsg(callmeta, |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
104 "facet.gauge_discharge_curve.reference_gauge", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
105 "Gauge official number"), |
4186
eba517419832
Change reference_gauge paremeter to Long
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4185
diff
changeset
|
106 "Long", gaugeref)); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
107 |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
108 Gauge gauge = RiverUtils.getReferenceGauge(this); |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
109 String gaugename = ""; |
4190
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
110 Double gaugelocation = null; |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
111 if (gauge != null) { |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
112 gaugename = gauge.getName(); |
4190
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
113 BigDecimal station = gauge.getStation(); |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
114 if (station != null) { |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
115 gaugelocation = station.doubleValue(); |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
116 } |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
117 } |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
118 |
4164
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
119 addData("gauge_name", new DefaultStateData("gauge_name", |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
120 Resources.getMsg(callmeta, |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
121 "facet.gauge_discharge_curve.gauge_name", |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
122 "Name of the gauge"), |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
123 "String", gaugename)); |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
124 |
4190
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
125 if (gaugelocation != null) { |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
126 addData("ld_locations", new DefaultStateData("ld_locations", |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
127 Resources.getMsg(callmeta, |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
128 "facet.gauge_discharge_curve.gauge_location", |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
129 "Location of the gauge"), |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
130 "Double", gaugelocation.toString())); |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
131 } |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
132 |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
133 String description = Resources.format(callmeta, |
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
134 "facet.gauge_discharge_curve.description", |
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
135 "Discharge curve on gauge", |
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
136 rivername, |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
137 gaugename); |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
138 |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
139 List<Facet> fs = new ArrayList<Facet>(4); |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
140 curvefacet = new GaugeDischargeCurveFacet( |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
141 GAUGE_DISCHARGE_CURVE_FACET, description); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
142 fs.add(curvefacet); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
143 |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
144 description = Resources.format(callmeta, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
145 "facet.gauge_discharge_curve_at_export.description", |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
146 "Discharge curve AT export on gauge", |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
147 rivername, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
148 gaugename); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
149 atexportfacet = new GaugeDischargeCurveFacet( |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
150 GAUGE_DISCHARGE_CURVE_AT_EXPORT_FACET, description); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
151 fs.add(atexportfacet); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
152 |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
153 description = Resources.format(callmeta, |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
154 "facet.computed_dischargecurve_export.csv", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
155 "Discharge curve CSV export on gauge", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
156 rivername, |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
157 gaugename); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
158 csvfacet = new GaugeDischargeCurveFacet( |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
159 GAUGE_DISCHARGE_CURVE_CSV_FACET, description); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
160 fs.add(csvfacet); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
161 |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
162 description = Resources.format(callmeta, |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
163 "facet.computed_dischargecurve_export.pdf", |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
164 "Discharge curve PDF export on gauge", |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
165 rivername, |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
166 gaugename); |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
167 pdffacet = new GaugeDischargeCurveFacet( |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
168 GAUGE_DISCHARGE_CURVE_PDF_FACET, description); |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
169 fs.add(pdffacet); |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
170 |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
171 addFacets(STATIC_STATE_NAME, fs); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
172 |
7842
8d5ca5175038
Updated signature of artifacts setup method; Removed unnecessary setup overrides.
Raimund Renkert <rrenkert@intevation.de>
parents:
6037
diff
changeset
|
173 super.setup(identifier, factory, context, callmeta, data, loadFacets); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
174 } |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
175 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
176 @Override |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
177 public String getName() { |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
178 return NAME; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
179 } |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
180 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
181 @Override |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
182 protected void initStaticState() { |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
183 StaticState state = new StaticState(STATIC_STATE_NAME); |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
184 |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
185 List<Facet> fs = new ArrayList<Facet>(1); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
186 fs.add(curvefacet); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
187 |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
188 DefaultOutput output = new DefaultOutput( |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
189 GAUGE_DISCHARGE_CURVE_OUT, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
190 "output.discharge_curve", |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
191 "image/png", |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
192 fs, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
193 "chart"); |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
194 state.addOutput(output); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
195 |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
196 fs = new ArrayList<Facet>(1); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
197 fs.add(atexportfacet); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
198 output = new DefaultOutput( |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
199 GAUGE_DISCHARGE_CURVE_AT_EXPORT_OUT, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
200 "output.computed_dischargecurve_at_export", |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
201 "text/plain", |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
202 fs, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
203 "export"); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
204 state.addOutput(output); |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
205 |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
206 fs = new ArrayList<Facet>(2); |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
207 fs.add(csvfacet); |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
208 fs.add(pdffacet); |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
209 output = new DefaultOutput( |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
210 GAUGE_DISCHARGE_CURVE_EXPORT_OUT, |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
211 "output.computed_dischargecurve_export", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
212 "text/plain", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
213 fs, |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
214 "export"); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
215 state.addOutput(output); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
216 |
4159
bbae306fcb4f
Set uiprovider on the state
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4034
diff
changeset
|
217 state.setUIProvider(UIPROVIDER); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
218 setStaticState(state); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
219 } |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
220 } |