Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeState.java @ 8435:6ebad936d82b
Unify descriptions of model discharge curve at gauge.
author | "Tom Gottfried <tom@intevation.de>" |
---|---|
date | Mon, 20 Oct 2014 13:48:51 +0200 |
parents | 6ae0c5116d58 |
children | 7cb55659646d |
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; |
8435
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
12 import java.util.Date; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 |
6851
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
14 import java.text.DateFormat; |
4937dab5ff7a
(issue1391): Build the current discarge curve name as requested
Andre Heinecke <aheinecke@intevation.de>
parents:
6693
diff
changeset
|
15 |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 import org.apache.log4j.Logger; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
18 import org.dive4elements.artifacts.CallMeta; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
19 import org.dive4elements.artifacts.CallContext; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
21 import org.dive4elements.artifactdatabase.state.Facet; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
23 import org.dive4elements.river.artifacts.ChartArtifact; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
24 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
|
25 import org.dive4elements.river.artifacts.D4EArtifact; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
26 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
27 import org.dive4elements.river.artifacts.model.GaugeDischargeFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
28 import org.dive4elements.river.artifacts.model.FacetTypes; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.WQKms; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.ReportFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
31 import org.dive4elements.river.artifacts.model.EmptyFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
32 import org.dive4elements.river.artifacts.model.CalculationResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
33 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
34 import org.dive4elements.river.artifacts.resources.Resources; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
35 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
36 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
|
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 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
51 /** The log that is used in this state. */ |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
52 private static final Logger log = |
3051
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(); |
8435
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
72 TimeInterval validity = gauge.fetchMasterDischargeTable() |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
73 .getTimeInterval(); |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
74 Date stopTime = validity.getStopTime(); |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
75 String name = Resources.getMsg( |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
76 meta, |
8435
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
77 "chart.discharge.curve.model" + (stopTime != null ? "" : ".nostop"), |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
78 new Object[] {gauge.getName(), |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
79 validity.getStartTime(), |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
80 stopTime |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
81 } |
6ebad936d82b
Unify descriptions of model discharge curve at gauge.
"Tom Gottfried <tom@intevation.de>"
parents:
8406
diff
changeset
|
82 ); |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
83 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
84 return name; |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
85 } |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 /** |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 * Add an GaugeDischargeFacet to list of Facets. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 * |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 * @param artifact Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 * @param hash Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 * @param context Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 * @param meta CallMeta to be used for internationalization. |
8406
6ae0c5116d58
Distinguish between types of measurement stations and filter appropriately (plus minor cleanup in related classes).
Tom Gottfried <tom@intevation.de>
parents:
8390
diff
changeset
|
95 * @param facets List to add Facet to. |
2723
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 * @return null. |
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 @Override |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 public Object computeInit( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
101 D4EArtifact artifact, |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 String hash, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 Object context, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 CallMeta meta, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 List<Facet> facets |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 ) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
107 log.debug("GaugeDischargeState.computeInit()"); |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 GaugeDischargeFacet facet = new GaugeDischargeFacet( |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 0, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 DISCHARGE_CURVE, |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
112 createFacetName((GaugeDischargeArtifact) artifact, meta)); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
113 |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 facets.add(facet); |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 return null; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 } |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
119 |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
120 /** |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
121 * 'Calculate' Discharge at Gauge. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
122 */ |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
123 @Override |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
124 public Object computeAdvance( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
125 D4EArtifact artifact, |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
126 String hash, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
127 CallContext context, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
128 List<Facet> facets, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
129 Object old |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
130 ) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
131 if (artifact instanceof GaugeDischargeArtifact) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
132 log.debug("GaugeDischargeState.computeAdvance()"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
133 GaugeDischargeArtifact dischargeArtifact = (GaugeDischargeArtifact) artifact; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
134 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
135 CalculationResult res; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
136 |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
137 |
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
138 if (old instanceof CalculationResult) { |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
139 res = (CalculationResult) old; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
140 } |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
141 else { |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
142 res = dischargeArtifact.getDischargeCurveData(); |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
143 } |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
144 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
145 WQKms[] wqkms = (WQKms[]) res.getData(); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
146 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
147 if (wqkms != null && facets != null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
148 log.debug("GaugeDischargeState.computeAdvance(): create facets"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
149 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
150 GaugeDischargeFacet facet = new GaugeDischargeFacet( |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
151 0, |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
152 DISCHARGE_CURVE, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
153 createFacetName(dischargeArtifact, context.getMeta())); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
154 |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
155 facets.add(facet); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
156 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
157 if (res.getReport().hasProblems()) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
158 facets.add(new ReportFacet()); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
159 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
160 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
161 else { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
162 if (wqkms == null) |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
163 log.debug("GaugeDischargeState.computeAdvance(): wqkms 0"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
164 else |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6851
diff
changeset
|
165 log.debug("GaugeDischargeState.computeAdvance(): facets 0"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
166 } |
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 return res; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
169 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
170 else if (artifact instanceof ChartArtifact) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
171 ChartArtifact chart = (ChartArtifact)artifact; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
172 facets.add(new EmptyFacet()); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
173 return null; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
174 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
175 return null; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
176 } |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
177 } |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
178 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |