Mercurial > dive4elements > river
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/CalculationSelectBundu.java Wed May 16 17:43:47 2018 +0200 @@ -0,0 +1,61 @@ +/* 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; + } +} \ No newline at end of file