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 :

http://dive4elements.wald.intevation.org