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;

http://dive4elements.wald.intevation.org