Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/GaugeDischargeCurveArtifact.java @ 6693:88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
This allows us to use the GaugeDischargeArtifact for any discharge
tables that we have in our database. The name of the created facet
is taken from the ids string as is also usual in the WMS artifacts.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Mon, 29 Jul 2013 12:19:57 +0200 |
parents | 7dd2f5435426 |
children | 8d5ca5175038 |
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 { |
6037 | 45 /** Private logger. */ |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 private static final Logger logger = |
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, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 Document data) |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 { |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 logger.debug("GaugeDischargeCurveArtifact.setup"); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 if (logger.isDebugEnabled()) { |
4028
b993d328f8b0
Improve debug output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4027
diff
changeset
|
89 logger.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
|
90 } |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 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
|
92 ArtifactNamespaceContext.INSTANCE); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 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
|
94 ArtifactNamespaceContext.INSTANCE); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
95 |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
96 addData("river", new DefaultStateData("river", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
97 Resources.getMsg(callmeta, |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
98 "facet.gauge_discharge_curve.river", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
99 "Name of the river"), |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
100 "String", rivername)); |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
101 addData("reference_gauge", new DefaultStateData("reference_gauge", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
102 Resources.getMsg(callmeta, |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
103 "facet.gauge_discharge_curve.reference_gauge", |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
104 "Gauge official number"), |
4186
eba517419832
Change reference_gauge paremeter to Long
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4185
diff
changeset
|
105 "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
|
106 |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
107 Gauge gauge = RiverUtils.getReferenceGauge(this); |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
108 String gaugename = ""; |
4190
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
109 Double gaugelocation = null; |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
110 if (gauge != null) { |
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
111 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
|
112 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
|
113 if (station != null) { |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
114 gaugelocation = station.doubleValue(); |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
115 } |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
116 } |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
117 |
4164
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
118 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
|
119 Resources.getMsg(callmeta, |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
120 "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
|
121 "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
|
122 "String", gaugename)); |
8d3e8cb54e4c
Add data for the gauge name to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4159
diff
changeset
|
123 |
4190
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
124 if (gaugelocation != null) { |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
125 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
|
126 Resources.getMsg(callmeta, |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
127 "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
|
128 "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
|
129 "Double", gaugelocation.toString())); |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
130 } |
b87d76a6da70
The AT export needs a ld_locations data item
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4188
diff
changeset
|
131 |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
132 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
|
133 "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
|
134 "Discharge curve on gauge", |
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
135 rivername, |
4034
46c1210be26b
Set translated data descriptions
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4032
diff
changeset
|
136 gaugename); |
4032
a5e1ca620f15
Add description and set correct name for GaugeDischargeCurveFacet
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4028
diff
changeset
|
137 |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
138 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
|
139 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
|
140 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
|
141 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
|
142 |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
143 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
|
144 "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
|
145 "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
|
146 rivername, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
147 gaugename); |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
148 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
|
149 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
|
150 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
|
151 |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
152 description = Resources.format(callmeta, |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
153 "facet.computed_dischargecurve_export.csv", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
154 "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
|
155 rivername, |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
156 gaugename); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
157 csvfacet = new GaugeDischargeCurveFacet( |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
158 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
|
159 fs.add(csvfacet); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
160 |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
161 description = Resources.format(callmeta, |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
162 "facet.computed_dischargecurve_export.pdf", |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
163 "Discharge curve PDF export on gauge", |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
164 rivername, |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
165 gaugename); |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
166 pdffacet = new GaugeDischargeCurveFacet( |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
167 GAUGE_DISCHARGE_CURVE_PDF_FACET, description); |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
168 fs.add(pdffacet); |
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
169 |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
170 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
|
171 |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
172 super.setup(identifier, factory, context, callmeta, data); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
173 } |
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 @Override |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
176 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
|
177 return NAME; |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
178 } |
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 @Override |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
181 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
|
182 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
|
183 |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
184 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
|
185 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
|
186 |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
187 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
|
188 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
|
189 "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
|
190 "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
|
191 fs, |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
192 "chart"); |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
193 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
|
194 |
4188
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
195 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
|
196 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
|
197 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
|
198 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
|
199 "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
|
200 "text/plain", |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
201 fs, |
dc4087088c0b
Add a new outputmode for an at export in GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4186
diff
changeset
|
202 "export"); |
3936
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
203 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
|
204 |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
205 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
|
206 fs.add(csvfacet); |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
207 fs.add(pdffacet); |
4586
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
208 output = new DefaultOutput( |
4611
526fd442e0e5
Add pdf export to GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4586
diff
changeset
|
209 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
|
210 "output.computed_dischargecurve_export", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
211 "text/plain", |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
212 fs, |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
213 "export"); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
214 state.addOutput(output); |
319565a48182
Add the csv export to the GaugeDischargeCurveArtifact
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4305
diff
changeset
|
215 |
4159
bbae306fcb4f
Set uiprovider on the state
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4034
diff
changeset
|
216 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
|
217 setStaticState(state); |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
218 } |
4e1b3b4ef132
Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
219 } |