Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java @ 5462:f2371f3aaf03
Show top level folder icons only if node has no factory
If you have an empty folder the folder icon is still shown.
This makes it possible to add functional "Top Level" entries
in the Datacage
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 26 Mar 2013 18:29:13 +0100 |
parents | a916e1202f0f |
children |
rev | line source |
---|---|
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts; |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
2 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
3 import java.util.ArrayList; |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
4 import java.util.List; |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
5 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
6 import org.apache.log4j.Logger; |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
7 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
8 import org.w3c.dom.Document; |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1093
diff
changeset
|
10 import de.intevation.artifactdatabase.data.DefaultStateData; |
1078
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
11 import de.intevation.artifactdatabase.state.Facet; |
3556
afc7bfb4800b
Use the new infrastructure to figure out if a facet should
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3076
diff
changeset
|
12 import de.intevation.artifactdatabase.state.FacetActivity; |
1078
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
13 import de.intevation.artifactdatabase.state.DefaultOutput; |
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
14 import de.intevation.artifactdatabase.state.State; |
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
15 |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
16 import de.intevation.artifacts.Artifact; |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.artifacts.ArtifactFactory; |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.artifacts.CallMeta; |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1093
diff
changeset
|
19 |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1093
diff
changeset
|
20 import de.intevation.flys.model.Gauge; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1093
diff
changeset
|
21 import de.intevation.flys.model.MainValue; |
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1093
diff
changeset
|
22 import de.intevation.flys.model.River; |
1078
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
23 |
4845
88f5ab736448
MainValuesArtifact: Use RangeAccess.getLocations instead of FLYSUtils.getLocations.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4736
diff
changeset
|
24 import de.intevation.flys.artifacts.access.RangeAccess; |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
25 import de.intevation.flys.artifacts.model.Calculation; |
1809
f6a190f6aaff
Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1787
diff
changeset
|
26 import de.intevation.flys.artifacts.model.FacetTypes; |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
27 import de.intevation.flys.artifacts.model.MainValuesQFacet; |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
28 import de.intevation.flys.artifacts.model.MainValuesWFacet; |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
29 import de.intevation.flys.artifacts.model.NamedDouble; |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
30 import de.intevation.flys.artifacts.model.WstValueTable; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
31 import de.intevation.flys.artifacts.model.WstValueTableFactory; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
32 |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
33 import de.intevation.flys.artifacts.states.StaticState; |
1112
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
34 import de.intevation.flys.artifacts.resources.Resources; |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
35 |
1095
f465785ed1ae
Refactored the code to fetch the km range/locations into a utility class.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1093
diff
changeset
|
36 import de.intevation.flys.utils.FLYSUtils; |
1078
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
37 |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 /** |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
40 * Artifact to access main and extreme values of a river. |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
41 * This artifact neglects (Static)FLYSArtifacts capabilities of interaction |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
42 * with the StateEngine by overriding the getState*-methods. |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 */ |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 public class MainValuesArtifact |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 extends StaticFLYSArtifact |
1809
f6a190f6aaff
Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1787
diff
changeset
|
46 implements FacetTypes |
1059
fdb0f4ef96f0
Made FLYS artifacts cloneable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1051
diff
changeset
|
47 { |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 /** The logger for this class. */ |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
49 private static Logger logger = Logger.getLogger(MainValuesArtifact.class); |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 /** The name of the artifact. */ |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
52 public static final String ARTIFACT_NAME = "mainvalue"; |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
53 |
1771
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
54 /** The name of the static state for this artifact. */ |
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
55 public static final String STATIC_STATE_NAME = "state.mainvalue.static"; |
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
56 |
1078
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
57 /** One and only state to be in. */ |
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
58 protected transient State state = null; |
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
59 |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
60 |
3558
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
61 static { |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
62 // TODO: Move to configuration. |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
63 FacetActivity.Registry.getInstance().register( |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
64 ARTIFACT_NAME, |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
65 new FacetActivity() { |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
66 @Override |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
67 public Boolean isInitialActive( |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
68 Artifact artifact, |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
69 Facet facet, |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
70 String outputName |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
71 ) { |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
72 return outputName.equals("computed_discharge_curve") |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
73 || outputName.equals("duration_curve"); |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
74 } |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
75 }); |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
76 } |
c3cd414982fe
Adjusted to follow the Chain-of-responsibility pattern in figuring out facet activities.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3556
diff
changeset
|
77 |
5368
d3f170484455
MainValuesArtifact: Doc, cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5290
diff
changeset
|
78 |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
79 /** |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
80 * Trivial Constructor. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
81 */ |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 public MainValuesArtifact() { |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
83 logger.debug("MainValuesArtifact.MainValuesartifact()"); |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 } |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
86 |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 /** |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 * Gets called from factory, to set things up. |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 */ |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 @Override |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 public void setup( |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 String identifier, |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 ArtifactFactory factory, |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 Object context, |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 CallMeta callMeta, |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 Document data) |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 { |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
98 logger.debug("MainValuesArtifact.setup"); |
1787
f3be8fa1ec62
Cosmetics, added simpler constructor for StaticState.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1771
diff
changeset
|
99 state = new StaticState(STATIC_STATE_NAME); |
f3be8fa1ec62
Cosmetics, added simpler constructor for StaticState.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1771
diff
changeset
|
100 |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
101 List<Facet> fs = new ArrayList<Facet>(); |
4497
a2735a4bf75e
Change facets member variable to private
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4126
diff
changeset
|
102 addFacets(state.getID(), fs); |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
103 spawnState(); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
104 super.setup(identifier, factory, context, callMeta, data); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
105 String restriction = getDatacageIDValue(data); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
106 logger.debug("mainvalue restriction " + restriction); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
107 boolean restricted = restriction.endsWith("q") || restriction.endsWith("w"); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
108 if (!restricted || restriction.endsWith("q")) { |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
109 Facet qfacet0 = new MainValuesQFacet( |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
110 DURATION_MAINVALUES_Q, |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
111 Resources.getMsg( |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
112 callMeta, |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
113 "facet.discharge_curves.mainvalues.q", |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
114 "facet.discharge_curves.mainvalues.q"), |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
115 false); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
116 Facet qfacet1 = new MainValuesQFacet( |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
117 COMPUTED_DISCHARGE_MAINVALUES_Q, |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
118 Resources.getMsg( |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
119 callMeta, |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
120 "facet.discharge_curves.mainvalues.q", |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
121 "facet.discharge_curves.mainvalues.q"), |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
122 false); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
123 Facet qfacet2 = new MainValuesQFacet( |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
124 MAINVALUES_Q, |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
125 Resources.getMsg( |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
126 callMeta, |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
127 "facet.discharge_curves.mainvalues.q", |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
128 "facet.discharge_curves.mainvalues.q"), |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
129 true); |
5370
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
130 Facet qfacet3 = new MainValuesQFacet( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
131 HISTORICAL_DISCHARGE_MAINVALUES_Q, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
132 Resources.getMsg( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
133 callMeta, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
134 "historical_discharge.mainvalues.q", |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
135 "historical_discharge.mainvalues.q"), |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
136 false); |
4736
b195fede1c3b
Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4497
diff
changeset
|
137 |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
138 fs.add(qfacet0); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
139 fs.add(qfacet1); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
140 fs.add(qfacet2); |
5370
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
141 fs.add(qfacet3); |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
142 } |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
143 if (!restricted || restriction.endsWith("w")) { |
5370
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
144 Facet wfacet1 = new MainValuesWFacet( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
145 COMPUTED_DISCHARGE_MAINVALUES_W, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
146 Resources.getMsg( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
147 callMeta, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
148 "facet.discharge_curves.mainvalues.w", |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
149 "facet.discharge_curves.mainvalues.w"), |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
150 false); |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
151 Facet wfacet2 = new MainValuesWFacet( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
152 MAINVALUES_W, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
153 Resources.getMsg( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
154 callMeta, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
155 "facet.discharge_curves.mainvalues.w", |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
156 "facet.discharge_curves.mainvalues.w"), |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
157 true); |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
158 Facet wfacet3 = new MainValuesWFacet( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
159 HISTORICAL_DISCHARGE_MAINVALUES_W, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
160 Resources.getMsg( |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
161 callMeta, |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
162 "historical_discharge.mainvalues.w", |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
163 "historical_discharge.mainvalues.w"), |
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
164 true); |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
165 fs.add(wfacet1); |
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
166 fs.add(wfacet2); |
5370
2a5d7f9f268f
MainValuesArtifact: Spawn two new facets (for his. w/q diagrams).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5368
diff
changeset
|
167 fs.add(wfacet3); |
4126
e0354aed0cd3
Improvements for issue945/6 (separate w and q mainvalues in DC).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3558
diff
changeset
|
168 } |
1080
fa01c3602f66
Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1079
diff
changeset
|
169 } |
fa01c3602f66
Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1079
diff
changeset
|
170 |
1771
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
171 |
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
172 /** |
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
173 * Create "the" state. |
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
174 */ |
1112
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
175 protected State spawnState() { |
1787
f3be8fa1ec62
Cosmetics, added simpler constructor for StaticState.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1771
diff
changeset
|
176 state = new StaticState(STATIC_STATE_NAME); |
4497
a2735a4bf75e
Change facets member variable to private
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4126
diff
changeset
|
177 List<Facet> fs = (List<Facet>) getFacets(STATIC_STATE_NAME); |
1771
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
178 |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
179 DefaultOutput mainValuesOutput = new DefaultOutput( |
1765
5d8b3880a553
Do not store association of states to facets, let artifacts keep facets in a pure list.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1654
diff
changeset
|
180 "computed_discharge_curve", |
5d8b3880a553
Do not store association of states to facets, let artifacts keep facets in a pure list.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1654
diff
changeset
|
181 "output.computed_discharge_curve", "image/png", |
1771
c62ff9e72cea
Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1765
diff
changeset
|
182 fs, |
1765
5d8b3880a553
Do not store association of states to facets, let artifacts keep facets in a pure list.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1654
diff
changeset
|
183 "chart"); |
1112
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
184 |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
185 state.getOutputs().add(mainValuesOutput); |
1112
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
186 return state; |
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
187 } |
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
188 |
1080
fa01c3602f66
Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1079
diff
changeset
|
189 |
5368
d3f170484455
MainValuesArtifact: Doc, cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5290
diff
changeset
|
190 /** Get important data from the 'calling' artifact. */ |
1080
fa01c3602f66
Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1079
diff
changeset
|
191 @Override |
fa01c3602f66
Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1079
diff
changeset
|
192 protected void initialize(Artifact artifact, Object context, CallMeta meta) { |
fa01c3602f66
Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1079
diff
changeset
|
193 logger.debug("MainValuesArtifact.initialize"); |
2134
024d986b4f5b
'New Chart' for duration curve.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1957
diff
changeset
|
194 FLYSArtifact winfo = (FLYSArtifact) artifact; |
4937
ce7d8e2a7e02
Fixed mainvalues artifact.
Raimund Renkert <rrenkert@intevation.de>
parents:
4845
diff
changeset
|
195 RangeAccess rangeAccess = new RangeAccess(winfo, null); |
5290
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
196 double [] locations = rangeAccess.getKmRange(); |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
197 |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
198 if (locations != null) { |
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
199 double location = locations[0]; |
4937
ce7d8e2a7e02
Fixed mainvalues artifact.
Raimund Renkert <rrenkert@intevation.de>
parents:
4845
diff
changeset
|
200 addData("ld_locations", new DefaultStateData("ld_locations", null, null, |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
201 String.valueOf(location))); |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
202 } |
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
203 else { |
5290
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
204 logger.error("No location for mainvalues given."); |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
205 } |
1922
7e7522c9e663
Use importData convenvience function.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1847
diff
changeset
|
206 importData(winfo, "river"); |
5371
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
207 // In the case of DischargeWQCurves, there are no locations, but a gauge. |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
208 if (getDataAsString("ld_locations") == null) { |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
209 // TODO its a tad difficult to remodel Range/Gauge-Access to |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
210 // do this. |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
211 String refGaugeID = winfo.getDataAsString("reference_gauge"); |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
212 if (refGaugeID != null) { |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
213 Gauge g = Gauge.getGaugeByOfficialNumber(Integer.parseInt(refGaugeID)); |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
214 addData("ld_locations", new DefaultStateData("ld_locations", null, null, |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
215 String.valueOf(g.getStation()))); |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
216 } |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
217 else { |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
218 logger.error("MainValuesArtifact: No location/gauge."); |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
219 } |
92c07d5c433c
MainValuesArtifact: For hist. W/Q diagram mainvalues, get location from gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5370
diff
changeset
|
220 } |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 } |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 /** |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
225 * Get a list containing the one and only State. |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
226 * @param context ignored. |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
227 * @return list with one and only state. |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 */ |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
229 @Override |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
230 protected List<State> getStates(Object context) { |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
231 ArrayList<State> states = new ArrayList<State>(); |
1112
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
232 states.add(getState()); |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
233 return states; |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
234 } |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 |
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
237 /** |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
238 * Get the "current" state. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
239 * @param cc ignored. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
240 * @return the "current" state. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
241 */ |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
242 @Override |
1654
33ade8153d74
Little modifications for making recommendations - will now work for states with background calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1113
diff
changeset
|
243 public State getCurrentState(Object cc) { |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
244 return getState(); |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
245 } |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
246 |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
247 |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
248 /** |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
249 * Get the only possible state. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
250 * @return the state. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
251 */ |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
252 protected State getState() { |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
253 return getState(null, null); |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
254 } |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
255 |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
256 |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
257 /** |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
258 * Get the state. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
259 * @param context ignored. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
260 * @param stateID ignored. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
261 * @return the state. |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
262 */ |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
263 @Override |
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
264 protected State getState(Object context, String stateID) { |
1112
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
265 if (state != null) |
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
266 return state; |
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
267 else |
aeae4d20f32f
Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1101
diff
changeset
|
268 return spawnState(); |
1078
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
269 } |
048517d67215
Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1074
diff
changeset
|
270 |
1093
139e7df1787c
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1089
diff
changeset
|
271 |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
272 /** |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
273 * Access the Gauge that the mainvalues are taken from. |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
274 * @return Gauge that main values are taken from or null in case of |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
275 * invalid parameterization. |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
276 */ |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
277 protected Gauge getGauge() { |
1100
29c67a76ad5d
Use new helper class FLYSUtils, minor refactorization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1095
diff
changeset
|
278 River river = FLYSUtils.getRiver(this); |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
279 |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
280 // TODO use helper to get location as double |
4937
ce7d8e2a7e02
Fixed mainvalues artifact.
Raimund Renkert <rrenkert@intevation.de>
parents:
4845
diff
changeset
|
281 String locationStr = getDataAsString("ld_locations"); |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
282 |
5290
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
283 if (river == null) { |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
284 logger.error("River is null"); |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
285 return null; |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
286 } |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
287 |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
288 if (locationStr == null) { |
394841a66c14
MainValuesArtifact: Possible NPE fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4937
diff
changeset
|
289 logger.error("Locationstr is null"); |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
290 return null; |
1072
80aecb01d79a
Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1065
diff
changeset
|
291 } |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
292 |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
293 double location = Double.parseDouble(locationStr); |
1079
ef756e166154
Improved implementation of MainValueArtifact#MainValueFacet .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1078
diff
changeset
|
294 |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
295 return river.determineGaugeByPosition(location); |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
296 } |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
297 |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
298 |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
299 /** |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
300 * Get current location. |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
301 * @return the location. |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
302 */ |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
303 public double getLocation() { |
4937
ce7d8e2a7e02
Fixed mainvalues artifact.
Raimund Renkert <rrenkert@intevation.de>
parents:
4845
diff
changeset
|
304 double location = Double.parseDouble(getDataAsString("ld_locations")); |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
305 return location; |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
306 } |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
307 |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
308 |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
309 /** |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
310 * Get a list of "Q" main values. |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
311 * @return list of Q main values. |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
312 */ |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
313 public List<NamedDouble> getMainValuesQ(boolean atGauge) { |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
314 List<NamedDouble> filteredList = new ArrayList<NamedDouble>(); |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
315 Gauge gauge = getGauge(); |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
316 WstValueTable interpolator = WstValueTableFactory.getTable(FLYSUtils.getRiver(this)); |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
317 Calculation c = new Calculation(); |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
318 double w_out[] = {0.0f}; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
319 double q_out[] = {0.0f}; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
320 double kms[] = {getLocation()}; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
321 double gaugeStation = gauge.getStation().doubleValue(); |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
322 if (gauge != null) { |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
323 List<MainValue> orig = gauge.getMainValues(); |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
324 for (MainValue mv : orig) { |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
325 if (mv.getMainValue().getType().getName().equals("Q")) { |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
326 if (atGauge) { |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
327 q_out[0] = mv.getValue().doubleValue(); |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
328 } |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
329 else { |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
330 interpolator.interpolate(mv.getValue().doubleValue(), |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
331 gaugeStation, kms, w_out, q_out, c); |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
332 } |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
333 filteredList.add(new NamedDouble( |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
334 mv.getMainValue().getName(), |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
335 q_out[0] |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
336 )); |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
337 } |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
338 } |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
339 } |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
340 return filteredList; |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
341 } |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
342 |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
343 |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
344 /** |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
345 * Get a list of "W" main values. |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
346 * @param atGauge if true, do not interpolate |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
347 * @return list of W main values. |
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
348 */ |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
349 public List<NamedDouble> getMainValuesW(boolean atGauge) { |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
350 List<NamedDouble> filteredList = new ArrayList<NamedDouble>(); |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
351 Gauge gauge = getGauge(); |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
352 WstValueTable interpolator = WstValueTableFactory.getTable(FLYSUtils.getRiver(this)); |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
353 Calculation c = new Calculation(); |
1847
8e5b4ea2851c
Minor cosmetics and let facets be inactive in duration curve diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1811
diff
changeset
|
354 |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
355 double gaugeStation = gauge.getStation().doubleValue(); |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
356 double w_out[] = {0.0f}; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
357 double q_out[] = {0.0f}; |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
358 double kms[] = {getLocation()}; |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
359 if (gauge != null) { |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
360 List<MainValue> orig = gauge.getMainValues(); |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
361 for (MainValue mv : orig) { |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
362 if (atGauge) { |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
363 if (mv.getMainValue().getType().getName().equals("W")) { |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
364 filteredList.add(new NamedDouble(mv.getMainValue().getName(), |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
365 mv.getValue().doubleValue())); |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2163
diff
changeset
|
366 |
1957
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
367 } |
3b08b8aacfb0
Fix flys/issue423, do not interpolate main values at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1922
diff
changeset
|
368 } else |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
369 // We cannot interpolate the W values, so derive them |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
370 // from given Q values. |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
371 if (mv.getMainValue().getType().getName().equals("Q")) { |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
372 interpolator.interpolate(mv.getValue().doubleValue(), |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
373 gaugeStation, kms, w_out, q_out, c); |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
374 filteredList.add(new NamedDouble( |
1101
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
375 "W(" + mv.getMainValue().getName() +")", |
82798c992975
Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1100
diff
changeset
|
376 w_out[0] |
1089
e298c4d28927
Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1085
diff
changeset
|
377 )); |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
378 } |
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
379 } |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
380 } |
1085
07878836ee0d
Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1080
diff
changeset
|
381 return filteredList; |
1065
193c49b7f6a3
Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1061
diff
changeset
|
382 } |
5398
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
383 |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
384 |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
385 /** |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
386 * Returns the name of this artifact ('mainvalue'). |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
387 * |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
388 * @return 'mainvalue' |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
389 */ |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
390 public String getName() { |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
391 return ARTIFACT_NAME; |
a916e1202f0f
MainValuesArtifact: Override getName to make FacetActivityRegistry working.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5371
diff
changeset
|
392 } |
1047
38088c982db6
Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
393 } |
1809
f6a190f6aaff
Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1787
diff
changeset
|
394 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |