Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java @ 1793:1636686070f7
Initial commit to support styles in maps.
flys-artifacts/trunk@3116 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 28 Oct 2011 14:42:24 +0000 |
parents | 741ba9e34c7d |
children | 5364b86a0880 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java Fri Oct 28 13:48:02 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java Fri Oct 28 14:42:24 2011 +0000 @@ -9,6 +9,9 @@ import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.flys.artifacts.model.MapserverStyle; +import de.intevation.flys.artifacts.model.MapserverStyle.Clazz; + /** * Utility to deal with themes and their representations. @@ -284,13 +287,33 @@ } + public static String getLineColorString(Document theme) { + return XMLUtils.xpathString(theme, XPATH_LINE_COLOR, null); + } + + /** * Gets color from color field. * @param theme the theme document. * @return color. */ public static Color parseLineColorField(Document theme) { - String color = XMLUtils.xpathString(theme, XPATH_LINE_COLOR, null); - return parseRGB(color); + return parseRGB(getLineColorString(theme)); + } + + + public static String createMapserverStyle(Document theme) { + String linecolor = getLineColorString(theme); + int linewidth = parseLineWidth(theme); + + MapserverStyle ms = new MapserverStyle(); + + Clazz c = new Clazz(" "); + c.setOutlineColor(linecolor); + c.setSize(linewidth); + + ms.addClazz(c); + + return ms.toString(); } }