comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DefaultState.java @ 134:f3dfa188d8b2

Let the states describe the static ui part. flys-artifacts/trunk@1502 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 17 Mar 2011 16:03:36 +0000
parents b06cd117b565
children 2d6e02787d00
comparison
equal deleted inserted replaced
133:d6197a05a87c 134:f3dfa188d8b2
26 */ 26 */
27 public abstract class DefaultState extends AbstractState { 27 public abstract class DefaultState extends AbstractState {
28 28
29 /** The logger that is used in this class.*/ 29 /** The logger that is used in this class.*/
30 private static Logger logger = Logger.getLogger(DefaultState.class); 30 private static Logger logger = Logger.getLogger(DefaultState.class);
31
32
33 public Element describeStatic(
34 Document document,
35 Node root,
36 CallContext context,
37 String uuid)
38 {
39 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
40 document,
41 ArtifactNamespaceContext.NAMESPACE_URI,
42 ArtifactNamespaceContext.NAMESPACE_PREFIX);
43
44 Element ui = ProtocolUtils.createArtNode(
45 creator, "state",
46 new String[] { "name" },
47 new String[] { getID() });
48
49 Map<String, StateData> theData = getData();
50 if (theData == null) {
51 return ui;
52 }
53
54 Collection<StateData> dataItems = theData.values();
55
56 for (StateData data: dataItems) {
57 String name = data.getName();
58
59 Element dataElement = creator.create("data");
60 creator.addAttr(dataElement, "name", name, true);
61 creator.addAttr(dataElement, "type", data.getType(), true);
62
63 Element itemElement = creator.create("item");
64 creator.addAttr(itemElement, "value", (String) data.getValue(), true);
65 // TODO Description (human readable) is missing
66
67 dataElement.appendChild(itemElement);
68 ui.appendChild(dataElement);
69 }
70
71 return ui;
72 }
31 73
32 74
33 public Element describe( 75 public Element describe(
34 Document document, 76 Document document,
35 Node root, 77 Node root,

http://dive4elements.wald.intevation.org