Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeState.java @ 6942:b77a1e804c0a
Slightly better name for flowvelocitymeasurementvaluefacets.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 29 Aug 2013 12:15:05 +0200 |
parents | 4937dab5ff7a |
children | e4606eae8ea5 |
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:
5867
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:
5867
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:
3060
diff
changeset
|
9 package org.dive4elements.river.artifacts.states; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import java.util.List; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 |
6851
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
13 import java.text.DateFormat; |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
14 |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
17 import org.dive4elements.artifacts.CallMeta; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
18 import org.dive4elements.artifacts.CallContext; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
20 import org.dive4elements.artifactdatabase.state.Facet; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
22 import org.dive4elements.river.artifacts.ChartArtifact; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
23 import org.dive4elements.river.artifacts.GaugeDischargeArtifact; |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
24 import org.dive4elements.river.artifacts.D4EArtifact; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.GaugeDischargeFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
27 import org.dive4elements.river.artifacts.model.FacetTypes; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
28 import org.dive4elements.river.artifacts.model.WQKms; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.ReportFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.EmptyFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
31 import org.dive4elements.river.artifacts.model.CalculationResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
32 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
33 import org.dive4elements.river.artifacts.resources.Resources; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
34 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
35 import org.dive4elements.river.model.Gauge; |
6851
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
36 import org.dive4elements.river.model.DischargeTable; |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
37 import org.dive4elements.river.model.TimeInterval; |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
38 |
6851
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
39 import org.dive4elements.river.utils.Formatter; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 /** |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 * The only state for an GaugeDischargeState (River and km known). |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 */ |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 public class GaugeDischargeState |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 extends DefaultState |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 implements FacetTypes |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 { |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 /** Developer-centric description of facet. */ |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 public static final String I18N_DESCRIPTION = "facet.discharge.curve"; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 /** The logger that is used in this state. */ |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
52 private static final Logger logger = |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
53 Logger.getLogger(GaugeDischargeState.class); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
54 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
55 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
56 /** |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
57 * Create i18ned name for gaugedischargeFacet. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
58 * @param artifact The artifact which has information about the gauge. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
59 * @param meta used for i18n. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
60 * @return localized name for gaugedischargefacet. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
61 */ |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
62 protected String createFacetName(GaugeDischargeArtifact artifact, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
63 CallMeta meta) { |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
64 |
6693
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
65 if (artifact.getFacetWishName() != null) { |
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
66 /* We let the Artifact overwrite our name as this allows |
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
67 * injecting the facet name from the Datacage */ |
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
68 return artifact.getFacetWishName(); |
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
69 } |
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
70 |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
71 Gauge gauge = artifact.getGauge(); |
6851
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
72 DischargeTable mdt = gauge.fetchMasterDischargeTable(); |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
73 TimeInterval validity = mdt.getTimeInterval(); |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
74 DateFormat df = Formatter.getDateFormatter(meta, "dd.MM.yyyy"); |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
75 String start = validity.getStartTime() != null ? |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
76 df.format(validity.getStartTime()) : "Unknown"; |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
77 String stop = validity.getStopTime() != null ? |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
78 df.format(validity.getStopTime()) : ""; |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
79 |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
80 Object[] args = new Object[] { |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
81 gauge.getName(), |
6851
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
82 start, |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
83 stop |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
84 }; |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
85 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
86 String name = Resources.getMsg( |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
87 meta, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
88 "chart.computed.discharge.curve.gauge", |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
89 "", |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
90 args); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
91 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
92 return name; |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
93 } |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 /** |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 * Add an GaugeDischargeFacet to list of Facets. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 * |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 * @param artifact Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 * @param hash Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 * @param context Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 * @param meta CallMeta to be used for internationalization. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 * @param facets List to add AnnotationFacet to. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 * |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 * @return null. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 */ |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
107 @Override |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 public Object computeInit( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
109 D4EArtifact artifact, |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 String hash, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 Object context, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 CallMeta meta, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
113 List<Facet> facets |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 ) { |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 logger.debug("GaugeDischargeState.computeInit()"); |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 GaugeDischargeFacet facet = new GaugeDischargeFacet( |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 0, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 DISCHARGE_CURVE, |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
120 createFacetName((GaugeDischargeArtifact) artifact, meta)); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
121 |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
122 facets.add(facet); |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
123 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
124 return null; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 } |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
127 |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
128 /** |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
129 * 'Calculate' Discharge at Gauge. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
130 */ |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
131 @Override |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
132 public Object computeAdvance( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
133 D4EArtifact artifact, |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
134 String hash, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
135 CallContext context, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
136 List<Facet> facets, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
137 Object old |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
138 ) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
139 if (artifact instanceof GaugeDischargeArtifact) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
140 logger.debug("GaugeDischargeState.computeAdvance()"); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
141 GaugeDischargeArtifact dischargeArtifact = (GaugeDischargeArtifact) artifact; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
142 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
143 CalculationResult res; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
144 |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
145 |
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
146 if (old instanceof CalculationResult) { |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
147 res = (CalculationResult) old; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
148 } |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
149 else { |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
150 res = dischargeArtifact.getDischargeCurveData(); |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
151 } |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
152 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
153 WQKms[] wqkms = (WQKms[]) res.getData(); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
154 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
155 if (wqkms != null && facets != null) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
156 logger.debug("GaugeDischargeState.computeAdvance(): create facets"); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
157 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
158 GaugeDischargeFacet facet = new GaugeDischargeFacet( |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
159 0, |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
160 DISCHARGE_CURVE, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
161 createFacetName(dischargeArtifact, context.getMeta())); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
162 |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
163 facets.add(facet); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
164 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
165 //facets.add(new DataFacet(CSV, "CSV data")); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
166 //facets.add(new DataFacet(PDF, "PDF data")); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
167 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
168 if (res.getReport().hasProblems()) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
169 facets.add(new ReportFacet()); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
170 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
171 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
172 else { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
173 if (wqkms == null) |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
174 logger.debug("GaugeDischargeState.computeAdvance(): wqkms 0"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
175 else |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
176 logger.debug("GaugeDischargeState.computeAdvance(): facets 0"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
177 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
178 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
179 return res; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
180 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
181 else if (artifact instanceof ChartArtifact) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
182 ChartArtifact chart = (ChartArtifact)artifact; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
183 facets.add(new EmptyFacet()); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
184 return null; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
185 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
186 return null; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
187 } |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 } |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |