ingo@2909: package de.intevation.flys.client.server; ingo@2909: ingo@2909: import org.w3c.dom.Element; ingo@2909: import org.w3c.dom.NodeList; ingo@2909: ingo@2909: import org.apache.log4j.Logger; ingo@2909: ingo@2909: import de.intevation.flys.client.shared.model.Style; ingo@2909: import de.intevation.flys.client.shared.model.StyleSetting; ingo@2909: ingo@2909: ingo@2909: public class StyleHelper { ingo@2909: ingo@2909: private static final Logger logger = Logger.getLogger(StyleHelper.class); ingo@2909: ingo@2909: ingo@2909: public static Style getStyle (Element element) { ingo@2909: if (!element.getTagName().equals("theme")) { ingo@2909: return null; ingo@2909: } ingo@2909: ingo@2909: NodeList list = element.getElementsByTagName("field"); ingo@2909: Style style = new Style(); ingo@2909: ingo@2909: style.setName (element.getAttribute("name")); ingo@2909: style.setFacet (element.getAttribute("facet")); ingo@2909: ingo@2909: try { ingo@2909: int ndx = Integer.parseInt(element.getAttribute("index")); ingo@2909: style.setIndex (ndx); ingo@2909: } ingo@2909: catch(NumberFormatException nfe) { ingo@2909: return null; ingo@2909: } ingo@2909: ingo@2909: for(int i = 0; i < list.getLength(); i++) { ingo@2909: Element e = (Element) list.item(i); ingo@2909: String hidden = e.getAttribute("hidden"); ingo@2909: ingo@2909: StyleSetting set = new StyleSetting ( ingo@2909: e.getAttribute("name"), ingo@2909: e.getAttribute("default"), ingo@2909: e.getAttribute("display"), ingo@2909: e.getAttribute("hints"), ingo@2909: e.getAttribute("type"), ingo@2909: (hidden != null ? Boolean.valueOf(hidden) : false) ingo@2909: ); ingo@2909: style.appendStyleSetting(set); ingo@2909: } ingo@2909: return style; ingo@2909: } ingo@2909: } ingo@2909: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :