Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeState.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 | af13ceeba52a |
children | 4937dab5ff7a |
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 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 import org.apache.log4j.Logger; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
15 import org.dive4elements.artifacts.CallMeta; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
16 import org.dive4elements.artifacts.CallContext; |
2723
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.artifactdatabase.state.Facet; |
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.river.artifacts.ChartArtifact; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
21 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
|
22 import org.dive4elements.river.artifacts.D4EArtifact; |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
24 import org.dive4elements.river.artifacts.model.GaugeDischargeFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.FacetTypes; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.WQKms; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
27 import org.dive4elements.river.artifacts.model.ReportFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
28 import org.dive4elements.river.artifacts.model.EmptyFacet; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.CalculationResult; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
30 |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3060
diff
changeset
|
31 import org.dive4elements.river.artifacts.resources.Resources; |
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.model.Gauge; |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
34 |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 /** |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 * 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
|
38 */ |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 public class GaugeDischargeState |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 extends DefaultState |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 implements FacetTypes |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 { |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 /** Developer-centric description of facet. */ |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 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
|
45 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 /** 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
|
47 private static final Logger logger = |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
48 Logger.getLogger(GaugeDischargeState.class); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
49 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
50 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
51 /** |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
52 * Create i18ned name for gaugedischargeFacet. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
53 * @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
|
54 * @param meta used for i18n. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
55 * @return localized name for gaugedischargefacet. |
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 protected String createFacetName(GaugeDischargeArtifact artifact, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
58 CallMeta meta) { |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
59 |
6693
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
60 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
|
61 /* 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
|
62 * 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
|
63 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
|
64 } |
88bb0c794833
issue1391: Enable GaugeDischarge artifact to directly load a table by its ID
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
65 |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
66 Gauge gauge = artifact.getGauge(); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
67 Object[] args = new Object[] { |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
68 gauge.getName(), |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
69 gauge.getStation() |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
70 }; |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
71 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
72 String name = Resources.getMsg( |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
73 meta, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
74 "chart.computed.discharge.curve.gauge", |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
75 "", |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
76 args); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
77 |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
78 return name; |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
79 } |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 /** |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 * Add an GaugeDischargeFacet to list of Facets. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 * |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 * @param artifact Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 * @param hash Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 * @param context Ignored. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 * @param meta CallMeta to be used for internationalization. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 * @param facets List to add AnnotationFacet to. |
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 * @return null. |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 */ |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 @Override |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 public Object computeInit( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
95 D4EArtifact artifact, |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 String hash, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 Object context, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 CallMeta meta, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 List<Facet> facets |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 ) { |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 logger.debug("GaugeDischargeState.computeInit()"); |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 GaugeDischargeFacet facet = new GaugeDischargeFacet( |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 0, |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 DISCHARGE_CURVE, |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
106 createFacetName((GaugeDischargeArtifact) artifact, meta)); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
107 |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 facets.add(facet); |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 return null; |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 } |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
113 |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
114 /** |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
115 * 'Calculate' Discharge at Gauge. |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
116 */ |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
117 @Override |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
118 public Object computeAdvance( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
119 D4EArtifact artifact, |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
120 String hash, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
121 CallContext context, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
122 List<Facet> facets, |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
123 Object old |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
124 ) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
125 if (artifact instanceof GaugeDischargeArtifact) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
126 logger.debug("GaugeDischargeState.computeAdvance()"); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
127 GaugeDischargeArtifact dischargeArtifact = (GaugeDischargeArtifact) artifact; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
128 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
129 CalculationResult res; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
130 |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
131 |
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
132 if (old instanceof CalculationResult) { |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
133 res = (CalculationResult) old; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
134 } |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
135 else { |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
136 res = dischargeArtifact.getDischargeCurveData(); |
3053
bb576facbe50
Use cache.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3051
diff
changeset
|
137 } |
2734
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 WQKms[] wqkms = (WQKms[]) res.getData(); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
140 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
141 if (wqkms != null && facets != null) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
142 logger.debug("GaugeDischargeState.computeAdvance(): create facets"); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
143 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
144 GaugeDischargeFacet facet = new GaugeDischargeFacet( |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
145 0, |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
146 DISCHARGE_CURVE, |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
147 createFacetName(dischargeArtifact, context.getMeta())); |
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
148 |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
149 facets.add(facet); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
150 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
151 //facets.add(new DataFacet(CSV, "CSV data")); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
152 //facets.add(new DataFacet(PDF, "PDF data")); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
153 |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
154 if (res.getReport().hasProblems()) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
155 facets.add(new ReportFacet()); |
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 } |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
158 else { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
159 if (wqkms == null) |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
160 logger.debug("GaugeDischargeState.computeAdvance(): wqkms 0"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
161 else |
3051
49727e9dcfde
Polished Gauge Discharges in computed discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2734
diff
changeset
|
162 logger.debug("GaugeDischargeState.computeAdvance(): facets 0"); |
2734
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
163 } |
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 return res; |
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 else if (artifact instanceof ChartArtifact) { |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
168 ChartArtifact chart = (ChartArtifact)artifact; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
169 facets.add(new EmptyFacet()); |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
170 return null; |
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 return null; |
89731cb8c385
More debugging of discharge curve issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2723
diff
changeset
|
173 } |
2723
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 } |
5ce5abd173b9
Added skeleton for gauge discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |