diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/RiversideRadioChoice.java @ 9179:51b316de0d64

Merge
author gernotbelger
date Tue, 26 Jun 2018 20:04:56 +0200
parents 2f5052835b76 1614cb14308f
children dace17e26d33
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/RiversideRadioChoice.java	Tue Jun 26 19:48:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/RiversideRadioChoice.java	Tue Jun 26 20:04:56 2018 +0200
@@ -13,23 +13,62 @@
 import org.dive4elements.artifacts.Artifact;
 import org.dive4elements.artifacts.CallMeta;
 import org.dive4elements.river.artifacts.states.RadioSelect;
+import org.dive4elements.river.model.Attribute.AttributeKey;
 
 /**
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class RiversideRadioChoice extends RadioSelect {
+
     private static final long serialVersionUID = 1L;
 
+    /***** TYPES *****/
+
+    public enum RiversideChoiceKey {
+        NONE("", AttributeKey.NONE), //
+        LEFT("state.sinfo.riverside.left", AttributeKey.LEFT), //
+        RIGHT("state.sinfo.riverside.right", AttributeKey.RIGHT), //
+        BOTH("state.sinfo.riverside.both", AttributeKey.UNKNOWN);
+
+        private final String key;
+        private final AttributeKey attributeKey;
+
+        RiversideChoiceKey(final String key, final AttributeKey attributeKey) {
+            this.key = key;
+            this.attributeKey = attributeKey;
+        }
+
+        public static RiversideChoiceKey fromKey(final String key) {
+            for (final RiversideChoiceKey v : values()) {
+                if (key.equalsIgnoreCase(v.key))
+                    return v;
+            }
+            return NONE;
+        }
+
+        public String getKey() {
+            return this.key;
+        }
+
+        public AttributeKey getAttributeKey() {
+            return this.attributeKey;
+        }
+    }
+
+    /***** CONSTRUCTORS *****/
+
     public RiversideRadioChoice() {
         super();
     }
 
+    /***** METHODS *****/
+
     @Override
     protected LinkedHashMap<String, String> makeEntries(final CallMeta meta, final Artifact artifact) {
         final LinkedHashMap<String, String> entries = new LinkedHashMap<>();
-        entries.put("state.sinfo.riverside.left", null);
-        entries.put("state.sinfo.riverside.right", null);
-        entries.put("state.sinfo.riverside.both", null);
+        entries.put(RiversideChoiceKey.LEFT.getKey(), null);
+        entries.put(RiversideChoiceKey.RIGHT.getKey(), null);
+        entries.put(RiversideChoiceKey.BOTH.getKey(), null);
         return entries;
     }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org