annotate artifacts/src/main/java/org/dive4elements/river/artifacts/AbstractStaticStateArtifact.java @ 8755:30b1ddadf275

(issue1801) Unify reference gauge finding code The basic way as described in the method comment of the determineRefGauge method is now used in the WINFOArtifact, MainValuesService and RiverUtils.getGauge method. RiverUtils.getGauge previously just returned the first gauge found. While this is now a behavior change I believe that it is always more correct then the undeterministic behavior of the previous implmenentation.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 24 Jun 2015 14:07:26 +0200
parents e4606eae8ea5
children 5e38e2924c07
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
9 package org.dive4elements.river.artifacts;
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
12 import java.util.Collection;
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13 import java.util.List;
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
14
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
15 import org.apache.log4j.Logger;
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
16
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
17 import org.w3c.dom.Document;
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
18 import org.w3c.dom.Element;
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
19
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
20 import org.dive4elements.artifacts.CallContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
21 import org.dive4elements.artifacts.ArtifactNamespaceContext;
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
22
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
23 import org.dive4elements.artifacts.common.utils.XMLUtils;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
24 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
25
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
26 import org.dive4elements.artifactdatabase.ProtocolUtils;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
27 import org.dive4elements.artifactdatabase.data.StateData;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
28 import org.dive4elements.artifactdatabase.state.State;
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
29
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4185
diff changeset
30 import org.dive4elements.river.artifacts.states.StaticState;
4157
44d27b8bb0bc Store a StaticState class in staticstate member variable
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3936
diff changeset
31
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
32 /**
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
33 * A abstract baseclass for Artifacts which are using only one static state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34 *
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 * This class is intended to be used without the config/stateengine to generate
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 * the static state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37 *
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
39 */
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
40 public abstract class AbstractStaticStateArtifact extends StaticD4EArtifact {
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
41
4157
44d27b8bb0bc Store a StaticState class in staticstate member variable
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3936
diff changeset
42 private transient StaticState staticstate;
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
44 private static final Logger log =
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
45 Logger.getLogger(AbstractStaticStateArtifact.class);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
46
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 /**
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48 * Get a list containing the one and only State.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49 * @param context ignored.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50 * @return list with one and only state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51 */
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
52 @Override
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
53 protected List<State> getStates(Object context) {
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 ArrayList<State> states = new ArrayList<State>();
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55 states.add(getStaticState());
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 return states;
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57 }
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60 /**
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 * Get the "current" state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62 * @param cc ignored.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
63 * @return always the set static state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 */
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65 @Override
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66 public State getCurrentState(Object cc) {
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 return getStaticState();
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68 }
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70 /**
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
71 * A child class must override this method to set its static state
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
72 */
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
73 protected abstract void initStaticState();
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
74
4157
44d27b8bb0bc Store a StaticState class in staticstate member variable
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3936
diff changeset
75 protected void setStaticState(StaticState state) {
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 this.staticstate = state;
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77 }
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
78
4157
44d27b8bb0bc Store a StaticState class in staticstate member variable
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3936
diff changeset
79 protected StaticState getStaticState() {
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
80 if (staticstate == null) {
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81 initStaticState();
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82 }
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
83 return staticstate;
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 }
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
86 /**
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
87 * Get the state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88 * @param context ignored.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 * @param stateID ignored.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 * @return the state.
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91 */
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92 @Override
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 protected State getState(Object context, String stateID) {
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94 return getStaticState();
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 }
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
96
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
97 @Override
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
98 public Document describe(Document data, CallContext cc) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
99 log.debug("Describe artifact: " + identifier());
4158
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
100
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
101 Document desc = XMLUtils.newDocument();
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
102
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
103 ElementCreator creator = new ElementCreator(
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
104 desc,
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
105 ArtifactNamespaceContext.NAMESPACE_URI,
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
106 ArtifactNamespaceContext.NAMESPACE_PREFIX);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
107
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
108 Element root = ProtocolUtils.createRootNode(creator);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
109 desc.appendChild(root);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
110
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
111 Element name = ProtocolUtils.createArtNode(
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
112 creator, "name",
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
113 new String[] { "value" },
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
114 new String[] { getName() });
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
115
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
116 root.appendChild(name);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
117 root.appendChild(createOutputModes(cc, desc, creator));
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
118
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
119 ProtocolUtils.appendDescribeHeader(creator, root, identifier(), hash());
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
120
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
121 // Add the data to an anonymous state.
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
122 Collection<StateData> datas = getAllData();
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
123 if (datas.size() > 0) {
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
124 Element ui = creator.create("ui");
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
125 Element staticE = creator.create("static");
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
126
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
127 StaticState current = getStaticState();
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
128 Element state = current.describeStatic(this, desc, root, cc, null);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
129 staticE.appendChild(state);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
130
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
131 for (StateData dataItem : datas) {
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
132 Element itemelent = creator.create("data");
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
133 creator.addAttr(itemelent, "name", dataItem.getName(), true);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
134 creator.addAttr(itemelent, "type", dataItem.getType(), true);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
135 state.appendChild(itemelent);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
136 Element valuement = creator.create("item");
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
137 creator.addAttr(valuement, "label", dataItem.getDescription(), true);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
138 creator.addAttr(valuement, "value", dataItem.getValue().toString(), true);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
139 itemelent.appendChild(valuement);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
140 }
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
141
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
142 ui.appendChild(staticE);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
143 root.appendChild(ui);
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
144 }
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
145
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
146 return desc;
a699d6c42a8b Override describe method to return also a uiprovider.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4157
diff changeset
147 }
3936
4e1b3b4ef132 Add new Artifacts and State for displaying discharge curves at a gauge
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
148 }

http://dive4elements.wald.intevation.org