annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/HistoricalDischargeComputeState.java @ 8856:5e38e2924c07 3.2.x

Fix code style.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:12:01 +0100
parents 07df414d5d88
children 0a5239a1e46e
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: 5914
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: 5914
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: 5339
diff changeset
9 package org.dive4elements.river.artifacts.states;
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
4928
57652f905a87 HistoricalDischargeComputeState: Fix flys/issue664 i18n numbered facettes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4927
diff changeset
11 import java.text.NumberFormat;
57652f905a87 HistoricalDischargeComputeState: Fix flys/issue664 i18n numbered facettes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4927
diff changeset
12
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
13 import java.util.List;
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
15 import org.apache.log4j.Logger;
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
17 import org.dive4elements.artifactdatabase.state.Facet;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
18
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
19 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
20 import org.dive4elements.artifacts.CallContext;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
22 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
23
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;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
25
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
26 import org.dive4elements.river.artifacts.access.HistoricalDischargeAccess.EvaluationMode;
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
27
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
28 import org.dive4elements.river.artifacts.access.HistoricalDischargeAccess;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
29
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
30 import org.dive4elements.river.artifacts.model.Calculation6;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
31 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
32 import org.dive4elements.river.artifacts.model.DataFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
33 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
34 import org.dive4elements.river.artifacts.model.HistoricalDischargeData;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
35 import org.dive4elements.river.artifacts.model.HistoricalDischargeDifferenceFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
36 import org.dive4elements.river.artifacts.model.HistoricalDischargeFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
37 import org.dive4elements.river.artifacts.model.HistoricalDischargeWQFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
38 import org.dive4elements.river.artifacts.model.HistoricalWQTimerange;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
39 import org.dive4elements.river.artifacts.model.ReportFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
40 import org.dive4elements.river.artifacts.model.WQTimerange;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
41
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5339
diff changeset
42 import org.dive4elements.river.artifacts.resources.Resources;
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
43
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
44 import org.w3c.dom.Element;
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 /**
3047
d20215a0afd8 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2311
diff changeset
47 * State to calculate historical discharge curves.
4736
b195fede1c3b Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4260
diff changeset
48 *
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 */
4927
eb1cde786abf HistoricalDischargeComputeState: Cosmetic.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4736
diff changeset
51 public class HistoricalDischargeComputeState
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
52 extends DefaultState
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
53 implements FacetTypes
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
54 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
55 private static final Logger log = Logger
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
56 .getLogger(HistoricalDischargeComputeState.class);
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
57
4144
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
58 public static final String DEFAULT_UNIT = "cm";
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
59
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 @Override
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
61 protected void appendItems(Artifact artifact, ElementCreator creator,
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
62 String name, CallContext context, Element select) {
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 // TODO IMPLEMENT ME
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 }
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
65
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
66 @Override
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
67 public Object computeAdvance(D4EArtifact artifact, String hash,
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
68 CallContext context, List<Facet> facets, Object old) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
69 log.debug("HistoricalDischargeComputeState.computeAdvance");
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
70
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
71 HistoricalDischargeAccess access =
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
72 new HistoricalDischargeAccess(artifact);
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
73
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
74 CalculationResult res = old instanceof CalculationResult
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
75 ? (CalculationResult)old
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
76 : new Calculation6(access).calculate();
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
77
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
78 if (facets == null) {
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
79 return res;
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
80 }
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
81
2250
40608c82e9cb Bugfix: create a report facet for historical discharge curves even if no data has been computed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2244
diff changeset
82 if (res.getReport().hasProblems()) {
40608c82e9cb Bugfix: create a report facet for historical discharge curves even if no data has been computed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2244
diff changeset
83 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
40608c82e9cb Bugfix: create a report facet for historical discharge curves even if no data has been computed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2244
diff changeset
84 }
40608c82e9cb Bugfix: create a report facet for historical discharge curves even if no data has been computed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2244
diff changeset
85
4241
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
86 HistoricalDischargeData data = (HistoricalDischargeData) res.getData();
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
87
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
88 WQTimerange[] wqts = (WQTimerange[]) data.getWQTimeranges();
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
89 if (wqts != null && wqts.length > 0) {
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
90 facets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE,
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
91 hash, id));
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
92
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
93 facets.add(new DataFacet(PDF, "PDF data", ComputeType.ADVANCE,
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
94 hash, id));
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
95
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
96 prepareFacets(facets, wqts, access);
2228
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
97 }
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
98
8462
1127dbe95083 Remove obsolete historical discharge curve implementations.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
99 prepareWQFacets(context, facets, access, hash);
2215
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
100
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
101 return res;
ebbb18ed78c4 Added new classes and stubs used to calculate data for historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2191
diff changeset
102 }
2228
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
103
5914
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
104 protected void prepareFacets(
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
105 List<Facet> facets,
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
106 WQTimerange[] wqts,
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
107 HistoricalDischargeAccess access
1058b3436dad D4E river artifacts: Removed historical discharge calculation from WINFO artifact and use access instead.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
108 ) {
2228
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
109 int i = 0;
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
110
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
111 for (WQTimerange wqt : wqts) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
112 log.debug("Prepare facet for: " + wqt.getName());
2228
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
113
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
114 EvaluationMode evalMode = access.getEvaluationMode();
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
115 if (evalMode == EvaluationMode.W) {
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
116 facets.add(new HistoricalDischargeFacet(i,
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
117 HISTORICAL_DISCHARGE_Q, createFacetTitle(wqt)));
2311
b8df8d1476ba Compute differences between discharge table values and reference discharge table values in historical discharge curve calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2258
diff changeset
118
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
119 if (wqt instanceof HistoricalWQTimerange) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
120 log.debug(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
121 "Create another facet for historical differences.");
2311
b8df8d1476ba Compute differences between discharge table values and reference discharge table values in historical discharge curve calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2258
diff changeset
122
5335
05eeedc5b156 Doc, cosmetic and TODO fixes, renamed field in WQTimeRange.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4928
diff changeset
123 // TODO CREATE BETTER TITLE FOR FACETS (issue1180)
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
124 facets.add(new HistoricalDischargeDifferenceFacet(i,
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
125 HISTORICAL_DISCHARGE_Q_DIFF,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
126 "DIFF: " + wqt.getName()));
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
127 }
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
128 }
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
129 else {
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
130 facets.add(new HistoricalDischargeFacet(i,
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
131 HISTORICAL_DISCHARGE_W, createFacetTitle(wqt)));
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
132
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
133 if (wqt instanceof HistoricalWQTimerange) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
134 log.debug(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
135 "Create another facet for historical differences.");
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
136
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
137 // TODO CREATE BETTER TITLE FOR FACETS
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
138 facets.add(new HistoricalDischargeDifferenceFacet(i,
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
139 HISTORICAL_DISCHARGE_W_DIFF,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
140 "DIFF: " + wqt.getName()));
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
141 }
2311
b8df8d1476ba Compute differences between discharge table values and reference discharge table values in historical discharge curve calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2258
diff changeset
142 }
b8df8d1476ba Compute differences between discharge table values and reference discharge table values in historical discharge curve calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2258
diff changeset
143
b8df8d1476ba Compute differences between discharge table values and reference discharge table values in historical discharge curve calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2258
diff changeset
144 i++;
2228
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
145 }
4db19a88bddb Implemented the first step of Calculation6; create Facets for each calculation results.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2215
diff changeset
146 }
4144
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
147
4241
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
148 protected void prepareWQFacets(CallContext cc, List<Facet> facets,
8462
1127dbe95083 Remove obsolete historical discharge curve implementations.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
149 HistoricalDischargeAccess access, String hash) {
4241
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
150 double[] ws = access.getWs();
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
151 double[] qs = access.getQs();
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
152
4928
57652f905a87 HistoricalDischargeComputeState: Fix flys/issue664 i18n numbered facettes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4927
diff changeset
153 NumberFormat format = NumberFormat.getInstance(
57652f905a87 HistoricalDischargeComputeState: Fix flys/issue664 i18n numbered facettes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4927
diff changeset
154 Resources.getLocale(cc.getMeta()));
4241
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
155 for (int k = 0; k < ws.length; k++) {
4260
e4a415773b0a Added the 'index' parameter to HistoricalDischargeWQFacet to avoid loosing facets during the merge process in the FLYSArtifactCollection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4258
diff changeset
156 facets.add(new HistoricalDischargeWQFacet(k,
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
157 HISTORICAL_DISCHARGE_WQ_W,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
158 "W=" + format.format(ws[k]),
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
159 ComputeType.ADVANCE,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
160 hash,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
161 getID(),
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
162 ws[k]));
4241
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
163 }
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
164
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
165 for (int k = 0; k < qs.length; k++) {
4260
e4a415773b0a Added the 'index' parameter to HistoricalDischargeWQFacet to avoid loosing facets during the merge process in the FLYSArtifactCollection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4258
diff changeset
166 facets.add(new HistoricalDischargeWQFacet(k,
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
167 HISTORICAL_DISCHARGE_WQ_Q,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
168 "Q=" + format.format(qs[k]),
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
169 ComputeType.ADVANCE,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
170 hash,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
171 getID(),
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8490
diff changeset
172 qs[k]));
4241
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
173 }
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
174 }
49cb65d5932d Improved the historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4232
diff changeset
175
5339
1b73b731f7bd Doc, debug fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5335
diff changeset
176 /** Create string for facets name/description. */
4144
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
177 protected String createFacetTitle(WQTimerange wqt) {
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
178 String name = wqt.getName();
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
179
4232
b3aa91e45010 Implemented the Q evaluation mode for historical discharge calculations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4144
diff changeset
180 return name != null && name.indexOf("W") >= 0 ? createFacetTitleW(wqt)
4144
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
181 : createFacetTitleQ(wqt);
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
182 }
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
183
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
184 protected String createFacetTitleW(WQTimerange wqt) {
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
185 String name = wqt.getName();
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
186 return name + " " + DEFAULT_UNIT;
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
187 }
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
188
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
189 protected String createFacetTitleQ(WQTimerange wqt) {
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
190 return wqt.getName();
d7db9baa4e62 #930 Added unit [cm] of discharge tables to the facet description of historical discharge curves if calculation mode is W.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3047
diff changeset
191 }
2191
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
192 }
f28844a57fed Added states (work is not finished yet) for the 'historical discharge curve' calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
193 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org