diff artifacts/src/main/java/org/dive4elements/river/utils/ThemeUtil.java @ 6170:194a99865d73

createWSPLGENClassName() now respects user locale (#767).
author Christian Lins <christian.lins@intevation.de>
date Mon, 03 Jun 2013 14:56:10 +0200
parents ebfc161cc5c4
children 8b03a7589101
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/utils/ThemeUtil.java	Mon Jun 03 14:53:08 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/utils/ThemeUtil.java	Mon Jun 03 14:56:10 2013 +0200
@@ -8,15 +8,19 @@
 
 package org.dive4elements.river.utils;
 
+import org.dive4elements.artifacts.CallMeta;
 import org.dive4elements.artifacts.common.utils.XMLUtils;
 import org.dive4elements.river.artifacts.model.MapserverStyle;
 import org.dive4elements.river.artifacts.model.MapserverStyle.Clazz;
 import org.dive4elements.river.artifacts.model.MapserverStyle.Expression;
 import org.dive4elements.river.artifacts.model.MapserverStyle.Label;
 import org.dive4elements.river.artifacts.model.MapserverStyle.Style;
+import org.dive4elements.river.artifacts.resources.Resources;
 
 import java.awt.Color;
 import java.awt.Font;
+import java.text.NumberFormat;
+import java.util.Locale;
 
 import org.apache.log4j.Logger;
 import org.w3c.dom.Document;
@@ -669,7 +673,7 @@
      * @return String representation of the MapserverStyle
      */
     public static String createDynamicMapserverStyle(Document theme,
-            float from, float to, float step)
+            float from, float to, float step, CallMeta meta)
     {
         MapserverStyle ms = new MapserverStyle();
 
@@ -701,7 +705,7 @@
             newColor.append(startColor.getBlue()  + Math.round(n * bd));
 
             String expr = createWSPLGENClassExpression(from + n * step, step, n + 1, numClasses);
-            String name = createWSPLGENClassName(from + n * step, step, n + 1, numClasses);
+            String name = createWSPLGENClassName(from + n * step, step, n + 1, numClasses, meta);
 
             Clazz c = new Clazz(name);
             Style s = new Style();
@@ -728,12 +732,19 @@
     }
 
     // FIXME: i18n
-    protected static String createWSPLGENClassName(float val, float step, int idx, int maxIdx) {
+    protected static String createWSPLGENClassName(float val, float step, int idx, int maxIdx, CallMeta meta) {
+        Locale locale = Resources.getLocale(meta);
+        NumberFormat nf = NumberFormat.getInstance(locale);
         if (idx < maxIdx) {
-            return "[Differenz] >= " + val + "m UND [Differenz] < " + (val + step) + "m";
+            return "[Differenz] >= "
+                    + nf.format(val)
+                    + " m UND [Differenz] < "
+                    + nf.format(val + step)
+                    + " m";
         }
         else {
-            return "[Differenz] >= " + val + "m";
+            return "[Differenz] >= "
+                    + nf.format(val) + " m";
         }
     }
 

http://dive4elements.wald.intevation.org