diff flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java @ 3399:e08a6352fe24

Change bandwidth theme attribute type to double (but bugged). flys-artifacts/trunk@5035 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 18 Jul 2012 10:02:37 +0000
parents 2a8919e0ed28
children b0ba96bbf01d
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java	Wed Jul 18 09:54:46 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java	Wed Jul 18 10:02:37 2012 +0000
@@ -156,6 +156,13 @@
     }
 
 
+    /**
+     * Attempt converting \param value to an integer, in failing cases,
+     * return \param defaultsTo.
+     * @param value String to be converted to integer.
+     * @param defaultsTo Default to return if conversion failed.
+     * @return \param value as integer or defaultsto if conversion failed.
+     */
     public static int parseInteger(String value, int defaultsTo) {
         if (value == null || value.length() == 0) {
             return defaultsTo;
@@ -173,6 +180,29 @@
 
 
     /**
+     * Attempt converting \param value to a double, in failing cases,
+     * return \param defaultsTo.
+     * @param value String to be converted to double.
+     * @param defaultsTo Default to return if conversion failed.
+     * @return \param value as integer or defaultsto if conversion failed.
+     */
+    public static double parseDouble(String value, double defaultsTo) {
+        if (value == null || value.length() == 0) {
+            return defaultsTo;
+        }
+
+        try {
+            return Double.valueOf(value);
+        }
+        catch (NumberFormatException nfe) {
+            // do nothing
+        }
+
+        return defaultsTo;
+    }
+
+
+    /**
      * Parses line width, defaulting to 0.
      * @param theme the theme
      */
@@ -196,10 +226,10 @@
      * Parse band width, defaulting to 0.
      * @param theme the theme.
      */
-    public static int parseBandWidth(Document theme) {
+    public static double parseBandWidth(Document theme) {
         String bandWidth = XMLUtils.xpathString(theme, XPATH_BANDWIDTH, null);
 
-        return parseInteger(bandWidth, 0);
+        return parseDouble(bandWidth, 0);
     }
 
 

http://dive4elements.wald.intevation.org