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

http://dive4elements.wald.intevation.org