teichmann@5835: package org.dive4elements.river.client.server; ingo@2909: teichmann@5835: import org.dive4elements.river.client.shared.model.Style; teichmann@5835: import org.dive4elements.river.client.shared.model.StyleSetting; christian@3384: ingo@2909: import org.w3c.dom.Element; ingo@2909: import org.w3c.dom.NodeList; ingo@2909: ingo@2909: ingo@2909: public class StyleHelper { 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); rrenkert@4665: String hints = e.getAttribute("hints"); 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"), rrenkert@4665: (hints != null && hints.contains("hidden") ? true : 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 :