view artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/CalculationSelectSinfo.java @ 8860:28df64078f27

Merge with 0862ea5d66baf60e7eee496d130a35157cc9ec12
author gernotbelger
date Fri, 19 Jan 2018 11:23:42 +0100
parents 7bbfb24e6eec
children e3519c3e7a0a
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.sinfo;

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 CalculationSelectSinfo extends DefaultState {

	private static final long serialVersionUID = 1L;

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

    public CalculationSelectSinfo() {
    }


    @Override
    protected Element[] createItems(
        XMLUtils.ElementCreator cr,
        Artifact    artifact,
        String      name,
        CallContext context)
    {
        final CallMeta meta   = context.getMeta();
        
        final Collection<Element> calcs = new ArrayList<>(SinfoCalcMode.values().length);

        for (final SinfoCalcMode calcMode : SinfoCalcMode.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(Artifact artifact)
    throws IllegalArgumentException
    {
        log.debug("CalculationSelect.validate");

        final SINFOArtifact sinfo = (SINFOArtifact) artifact;
        /* throws an exception if calculation mode is invalid */
        sinfo.getCalculationMode();
        return true;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org