view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HWSDatacageState.java @ 5404:08262e0ce57a

Add buildings with kinds to datacage
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 25 Mar 2013 15:02:04 +0100
parents 11c853b0854a
children
line wrap: on
line source
package de.intevation.flys.artifacts.states;

import org.apache.log4j.Logger;
import org.w3c.dom.Element;

import de.intevation.artifacts.Artifact;
import de.intevation.artifacts.CallContext;
import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
import de.intevation.flys.artifacts.FLYSArtifact;


public class HWSDatacageState
extends DefaultState
{

    private static final Logger logger = Logger.getLogger(HWSDatacageState.class);

    @Override
    protected String getUIProvider() {
        return "hws_datacage_panel";
    }


    @Override
    protected Element createStaticData(
        FLYSArtifact   flys,
        ElementCreator creator,
        CallContext    cc,
        String         name,
        String         value,
        String         type
    ) {
        Element dataElement = creator.create("data");
        creator.addAttr(dataElement, "name", name, true);
        creator.addAttr(dataElement, "type", type, true);

        Element itemElement = creator.create("item");
        creator.addAttr(itemElement, "value", value, true);

        creator.addAttr(itemElement, "label", getLabel(cc, value), true);
        dataElement.appendChild(itemElement);

        return dataElement;
    }


    public static String getLabel(CallContext cc, String value) {
        logger.debug("Create label for value: " + value);

        return value;
    }


    @Override
    public boolean validate(Artifact artifact)
    throws IllegalArgumentException
    {
        FLYSArtifact flys = (FLYSArtifact) artifact;
        String hws = flys.getDataAsString("uesk.hws");
        logger.debug("hws: " + hws);
        return true;
    }


    /**
     * Returns the DGM specified in the parameters of <i>flys</i>.
     *
     * @param flys The FLYSArtifact that knows the ID of a DGM.
     *
     * @throws IllegalArgumentException If the FLYSArtifact doesn't know the ID
     * of a DGM.
     *
     * @return the DGM specified by FLYSArtifact's parameters.
     */
    public static String getHWS(FLYSArtifact flys)
    throws IllegalArgumentException
    {
        String hws= flys.getDataAsString("uesk.hws");
        if (hws == null) {
            return null;
        }

        logger.debug("Found selected hws: '" + hws + "'");

        return hws;
    }



}

http://dive4elements.wald.intevation.org