view artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/CalculationSelectBundu.java @ 9072:02739b8c010d

bundu progress (Klon FixationAnalysis +Vollmer funktioniert; Verzweigung neue Berechnungsart Bezugswst)
author gernotbelger
date Wed, 16 May 2018 17:43:47 +0200
parents
children
line wrap: on
line source
/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
 * Software engineering by
 *  Björnsen Beratende Ingenieure GmbH
 *  Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */
package org.dive4elements.river.artifacts.bundu;

import java.util.ArrayList;
import java.util.Collection;

import org.apache.log4j.Logger;
import org.dive4elements.artifacts.Artifact;
import org.dive4elements.artifacts.CallContext;
import org.dive4elements.artifacts.CallMeta;
import org.dive4elements.artifacts.common.utils.XMLUtils;
import org.dive4elements.river.artifacts.resources.Resources;
import org.dive4elements.river.artifacts.states.DefaultState;
import org.w3c.dom.Element;

/**
 * @author Gernot Belger
 */
public class CalculationSelectBundu extends DefaultState {

    private static final long serialVersionUID = 1L;

    /** The log that is used in this class. */
    private static Logger log = Logger.getLogger(CalculationSelectBundu.class);

    @Override
    protected Element[] createItems(final XMLUtils.ElementCreator cr, final Artifact artifact, final String name, final CallContext context) {
        final CallMeta meta = context.getMeta();

        final Collection<Element> calcs = new ArrayList<>(BunduCalcMode.values().length);

        for (final BunduCalcMode calcMode : BunduCalcMode.values()) {
            final String calc = calcMode.name();

            final String label = Resources.getMsg(meta, calc, calc);

            final Element element = createItem(cr, new String[] { label, calc });
            calcs.add(element);
        }

        return calcs.toArray(new Element[calcs.size()]);
    }

    @Override
    public boolean validate(final Artifact artifact) throws IllegalArgumentException {
        log.debug("CalculationSelect.validate");

        final BUNDUArtifact m_artifact = (BUNDUArtifact) artifact;
        /* throws an exception if calculation mode is invalid */
        m_artifact.getCalculationMode();
        return true;
    }
}

http://dive4elements.wald.intevation.org