view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java @ 5645:696d710470f5

flys/issue1077: Show loads as step line, therefore transform data in SedimentLoadFacet to stretch as in the measurement stations bounds. Deal with this new kind of data in the Generator.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 10 Apr 2013 09:35:07 +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