# HG changeset patch # User raimund renkert # 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 + + * 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 * 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; + } }