Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/server/DataFactory.java @ 1595:e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
flys-client/trunk@3908 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 03 Feb 2012 15:27:46 +0000 |
parents | dbdf954dbe94 |
children | 6a65694bdcc2 |
rev | line source |
---|---|
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.server; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import javax.xml.xpath.XPathConstants; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import org.w3c.dom.Element; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import org.w3c.dom.NodeList; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 import org.apache.log4j.Logger; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import de.intevation.artifacts.common.ArtifactNamespaceContext; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.artifacts.common.utils.XMLUtils; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import de.intevation.flys.client.shared.model.Data; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.flys.client.shared.model.DataItem; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.flys.client.shared.model.DefaultData; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.client.shared.model.DefaultDataItem; |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
17 import de.intevation.flys.client.shared.model.DoubleArrayData; |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
18 import de.intevation.flys.client.shared.model.IntegerArrayData; |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
19 import de.intevation.flys.client.shared.model.IntegerData; |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
20 import de.intevation.flys.client.shared.model.IntegerOptionsData; |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
21 import de.intevation.flys.client.shared.model.IntegerRangeData; |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
22 import de.intevation.flys.client.shared.model.StringData; |
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 /** |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 */ |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 public class DataFactory { |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 private static final Logger logger = Logger.getLogger(DataFactory.class); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 public static final String NS_URI = ArtifactNamespaceContext.NAMESPACE_URI; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 /** |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 * Creates a new Data instance based on the <i>art:type</i> attribute of |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 * <i>element</i>. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 * |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 * @param element The Data element. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 * |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 * @return a Data instance. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 */ |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 public static Data createDataFromElement(Element element) { |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 String name = element.getAttributeNS(NS_URI, "name"); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 String type = element.getAttributeNS(NS_URI, "type"); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
47 try { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
48 logger.debug("Create Data instance for: " + name + " | " + type); |
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
50 if (type == null || type.length() == 0) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
51 return createDefaultData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
52 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
53 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
54 type = type.toLowerCase(); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
55 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
56 if (type.equals(StringData.TYPE)) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
57 return createStringData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
58 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
59 else if (type.equals(IntegerData.TYPE)) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
60 return createIntegerData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
61 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
62 else if (type.equals(IntegerOptionsData.TYPE)) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
63 return createIntegerOptionsData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
64 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
65 else if (type.equals(IntegerRangeData.TYPE)) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
66 return createIntegerRangeData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
67 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
68 else if (type.equals(IntegerArrayData.TYPE)) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
69 return createIntegerArrayData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
70 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
71 else if (type.equals(DoubleArrayData.TYPE)) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
72 return createDoubleArrayData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
73 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
74 else { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
75 return createDefaultData(element, name); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
76 } |
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 } |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
78 catch (Exception e) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
79 logger.error("Error while data creation for: " + name); |
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 } |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
81 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
82 return null; |
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 } |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 /** |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 * This method creates a new instance of DefaultData which has no real type |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 * set. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 * |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 * @param ele The Data element. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 * @param name The name of the Data instance. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 * |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 * @return an instance of DefaultData. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 */ |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 protected static Data createDefaultData(Element ele, String name) { |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 logger.debug("Create new DefaultData"); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 return new DefaultData(name, name, "default", extractDataItems(ele)); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 } |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 /** |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
102 * This method creates a new instance of StringData which has a type |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
103 * "string" set. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
104 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
105 * @param ele The Data element. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
106 * @param name The name of the Data instance. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
107 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
108 * @return an instance of StringData. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
109 */ |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
110 protected static Data createStringData(Element ele, String name) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
111 return new StringData(name, name, extractDataItems(ele)); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
112 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
113 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
114 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
115 /** |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
116 * This method creates a new instance of DefaultData which has a type |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
117 * "integer" set. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
118 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
119 * @param ele The Data element. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
120 * @param name The name of the Data instance. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
121 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
122 * @return an instance of IntegerData. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
123 */ |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
124 protected static Data createIntegerData(Element ele, String name) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
125 return new IntegerData(name, name, extractDataItems(ele)); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
126 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
127 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
128 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
129 /** |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
130 * This method creates a new instance of DefaultData which has a type |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
131 * "intoptions" set. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
132 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
133 * @param ele The Data element. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
134 * @param name The name of the Data instance. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
135 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
136 * @return an instance of IntegerOptionsData. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
137 */ |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
138 protected static Data createIntegerOptionsData(Element ele, String name) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
139 return new IntegerOptionsData(name, name, extractDataItems(ele)); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
140 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
141 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
142 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
143 /** |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
144 * This method creates a new instance of DefaultData which has a type |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
145 * "intrange" set. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
146 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
147 * @param ele The Data element. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
148 * @param name The name of the Data instance. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
149 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
150 * @return an instance of IntegerRangeData. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
151 */ |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
152 protected static Data createIntegerRangeData(Element ele, String name) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
153 DataItem[] items = extractDataItems(ele); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
154 String rawValue = items[0].getStringValue(); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
155 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
156 String[] minmax = rawValue.split(";"); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
157 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
158 return new IntegerRangeData( |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
159 name, |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
160 name, |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
161 Integer.valueOf(minmax[0]), |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
162 Integer.valueOf(minmax[1])); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
163 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
164 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
165 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
166 /** |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
167 * This method creates a new instance of DefaultData which has a type |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
168 * "integerarray" set. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
169 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
170 * @param ele The Data element. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
171 * @param name The name of the Data instance. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
172 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
173 * @return an instance of IntegerArrayData. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
174 */ |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
175 protected static Data createIntegerArrayData(Element ele, String name) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
176 DataItem[] items = extractDataItems(ele); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
177 String rawValue = items[0].getStringValue(); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
178 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
179 String[] values = rawValue.split(";"); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
180 int[] integers = new int[values.length]; |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
181 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
182 for (int i = 0; i < values.length; i++) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
183 try { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
184 integers[i] = Integer.valueOf(values[i]); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
185 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
186 catch (NumberFormatException nfe) { |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
187 logger.warn("Error while parsing IntegerArrayData: " + nfe); |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
188 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
189 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
190 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
191 return new IntegerArrayData(name, items[0].getLabel(), integers); |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
192 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
193 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
194 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
195 /** |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
196 * This method creates a new instance of DefaultData which has a type |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
197 * "doublearray" set. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
198 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
199 * @param ele The Data element. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
200 * @param name The name of the Data instance. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
201 * |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
202 * @return an instance of DoubleArrayData. |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
203 */ |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
204 protected static Data createDoubleArrayData(Element ele, String name) { |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
205 DataItem[] items = extractDataItems(ele); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
206 String rawValue = items[0].getStringValue(); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
207 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
208 String[] values = rawValue.split(";"); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
209 double[] doubles = new double[values.length]; |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
210 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
211 for (int i = 0; i < values.length; i++) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
212 try { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
213 doubles[i] = Double.valueOf(values[i]); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
214 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
215 catch (NumberFormatException nfe) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
216 logger.warn("Error while parsing DoubleArrayData: " + nfe); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
217 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
218 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
219 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1586
diff
changeset
|
220 return new DoubleArrayData(name, items[0].getLabel(), doubles); |
1575
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
221 } |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
222 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
223 |
0f2b94408bd1
Added further methods to DataFactory to create concrete Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1571
diff
changeset
|
224 /** |
1571
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 * This method extracts the art:item elements placed under <i>elements</i>. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 * |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 * @param element A data node that contains items. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
228 * |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
229 * @return a list of DataItems. |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
230 */ |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
231 protected static DataItem[] extractDataItems(Element element) { |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
232 NodeList itemList = (NodeList) XMLUtils.xpath( |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
233 element, |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
234 "art:item", |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 XPathConstants.NODESET, |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 ArtifactNamespaceContext.INSTANCE); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
237 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
238 if (itemList == null || itemList.getLength() == 0) { |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
239 logger.debug("No old data items found."); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
240 return null; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 } |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
243 int count = itemList.getLength(); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
244 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
245 DataItem[] items = new DataItem[count]; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
246 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 for (int i = 0; i < count; i++) { |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
248 Element tmp = (Element) itemList.item(i); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
249 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 String value = tmp.getAttributeNS(NS_URI, "value"); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 String label = tmp.getAttributeNS(NS_URI, "label"); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 items[i] = new DefaultDataItem(label, label, value); |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
254 } |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
255 |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
256 return items; |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
257 } |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
258 } |
1227878665b5
Introduced a DataFactory that should be used to create new Data instances.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
259 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |