diff 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
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/DataFactory.java	Wed May 16 13:43:15 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/server/DataFactory.java	Wed May 16 14:52:39 2012 +0000
@@ -20,6 +20,7 @@
 import de.intevation.flys.client.shared.model.IntegerOptionsData;
 import de.intevation.flys.client.shared.model.IntegerRangeData;
 import de.intevation.flys.client.shared.model.StringData;
+import de.intevation.flys.client.shared.model.StringOptionsData;
 import de.intevation.flys.client.shared.model.LongRangeData;
 
 
@@ -63,6 +64,9 @@
             else if (type.equals(IntegerData.TYPE)) {
                 return createIntegerData(element, name, label);
             }
+            else if (type.equals(StringOptionsData.TYPE)) {
+                return createStringOptionsData(element, name, label);
+            }
             else if (type.equals(IntegerOptionsData.TYPE)) {
                 return createIntegerOptionsData(element, name, label);
             }
@@ -134,6 +138,20 @@
 
 
     /**
+     * This method creates a new instance of StringOptionsData which has a type
+     * "options" set.
+     *
+     * @param ele The Data element.
+     * @param name The name of the Data instance.
+     *
+     * @return an instance of StringOptionsData.
+     */
+    protected static Data createStringOptionsData(Element ele, String name, String label) {
+        return new StringOptionsData(name, label, extractDataItems(ele));
+    }
+
+
+    /**
      * This method creates a new instance of DefaultData which has a type
      * "intoptions" set.
      *
@@ -243,7 +261,7 @@
             ArtifactNamespaceContext.INSTANCE);
 
         if (itemList == null || itemList.getLength() == 0) {
-            logger.debug("No old data items found.");
+            logger.debug("No data items found.");
             return null;
         }
 
@@ -251,12 +269,18 @@
 
         DataItem[] items = new DataItem[count];
 
+        logger.debug("There are " + count + " data items in element.");
+
         for (int i = 0; i < count; i++) {
             Element tmp = (Element) itemList.item(i);
 
             String value = tmp.getAttributeNS(NS_URI, "value");
             String label = tmp.getAttributeNS(NS_URI, "label");
 
+            logger.debug("Found data item:");
+            logger.debug("   label: " + label);
+            logger.debug("   value: " + value);
+
             items[i] = new DefaultDataItem(label, label, value);
         }
 

http://dive4elements.wald.intevation.org