Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java @ 5818:a4ff4167be1e
Request feature info on all layers and show it as html if
the server does not return valid gml.
Non queryable layers produce an error message when the request
fails. This is good enough
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 24 Apr 2013 17:33:27 +0200 |
parents | 2867ae59e216 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import org.w3c.dom.Element; import org.apache.log4j.Logger; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.CallMeta; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifactdatabase.ProtocolUtils; import de.intevation.flys.artifacts.resources.Resources; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class FloodplainChoice extends DefaultState { public static final String OPTION = "floodplain.option"; public static final String ACTIVE = "floodplain.active"; public static final String INACTIVE = "floodplain.inactive"; private static final Logger logger = Logger.getLogger(FloodplainChoice.class); @Override protected String getUIProvider() { return "boolean_panel"; } @Override protected Element[] createItems( XMLUtils.ElementCreator cr, Artifact artifact, String name, CallContext context) { CallMeta meta = context.getMeta(); Element option = createItem( cr, new String[] { Resources.getMsg(meta, OPTION, OPTION), "true" }); return new Element[] { option }; } @Override protected String getLabelFor( CallContext cc, String name, String value, String type ) { logger.debug("GET LABEL FOR '" + name + "' / '" + value + "'"); if (value != null && value.equals("true")) { return Resources.getMsg(cc.getMeta(), ACTIVE, ACTIVE); } else { return Resources.getMsg(cc.getMeta(), INACTIVE, INACTIVE); } } protected Element createItem(XMLUtils.ElementCreator cr, Object obj) { Element item = ProtocolUtils.createArtNode(cr, "item", null, null); Element label = ProtocolUtils.createArtNode(cr, "label", null, null); Element value = ProtocolUtils.createArtNode(cr, "value", null, null); String[] arr = (String[]) obj; label.setTextContent(arr[0]); value.setTextContent(arr[1]); item.appendChild(label); item.appendChild(value); return item; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :