view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java @ 4496:d8992459b408

Add method to return the facets of an artifact This methos should be used to get the facets of an artifact instead of accessing the facets member variable directly.
author Björn Ricks <bjoern.ricks@intevation.de>
date Wed, 14 Nov 2012 11:11:04 +0100
parents 8e66293c5369
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.StringUtils;
import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
import de.intevation.flys.artifacts.WINFOArtifact;


/**
 * Get me doubles (km).
 */
public class EnterMultipleLocationsState extends EnterLocationState {
    /** The logger for this class. */
    private static Logger logger = Logger.getLogger(EnterMultipleLocationsState.class);

    @Override
    protected String getUIProvider() {
        logger.debug("multi location panel");
        return "multi_location_panel";
    }


    /** Deal with multiple double values. */
    @Override
    protected String getLabelFor(
        CallContext cc,
        String      name,
        String      value,
        String      type
    ) {
        String[] vals = value.split(" ");
        for (int i = 0; i < vals.length; i++) {
            vals[i] = super.getLabelFor(cc, name, vals[i], type);
        }

        return StringUtils.join(" ", vals);
    }

    /**
     * This method creates a list of items. These items represent the amount of
     * input data that is possible for this state.
     *
     * @param cr The ElementCreator.
     * @param name The name of the amount of data.
     *
     * @return a list of items.
     */
    @Override
    protected Element[] createItems(
        ElementCreator cr,
        Artifact    artifact,
        String      name,
        CallContext context
    ) {
        if (name.equals("reference_endpoint")) {
            Element[] elements = new Element[1];
            WINFOArtifact winfo = (WINFOArtifact) artifact;
            Double km = winfo.getReferenceStartKm();
            elements[0] = createItem(
                cr,
                new String[] {"start_km", km.toString()});
            return elements;
        }
        return null;
    }

}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org