diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineAccess.java @ 9309:9a9f076d5716

Work on U-Info salix line calculation
author mschaefer
date Wed, 25 Jul 2018 19:29:25 +0200
parents c08d5cfa4981
children a978b601a034
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineAccess.java	Wed Jul 25 19:28:54 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineAccess.java	Wed Jul 25 19:29:25 2018 +0200
@@ -32,6 +32,34 @@
     // ld_from_part; ld_to_part
     // scenario_selection (mögliche Werte:"scenarioType.option1" "scenarioType.option2" "scenarioType.option3"
 
+    /**
+     * Type of a salix line scenario with key property used by the client
+     */
+    public enum ScenarioType {
+        NONE(""), //
+        REGIONAL("scenarioType.option1"), //
+        SUPRAREGIONAL("scenarioType.option2"), //
+        HISTORICAL("scenarioType.option3");
+
+        private String key;
+
+        private ScenarioType(final String key) {
+            this.key = key;
+        }
+
+        public static ScenarioType forKey(final String key) {
+            for (final ScenarioType st : ScenarioType.values()) {
+                if (st.getKey().equals(key))
+                    return st;
+            }
+            return NONE;
+        }
+
+        public String getKey() {
+            return this.key;
+        }
+    }
+
     public SalixLineAccess(final UINFOArtifact artifact) {
         super(artifact);
 
@@ -44,11 +72,11 @@
         return super.getBoolean("use_scenario");
     }
 
-    public String getScenario() {
-        if (getUseScenario()) {
-            return getString("scenario_selection");
-        }
-        return null;
+    public ScenarioType getScenario() {
+        if (getUseScenario())
+            return ScenarioType.forKey(getString("scenario_selection"));
+        else
+            return ScenarioType.NONE;
     }
 
     public Double getFromPart() {

http://dive4elements.wald.intevation.org