Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java @ 5496:23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 28 Mar 2013 12:39:14 +0100 |
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 :