annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeState.java @ 8202:e4606eae8ea5

sed src/**/*.java 's/logger/log/g'
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 05 Sep 2014 12:58:17 +0200
parents 4937dab5ff7a
children e52a7daabe0f
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
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();
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 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6851
diff changeset
115 log.debug("GaugeDischargeState.computeInit()");
2723
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) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6851
diff changeset
140 log.debug("GaugeDischargeState.computeAdvance()");
2734
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) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6851
diff changeset
156 log.debug("GaugeDischargeState.computeAdvance(): create facets");
2734
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)
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6851
diff changeset
174 log.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
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6851
diff changeset
176 log.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 :

http://dive4elements.wald.intevation.org