annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java @ 1820:d562772a418e

CrossSectionApp: Re-enabled dumping data to disk. flys-artifacts/trunk@3149 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 03 Nov 2011 10:14:51 +0000
parents 4ee833095e75
children 8e5b4ea2851c
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;
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
12 import de.intevation.artifactdatabase.state.DefaultOutput;
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
13 import de.intevation.artifactdatabase.state.State;
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
14
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
15 import de.intevation.artifacts.Artifact;
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 import de.intevation.artifacts.ArtifactFactory;
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17 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
18
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 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
20 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
21 import de.intevation.flys.model.River;
1078
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
22
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
23 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
24 import de.intevation.flys.artifacts.model.FacetTypes;
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
25 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
26 import de.intevation.flys.artifacts.model.MainValuesWFacet;
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
27 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
28 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
29 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
30
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
31 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
32 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
33
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
34 import de.intevation.flys.utils.FLYSUtils;
1078
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
35
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37 /**
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
38 * Artifact to access names of Points Of Interest along a segment of a river.
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
39 * 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
40 * 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
41 */
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 public class MainValuesArtifact
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 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
44 implements FacetTypes
1059
fdb0f4ef96f0 Made FLYS artifacts cloneable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1051
diff changeset
45 {
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 /** The logger for this class. */
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
47 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
48
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
49 /** The name of the artifact. */
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
50 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
51
1771
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
52 /** 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
53 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
54
1078
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
55 /** One and only state to be in. */
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
56 protected transient State state = null;
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
57
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
58
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
59 /**
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
60 * Trivial Constructor.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
61 */
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62 public MainValuesArtifact() {
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
63 logger.debug("MainValuesArtifact.MainValuesartifact()");
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 }
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
66
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 /**
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68 * Gets called from factory, to set things up.
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 */
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 @Override
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71 public void setup(
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 String identifier,
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73 ArtifactFactory factory,
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
74 Object context,
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75 CallMeta callMeta,
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76 Document data)
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
77 {
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
78 logger.debug("MainValuesArtifact.setup");
1787
f3be8fa1ec62 Cosmetics, added simpler constructor for StaticState.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1771
diff changeset
79 state = new StaticState(STATIC_STATE_NAME);
f3be8fa1ec62 Cosmetics, added simpler constructor for StaticState.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1771
diff changeset
80
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
81 Facet qfacet1 = new MainValuesQFacet(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
82 COMPUTED_DISCHARGE_MAINVALUES_Q,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
83 Resources.getMsg(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
84 callMeta,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
85 "facet.discharge_curves.mainvalues.q",
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
86 "facet.discharge_curves.mainvalues.q"));
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
87 Facet qfacet2 = new MainValuesQFacet(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
88 MAINVALUES_Q,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
89 Resources.getMsg(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
90 callMeta,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
91 "facet.discharge_curves.mainvalues.q",
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
92 "facet.discharge_curves.mainvalues.q"));
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
93 Facet wfacet1 = new MainValuesWFacet(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
94 COMPUTED_DISCHARGE_MAINVALUES_W,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
95 Resources.getMsg(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
96 callMeta,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
97 "facet.discharge_curves.mainvalues.w",
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
98 "facet.discharge_curves.mainvalues.w"));
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
99 Facet wfacet2 = new MainValuesWFacet(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
100 MAINVALUES_W,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
101 Resources.getMsg(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
102 callMeta,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
103 "facet.discharge_curves.mainvalues.w",
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
104 "facet.discharge_curves.mainvalues.w"));
1771
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
105
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
106 List<Facet> fs = new ArrayList<Facet>();
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
107 fs.add(qfacet1);
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
108 fs.add(qfacet2);
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
109 fs.add(wfacet1);
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
110 fs.add(wfacet2);
1771
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
111
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
112 facets.put(state.getID(), fs);
1112
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
113 spawnState();
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
114 super.setup(identifier, factory, context, callMeta, data);
1080
fa01c3602f66 Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1079
diff changeset
115 }
fa01c3602f66 Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1079
diff changeset
116
1771
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
117
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
118 /**
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
119 * 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
120 */
1112
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
121 protected State spawnState() {
1787
f3be8fa1ec62 Cosmetics, added simpler constructor for StaticState.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1771
diff changeset
122 state = new StaticState(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
123 List<Facet> fs = (List<Facet>) facets.get(STATIC_STATE_NAME);
c62ff9e72cea Restore mapping of state id to facets (revert, rev 3083 and 3088).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1765
diff changeset
124
1112
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
125 DefaultOutput mainValuesOutput2 = 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
126 "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
127 "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
128 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
129 "chart");
1112
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
130
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
131 state.getOutputs().add(mainValuesOutput2);
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
132 return state;
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
133 }
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
134
1080
fa01c3602f66 Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1079
diff changeset
135
fa01c3602f66 Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1079
diff changeset
136 @Override
fa01c3602f66 Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1079
diff changeset
137 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
138 logger.debug("MainValuesArtifact.initialize");
fa01c3602f66 Added MainValue-Fetching-Capabilities to MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1079
diff changeset
139 WINFOArtifact winfo = (WINFOArtifact) artifact;
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
140 double location = FLYSUtils.getLocations(winfo)[0];
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
141 addData("location", new DefaultStateData("location", null, null,
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
142 String.valueOf(location)));
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
143 addData("river", winfo.getData("river"));
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
144 }
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
145
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
146
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
147 /**
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
148 * 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
149 * @param context ignored.
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
150 * @return list with one and only state.
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
151 */
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
152 @Override
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
153 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
154 ArrayList<State> states = new ArrayList<State>();
1112
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
155 states.add(getState());
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
156 return states;
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
157 }
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
158
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
159
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
160 /**
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
161 * Get the "current" state.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
162 * @param cc ignored.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
163 * @return the "current" state.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
164 */
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
165 @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
166 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
167 return getState();
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
168 }
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
169
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
170
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
171 /**
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
172 * Get the only possible state.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
173 * @return the state.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
174 */
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
175 protected State getState() {
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
176 return getState(null, null);
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
177 }
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
178
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
179
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
180 /**
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
181 * Get the state.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
182 * @param context ignored.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
183 * @param stateID ignored.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
184 * @return the state.
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
185 */
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
186 @Override
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
187 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
188 if (state != null)
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
189 return state;
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
190 else
aeae4d20f32f Fix translations of Main Values Facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1101
diff changeset
191 return spawnState();
1078
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
192 }
048517d67215 Changed state spawning mechanism of MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1074
diff changeset
193
1093
139e7df1787c Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1089
diff changeset
194
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
195 /**
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
196 * Access the Gauge that the mainvalues are taken from.
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
197 * @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
198 * invalid parameterization.
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
199 */
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
200 protected Gauge getGauge() {
1100
29c67a76ad5d Use new helper class FLYSUtils, minor refactorization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1095
diff changeset
201 River river = FLYSUtils.getRiver(this);
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
202
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
203 if (river == null) {
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
204 return null;
1072
80aecb01d79a Let MainValuesArtifact have a state, outputmode and facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1065
diff changeset
205 }
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
206
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
207 double location = Double.parseDouble(
1100
29c67a76ad5d Use new helper class FLYSUtils, minor refactorization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1095
diff changeset
208 getDataAsString("location"));
1079
ef756e166154 Improved implementation of MainValueArtifact#MainValueFacet .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1078
diff changeset
209
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
210 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
211 }
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
212
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
213
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
214 /**
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
215 * 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
216 * @return the location.
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
217 */
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
218 public double 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
219 double location = Double.parseDouble(
82798c992975 Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1100
diff changeset
220 (String)getData("location").getValue());
82798c992975 Interpolate Q main values, generate interpolated W main values on the fly from
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1100
diff changeset
221 return location;
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
222 }
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
223
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
224
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
225 /**
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
226 * Get a list of "Q" main values.
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
227 * @return list of Q main values.
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
228 */
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
229 public List<NamedDouble> getMainValuesQ() {
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
230 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
231 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
232 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
233 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
234 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
235 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
236 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
237 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
238 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
239 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
240 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
241 if (mv.getMainValue().getType().getName().equals("Q")) {
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
242 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
243 gaugeStation, kms, w_out, q_out, c);
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
244 filteredList.add(new NamedDouble(
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
245 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
246 q_out[0]
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
247 ));
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
248 }
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
249 }
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
250 }
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
251 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
252 }
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
253
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
254
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
255 /**
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
256 * Get a list of "W" main values.
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
257 * @return list of W main values.
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
258 */
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
259 public List<NamedDouble> getMainValuesW() {
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
260 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
261 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
262 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
263 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
264 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
265 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
266 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
267 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
268 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
269 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
270 for (MainValue mv : orig) {
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
271 // 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
272 // 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
273 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
274 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
275 gaugeStation, kms, w_out, q_out, c);
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
276 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
277 "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
278 w_out[0]
1089
e298c4d28927 Improved mainvalues rendering.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1085
diff changeset
279 ));
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
280 }
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
281 }
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
282 }
1085
07878836ee0d Plot "real" (respecting parameters) W and Q MainValues, yet in wrong scale.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1080
diff changeset
283 return filteredList;
1065
193c49b7f6a3 Minor changes to stub MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1061
diff changeset
284 }
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
285
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
286
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
287 /**
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
288 * Determines Facets initial disposition regarding activity (think of
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
289 * selection in Client ThemeList GUI). This will be checked one time
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
290 * when the facet enters a collections describe document.
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
291 *
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
292 * @param facetName name of the facet.
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
293 * @param index index of the facet.
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
294 * @return 0 if not active
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
295 */
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
296 @Override
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
297 public int getInitialFacetActivity(
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
298 String outputName,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
299 String facetName,
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
300 int index)
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
301 {
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
302 logger.debug("MainValuesArtifact.active?: "
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
303 + outputName
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
304 + "/"
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
305 + facetName);
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
306
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
307 if (outputName.equals("computed_discharge_curve")) {
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
308 return 0;
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
309 }
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
310 else {
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
311 return 1;
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
312 }
f6a190f6aaff Give outputname to artifacts getInitialFacetActivity, generate second pair of MainvalueFacets for discharge curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1787
diff changeset
313 }
1047
38088c982db6 Added stub implementation of new MainValuesArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
314 }
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
315 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org