Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DefaultState.java @ 624:929137ee8154
ISSUE-62 (part I/II) States are no longer filled with data - if a state needs user input, it needs to query the owner artifact.
flys-artifacts/trunk@1982 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 23 May 2011 15:11:55 +0000 |
parents | c21fb8de54f8 |
children | 40d3039f85ac |
comparison
equal
deleted
inserted
replaced
623:aa64fe4df8ab | 624:929137ee8154 |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | 2 |
3 import java.util.Collection; | 3 import java.util.Iterator; |
4 import java.util.Map; | 4 import java.util.Map; |
5 | 5 |
6 import org.apache.log4j.Logger; | 6 import org.apache.log4j.Logger; |
7 | 7 |
8 import org.w3c.dom.Document; | 8 import org.w3c.dom.Document; |
18 | 18 |
19 import de.intevation.artifactdatabase.ProtocolUtils; | 19 import de.intevation.artifactdatabase.ProtocolUtils; |
20 import de.intevation.artifactdatabase.data.StateData; | 20 import de.intevation.artifactdatabase.data.StateData; |
21 import de.intevation.artifactdatabase.state.AbstractState; | 21 import de.intevation.artifactdatabase.state.AbstractState; |
22 | 22 |
23 import de.intevation.flys.artifacts.FLYSArtifact; | |
23 import de.intevation.flys.artifacts.resources.Resources; | 24 import de.intevation.flys.artifacts.resources.Resources; |
24 | 25 |
25 | 26 |
26 /** | 27 /** |
27 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 28 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
30 | 31 |
31 /** The logger that is used in this class.*/ | 32 /** The logger that is used in this class.*/ |
32 private static Logger logger = Logger.getLogger(DefaultState.class); | 33 private static Logger logger = Logger.getLogger(DefaultState.class); |
33 | 34 |
34 | 35 |
36 protected StateData getData(FLYSArtifact artifact, String name) { | |
37 return artifact.getData(name); | |
38 } | |
39 | |
40 | |
35 public Element describeStatic( | 41 public Element describeStatic( |
42 Artifact artifact, | |
36 Document document, | 43 Document document, |
37 Node root, | 44 Node root, |
38 CallContext context, | 45 CallContext context, |
39 String uuid) | 46 String uuid) |
40 { | 47 { |
54 Map<String, StateData> theData = getData(); | 61 Map<String, StateData> theData = getData(); |
55 if (theData == null) { | 62 if (theData == null) { |
56 return ui; | 63 return ui; |
57 } | 64 } |
58 | 65 |
59 Collection<StateData> dataItems = theData.values(); | 66 Iterator<String> iter = theData.keySet().iterator(); |
60 | 67 FLYSArtifact flys = (FLYSArtifact) artifact; |
61 for (StateData data: dataItems) { | 68 |
62 String name = data.getName(); | 69 while (iter.hasNext()) { |
63 String value = (String) data.getValue(); | 70 String name = iter.next(); |
71 StateData data = getData(flys, name); | |
72 | |
73 String value = data != null ? (String) data.getValue() : null; | |
64 | 74 |
65 if (value == null) { | 75 if (value == null) { |
66 continue; | 76 continue; |
67 } | 77 } |
68 | 78 |
115 Map<String, StateData> theData = getData(); | 125 Map<String, StateData> theData = getData(); |
116 if (theData == null) { | 126 if (theData == null) { |
117 return ui; | 127 return ui; |
118 } | 128 } |
119 | 129 |
120 Collection<StateData> dataItems = theData.values(); | 130 Iterator<String> iter = theData.keySet().iterator(); |
121 | 131 FLYSArtifact flys = (FLYSArtifact) artifact; |
122 for (StateData data: dataItems) { | 132 |
123 String name = data.getName(); | 133 while (iter.hasNext()) { |
134 String name = iter.next(); | |
135 StateData data = getData(flys, name); | |
136 | |
137 data = data != null ? data : getData(name); | |
138 | |
124 Element select = createData(creator, artifact, data, context); | 139 Element select = createData(creator, artifact, data, context); |
125 | 140 |
126 Element choices = ProtocolUtils.createArtNode( | 141 Element choices = ProtocolUtils.createArtNode( |
127 creator, "choices", null, null); | 142 creator, "choices", null, null); |
128 | 143 |