Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/server/DataFactory.java @ 2532:261347ea60b8
Added new Data type StringOptionsData; allow this Data type for ParameterMatrixPanel.
flys-client/trunk@4428 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 16 May 2012 14:52:39 +0000 |
parents | 33e2a1e23ae8 |
children | d0a9acddbea2 |
comparison
equal
deleted
inserted
replaced
2531:180a500d7ddb | 2532:261347ea60b8 |
---|---|
18 import de.intevation.flys.client.shared.model.IntegerArrayData; | 18 import de.intevation.flys.client.shared.model.IntegerArrayData; |
19 import de.intevation.flys.client.shared.model.IntegerData; | 19 import de.intevation.flys.client.shared.model.IntegerData; |
20 import de.intevation.flys.client.shared.model.IntegerOptionsData; | 20 import de.intevation.flys.client.shared.model.IntegerOptionsData; |
21 import de.intevation.flys.client.shared.model.IntegerRangeData; | 21 import de.intevation.flys.client.shared.model.IntegerRangeData; |
22 import de.intevation.flys.client.shared.model.StringData; | 22 import de.intevation.flys.client.shared.model.StringData; |
23 import de.intevation.flys.client.shared.model.StringOptionsData; | |
23 import de.intevation.flys.client.shared.model.LongRangeData; | 24 import de.intevation.flys.client.shared.model.LongRangeData; |
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> |
61 return createStringData(element, name, label); | 62 return createStringData(element, name, label); |
62 } | 63 } |
63 else if (type.equals(IntegerData.TYPE)) { | 64 else if (type.equals(IntegerData.TYPE)) { |
64 return createIntegerData(element, name, label); | 65 return createIntegerData(element, name, label); |
65 } | 66 } |
67 else if (type.equals(StringOptionsData.TYPE)) { | |
68 return createStringOptionsData(element, name, label); | |
69 } | |
66 else if (type.equals(IntegerOptionsData.TYPE)) { | 70 else if (type.equals(IntegerOptionsData.TYPE)) { |
67 return createIntegerOptionsData(element, name, label); | 71 return createIntegerOptionsData(element, name, label); |
68 } | 72 } |
69 else if (type.equals(IntegerRangeData.TYPE)) { | 73 else if (type.equals(IntegerRangeData.TYPE)) { |
70 return createIntegerRangeData(element, name, label); | 74 return createIntegerRangeData(element, name, label); |
128 * | 132 * |
129 * @return an instance of IntegerData. | 133 * @return an instance of IntegerData. |
130 */ | 134 */ |
131 protected static Data createIntegerData(Element ele, String name, String label) { | 135 protected static Data createIntegerData(Element ele, String name, String label) { |
132 return new IntegerData(name, label, extractDataItems(ele)); | 136 return new IntegerData(name, label, extractDataItems(ele)); |
137 } | |
138 | |
139 | |
140 /** | |
141 * This method creates a new instance of StringOptionsData which has a type | |
142 * "options" set. | |
143 * | |
144 * @param ele The Data element. | |
145 * @param name The name of the Data instance. | |
146 * | |
147 * @return an instance of StringOptionsData. | |
148 */ | |
149 protected static Data createStringOptionsData(Element ele, String name, String label) { | |
150 return new StringOptionsData(name, label, extractDataItems(ele)); | |
133 } | 151 } |
134 | 152 |
135 | 153 |
136 /** | 154 /** |
137 * This method creates a new instance of DefaultData which has a type | 155 * This method creates a new instance of DefaultData which has a type |
241 "art:item", | 259 "art:item", |
242 XPathConstants.NODESET, | 260 XPathConstants.NODESET, |
243 ArtifactNamespaceContext.INSTANCE); | 261 ArtifactNamespaceContext.INSTANCE); |
244 | 262 |
245 if (itemList == null || itemList.getLength() == 0) { | 263 if (itemList == null || itemList.getLength() == 0) { |
246 logger.debug("No old data items found."); | 264 logger.debug("No data items found."); |
247 return null; | 265 return null; |
248 } | 266 } |
249 | 267 |
250 int count = itemList.getLength(); | 268 int count = itemList.getLength(); |
251 | 269 |
252 DataItem[] items = new DataItem[count]; | 270 DataItem[] items = new DataItem[count]; |
271 | |
272 logger.debug("There are " + count + " data items in element."); | |
253 | 273 |
254 for (int i = 0; i < count; i++) { | 274 for (int i = 0; i < count; i++) { |
255 Element tmp = (Element) itemList.item(i); | 275 Element tmp = (Element) itemList.item(i); |
256 | 276 |
257 String value = tmp.getAttributeNS(NS_URI, "value"); | 277 String value = tmp.getAttributeNS(NS_URI, "value"); |
258 String label = tmp.getAttributeNS(NS_URI, "label"); | 278 String label = tmp.getAttributeNS(NS_URI, "label"); |
279 | |
280 logger.debug("Found data item:"); | |
281 logger.debug(" label: " + label); | |
282 logger.debug(" value: " + value); | |
259 | 283 |
260 items[i] = new DefaultDataItem(label, label, value); | 284 items[i] = new DefaultDataItem(label, label, value); |
261 } | 285 } |
262 | 286 |
263 return items; | 287 return items; |