# HG changeset patch
# User raimund renkert <raimund.renkert@intevation.de>
# Date 1311170143 -7200
# Node ID 0965f8af70fac6bb6845c279224bf96d3394a529
# Parent  1391f911ee39a72697084e4f2889f3f0dc8af6c9
Replace german umlauts and trim strings.

diff -r 1391f911ee39 -r 0965f8af70fa ChangeLog
--- a/ChangeLog	Wed Jul 20 12:40:11 2011 +0200
+++ b/ChangeLog	Wed Jul 20 15:55:43 2011 +0200
@@ -1,3 +1,10 @@
+2011-07-20  Raimund Renkert  <raimund.renkert@intevation.de>
+
+	* src/java/de/intevation/mxd/writer/MapScriptWriter.java:
+	  Added string manipulator that replaces german umlauts and trims a
+	  string.
+	  Use this validator for mapserver relevant names and strings.
+
 2011-07-20  Raimund Renkert  <raimund.renkert@intevation.de>
 
 	* src/java/de/intevation/mxd/reader/MapScriptWriter.java:
diff -r 1391f911ee39 -r 0965f8af70fa src/java/de/intevation/mxd/writer/MapScriptWriter.java
--- a/src/java/de/intevation/mxd/writer/MapScriptWriter.java	Wed Jul 20 12:40:11 2011 +0200
+++ b/src/java/de/intevation/mxd/writer/MapScriptWriter.java	Wed Jul 20 15:55:43 2011 +0200
@@ -194,11 +194,12 @@
             //The layer name.
             String lname = layerElement.getAttribute("name");
             lname = lname.replaceAll(" ", "");
-            layer.setName(lname);
+            layer.setName(validateString(lname));
             layer.setUnits(units.swigValue());
-            layer.setMetaData("wms_title", layerElement.getAttribute("name"));
+            layer.setMetaData("wms_title", validateString(lname));
             if(layerElement.hasAttribute("group")) {
-                layer.setGroup(layerElement.getAttribute("group"));
+		String group = layerElement.getAttribute("group");
+                layer.setGroup(validateString(group));
             }
 
             //The layer status.
@@ -332,8 +333,10 @@
             Element classElement = (Element)list.item(i);
             classObj co = new classObj(layer);
             String name = classElement.getAttribute("label");
+	    name = validateString(name);
             if (name.equals("")) {
                 name = layerElement.getAttribute("name");
+		name = validateString(name);
                 if (list.getLength() > 1) {
                     name += "-" + i;
                 }
@@ -558,4 +561,21 @@
         }
         return expression;
     }
+
+    /**
+     * Replaces german umlauts and removes leading and trailing whitespaces.
+     *
+     * @param s String
+     */
+    private String validateString (String s) {
+        if (s.equals("")) {
+            return "";
+        }
+        String tmp = s.trim();
+        tmp = tmp.replace ("�", "oe");
+        tmp = tmp.replace ("�", "ae");
+        tmp = tmp.replace ("�", "ue");
+        tmp = tmp.replace ("�", "ss");
+        return tmp;
+    }
 }