Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/server/StyleHelper.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-client/src/main/java/org/dive4elements/river/client/server/StyleHelper.java@821a02bbfb4e |
children | 172338b1407f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/StyleHelper.java Thu Apr 25 15:23:37 2013 +0200 @@ -0,0 +1,48 @@ +package org.dive4elements.river.client.server; + +import org.dive4elements.river.client.shared.model.Style; +import org.dive4elements.river.client.shared.model.StyleSetting; + +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + + +public class StyleHelper { + + public static Style getStyle (Element element) { + if (!element.getTagName().equals("theme")) { + return null; + } + + NodeList list = element.getElementsByTagName("field"); + Style style = new Style(); + + style.setName (element.getAttribute("name")); + style.setFacet (element.getAttribute("facet")); + + try { + int ndx = Integer.parseInt(element.getAttribute("index")); + style.setIndex (ndx); + } + catch(NumberFormatException nfe) { + return null; + } + + for(int i = 0; i < list.getLength(); i++) { + Element e = (Element) list.item(i); + String hints = e.getAttribute("hints"); + + StyleSetting set = new StyleSetting ( + e.getAttribute("name"), + e.getAttribute("default"), + e.getAttribute("display"), + e.getAttribute("hints"), + e.getAttribute("type"), + (hints != null && hints.contains("hidden") ? true : false) + ); + style.appendStyleSetting(set); + } + return style; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :