Mercurial > dive4elements > river
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); }