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

http://dive4elements.wald.intevation.org