view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java @ 948:0881cd4be773

Improved error handling in loading meta data template. flys-artifacts/trunk@2364 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 19 Jul 2011 17:01:10 +0000
parents 53a2be494765
children eccf966fb677
line wrap: on
line source
package de.intevation.flys.artifacts.states;

import org.w3c.dom.Element;

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";


    @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 };
    }


    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;
    }


    @Override
    public boolean validate(Artifact artifact, CallContext context)
    throws IllegalArgumentException
    {
        // TODO We have to check the user data if there is a real input!
        return true;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org