view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.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.fixation;

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.flys.artifacts.resources.Resources;
import de.intevation.flys.artifacts.states.DefaultState;


/**
 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
 */
public class FixationSelect extends DefaultState {

    /** Constant value for the default fixation calculation. */
    public static final String CALCULATION_DEFAULT = "calculation.analysis";

    /** Constant value for the vollmer fixation analysis. */
    public static final String CALCULATION_VOLLMER = "calculation.vollmer";

    /** An Array that holds all available calculation modes.*/
    public static final String[] CALCULATIONS = {
        CALCULATION_DEFAULT,
        CALCULATION_VOLLMER
    };

    /** Error message that is thrown if no mode has been chosen. */
    public static final String ERROR_NO_CALCULATION_MODE =
        "error_feed_no_calculation_mode";

    /** Error message that is thrown if an invalid calculation mode has been
     * chosen. */
    public static  final String ERROR_INVALID_CALCULATION_MODE =
        "error_feed_invalid_calculation_mode";


    /**
     * The default constructor that initializes an empty State object.
     */
    public FixationSelect() {
    }


    @Override
    protected Element[] createItems(
        XMLUtils.ElementCreator ec,
        Artifact                artifact,
        String                  name,
        CallContext             context)
    {
        CallMeta meta = context.getMeta();
        Element[] calculations = new Element[CALCULATIONS.length];

        for (int i = 0; i < CALCULATIONS.length; i++) {
            String calc = CALCULATIONS[i];
            calculations[i] = createItem(
                ec,
                new String[] {Resources.getMsg(meta, calc, calc), calc});
        }
        return calculations;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org