annotate flys-client/src/main/java/de/intevation/flys/client/server/meta/Converter.java @ 2905:51ed89b754ae

FLYS client: Removed trailing whitespace. flys-client/trunk@4671 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 15 Jun 2012 09:35:37 +0000
parents ab8eb2f544f2
children 4b8b9b2ac873
rev   line source
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.server.meta;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 import org.w3c.dom.Document;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 import org.w3c.dom.Element;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 import org.w3c.dom.Node;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 import org.w3c.dom.NodeList;
813
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
7 import org.w3c.dom.Attr;
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
8 import org.w3c.dom.NamedNodeMap;
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
9
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
10 import org.apache.log4j.Logger;
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.client.shared.model.DataCageTree;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.client.shared.model.DataCageNode;
813
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
14 import de.intevation.flys.client.shared.model.AttrList;
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 import java.util.ArrayList;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 import java.util.Map;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 import java.util.HashMap;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
20 import de.intevation.artifacts.common.utils.XMLUtils;
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
21
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 public class Converter
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 {
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
24 private static final Logger logger = Logger.getLogger(Converter.class);
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
25
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
26
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 public interface NodeConverter
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 DataCageNode convert(Element node, Converter converter);
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 } // interface NodeConverter
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 public static class NameConverter implements NodeConverter {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 public DataCageNode convert(Element node, Converter converter) {
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
35 //System.err.println("NameConverter called");
813
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
36 DataCageNode out = new DataCageNode(
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
37 node.getAttribute("name"),
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
38 toAttrList(node.getAttributes()));
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 converter.convertChildren(out, node);
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 return out;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 } // class NameConverter
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 public static class I18NConverter implements NodeConverter {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 public DataCageNode convert(Element node, Converter converter) {
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
46 //System.err.println("I18NConverter called");
892
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
47
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
48 String name = node.getLocalName();
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
49 String desc = node.hasAttribute("description")
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
50 ? node.getAttribute("description")
892
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
51 : "${" + name + "}";
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
52
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 DataCageNode out =
892
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
54 new DataCageNode(name, desc, toAttrList(node.getAttributes()));
63b258bf365c Bugfix: Use name instead of description for loading new facets via Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 822
diff changeset
55
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 converter.convertChildren(out, node);
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 return out;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 } // I18NConverter
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 protected Map<String, NodeConverter> converters;
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 protected void convertChildren(DataCageNode parent, Element sub) {
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
64 //System.err.println("convertChildren called");
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 NodeList children = sub.getChildNodes();
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 for (int i = 0, N = children.getLength(); i < N; ++i) {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 Node child = children.item(i);
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 if (child.getNodeType() == Node.ELEMENT_NODE) {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 String name = child.getLocalName();
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 NodeConverter converter = converters.get(name);
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
71 if (converter == null) {
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
72 converter = I18N_CONVERTER;
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 }
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
74 DataCageNode son = converter.convert(
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
75 (Element)child, this);
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
76 parent.addChild(son);
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 } // for all children
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 public Converter() {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
82 converters = new HashMap<String, NodeConverter>();
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 registerConverters();
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85
2905
51ed89b754ae FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1367
diff changeset
86 public static final NodeConverter NAME_CONVERTER = new NameConverter();
51ed89b754ae FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1367
diff changeset
87 public static final NodeConverter I18N_CONVERTER = new I18NConverter();
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
88
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 protected void registerConverters() {
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
90 logger.debug("register converters called");
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
91 converters.put("river", NAME_CONVERTER);
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
92 converters.put("gauge", NAME_CONVERTER);
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
93 converters.put("historical", NAME_CONVERTER);
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
94 converters.put("column", NAME_CONVERTER);
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
95 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
97 public DataCageTree convert(Document document) {
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
98 logger.debug("convert called");
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
99 //System.err.println(XMLUtils.toString(document));
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
100
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
101 ArrayList<DataCageNode> roots = new ArrayList<DataCageNode>();
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
102 NodeList nodes = document.getChildNodes();
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103 for (int i = 0, N = nodes.getLength(); i < N; ++i) {
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
104 Node node = nodes.item(i);
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105 if (node.getNodeType() == Node.ELEMENT_NODE) {
1367
ab8eb2f544f2 Replaced stdout and stderr logging with log4j loggers in server classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 892
diff changeset
106 logger.debug("search for name: " + node.getLocalName());
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107 NodeConverter converter = converters.get(node.getLocalName());
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
108 if (converter == null) {
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
109 converter = I18N_CONVERTER;
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110 }
812
70b728a9f4e8 Meta data service: Create correct request document now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 522
diff changeset
111 roots.add(converter.convert((Element)node, this));
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
112 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114 return roots.isEmpty()
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 ? new DataCageTree()
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
116 : new DataCageTree(roots.get(0));
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 }
813
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
118
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
119 public static AttrList toAttrList(NamedNodeMap nodeMap) {
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
120 if (nodeMap == null) {
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
121 return null;
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
122 }
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
123 int N = nodeMap.getLength();
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
124
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
125 if (N == 0) {
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
126 return null;
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
127 }
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
128
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
129 AttrList result = new AttrList(N);
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
130
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
131 for (int i = 0; i < N; ++i) {
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
132 Node node = nodeMap.item(i);
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
133 if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
134 Attr attr = (Attr)node;
813
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
135 String key = attr.getName();
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
136 String value = attr.getValue();
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
137 result.add(key, value);
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
138 }
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
139 }
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
140
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
141 return result;
57ea5af8a967 Meta data service converter: transfer attributes to client, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
142 }
286
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 }
0fa8bf8a2295 Datacage: Better converter for incoming XML tree
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org