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 :