view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java @ 4241:49cb65d5932d

Improved the historical discharge calculation. The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is improved to support those facets.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:34:35 +0200
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