diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java @ 141:7f909429ccc8

Added some more calculation types (to the DESCRIBE in the calculation select state). flys-artifacts/trunk@1524 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 21 Mar 2011 09:16:17 +0000
parents 21d791e21aca
children b5c99532f898
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java	Mon Mar 21 08:17:15 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java	Mon Mar 21 09:16:17 2011 +0000
@@ -5,11 +5,14 @@
 import org.w3c.dom.Element;
 
 import de.intevation.artifacts.CallContext;
+import de.intevation.artifacts.CallMeta;
 
 import de.intevation.artifacts.common.utils.XMLUtils;
 
 import de.intevation.artifactdatabase.ProtocolUtils;
 
+import de.intevation.flys.artifacts.resources.Resources;
+
 /**
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
@@ -19,15 +22,54 @@
     private static Logger logger = Logger.getLogger(CalculationSelect.class);
 
 
+    /** Constant value for the reference line calculation.*/
+    public static final String CALCULATION_REFERENCE_LINE =
+        "calc.reference.line";
+
+    /** Constant value for the differences calculation.*/
+    public static final String CALCULATION_DIFFERENCES =
+        "calc.differences";
+
+    /** Constant value for the flood map calculation.*/
+    public static final String CALCULATION_FLOOD_MAP =
+        "calc.flood.map";
+
+    /** Constant value for the profile calculation.*/
+    public static final String CALCULATION_PROFILE =
+        "calc.profile";
+
+    /** Constant value for the state discharge curve calculation.*/
+    public static final String CALCULATION_STATE_DISCHARGE_CURVE =
+        "calc.state.discharge.curve";
+
+    /** An array that holds all available calculation modes.*/
+    public static final String[] CALCULATIONS = {
+        CALCULATION_REFERENCE_LINE,
+        CALCULATION_DIFFERENCES,
+        CALCULATION_FLOOD_MAP,
+        CALCULATION_PROFILE,
+        CALCULATION_STATE_DISCHARGE_CURVE };
+
+
     protected Element[] createItems(
         XMLUtils.ElementCreator cr,
         String      name,
         CallContext context)
     {
-        Element one = createItem(cr, new String[] {"Abflusskurve", "1"});
-        Element two = createItem(cr, new String[] {"Wasserspiegellage", "2"});
+        CallMeta meta   = context.getMeta();
+        Element[] calcs = new Element[CALCULATIONS.length];
 
-        return new Element[] { one, two };
+        int i = 0;
+
+        for (String calc: CALCULATIONS) {
+            calcs[i++] = createItem(
+                cr, new String[] {
+                    Resources.getMsg(meta, calc, calc),
+                    calc
+                });
+        }
+
+        return calcs;
     }
 
 

http://dive4elements.wald.intevation.org