comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DefaultState.java @ 142:b43671a551d1

Append human readable strings of the selected values to the DESCRIBE output. flys-artifacts/trunk@1525 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 21 Mar 2011 09:18:04 +0000
parents 2e510c998adb
children 35301cc3b875
comparison
equal deleted inserted replaced
141:7f909429ccc8 142:b43671a551d1
7 7
8 import org.w3c.dom.Document; 8 import org.w3c.dom.Document;
9 import org.w3c.dom.Element; 9 import org.w3c.dom.Element;
10 import org.w3c.dom.Node; 10 import org.w3c.dom.Node;
11 11
12 import de.intevation.artifacts.ArtifactNamespaceContext;
12 import de.intevation.artifacts.CallContext; 13 import de.intevation.artifacts.CallContext;
13 import de.intevation.artifacts.ArtifactNamespaceContext; 14 import de.intevation.artifacts.CallMeta;
14 15
15 import de.intevation.artifacts.common.utils.XMLUtils; 16 import de.intevation.artifacts.common.utils.XMLUtils;
16 17
17 import de.intevation.artifactdatabase.ProtocolUtils; 18 import de.intevation.artifactdatabase.ProtocolUtils;
18 import de.intevation.artifactdatabase.data.StateData; 19 import de.intevation.artifactdatabase.data.StateData;
39 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator( 40 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
40 document, 41 document,
41 ArtifactNamespaceContext.NAMESPACE_URI, 42 ArtifactNamespaceContext.NAMESPACE_URI,
42 ArtifactNamespaceContext.NAMESPACE_PREFIX); 43 ArtifactNamespaceContext.NAMESPACE_PREFIX);
43 44
44 String label = Resources.getMsg(context.getMeta(), getID(), getID()); 45 CallMeta meta = context.getMeta();
46
47 String label = Resources.getMsg(meta, getID(), getID());
45 Element ui = ProtocolUtils.createArtNode( 48 Element ui = ProtocolUtils.createArtNode(
46 creator, "state", 49 creator, "state",
47 new String[] { "name", "uiprovider", "label" }, 50 new String[] { "name", "uiprovider", "label" },
48 new String[] { getID(), getUIProvider(), label }); 51 new String[] { getID(), getUIProvider(), label });
49 52
53 } 56 }
54 57
55 Collection<StateData> dataItems = theData.values(); 58 Collection<StateData> dataItems = theData.values();
56 59
57 for (StateData data: dataItems) { 60 for (StateData data: dataItems) {
58 String name = data.getName(); 61 String name = data.getName();
62 String value = (String) data.getValue();
63
64 logger.debug("Append element '" + name + "' (" + value + ")");
59 65
60 Element dataElement = creator.create("data"); 66 Element dataElement = creator.create("data");
61 creator.addAttr(dataElement, "name", name, true); 67 creator.addAttr(dataElement, "name", name, true);
62 creator.addAttr(dataElement, "type", data.getType(), true); 68 creator.addAttr(dataElement, "type", data.getType(), true);
63 69
64 Element itemElement = creator.create("item"); 70 Element itemElement = creator.create("item");
65 creator.addAttr(itemElement, "value", (String) data.getValue(), true); 71 creator.addAttr(itemElement, "value", value, true);
66 // TODO Description (human readable) is missing 72 creator.addAttr(
73 itemElement,
74 "label",
75 Resources.getMsg(meta, value, value),
76 true);
67 77
68 dataElement.appendChild(itemElement); 78 dataElement.appendChild(itemElement);
69 ui.appendChild(dataElement); 79 ui.appendChild(dataElement);
70 } 80 }
71 81

http://dive4elements.wald.intevation.org