Mercurial > dive4elements > river
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 } |