diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCrossSectionIndexData.java @ 9429:bd5f5d2220fa

Work on salix cross sections; waterlevels work now with different colors Colors and i10n for all themes.
author gernotbelger
date Fri, 17 Aug 2018 17:48:01 +0200
parents b6e595f1696f
children e8b1255fc89e
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCrossSectionIndexData.java	Fri Aug 17 17:40:59 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCrossSectionIndexData.java	Fri Aug 17 17:48:01 2018 +0200
@@ -19,6 +19,14 @@
  * @author Gernot Belger
  */
 public final class SalixLineCrossSectionIndexData implements Serializable {
+
+    /**
+     * Known waterlevels of the salix computation
+     */
+    public enum SalixWaterlevel {
+        mnw, mw, mhw, mh5
+    }
+
     private static final long serialVersionUID = 1L;
 
     private static final SalixLineCrossSectionIndexData SALIX_LINE = new SalixLineCrossSectionIndexData(null, null);
@@ -28,7 +36,7 @@
 
     private final Integer scenarioIndex;
 
-    private final String waterlevelName;
+    private final SalixWaterlevel waterlevel;
 
     /**
      * Creates an instance of this class that represants the salix line.
@@ -50,18 +58,18 @@
     // FIXME: gemeint sind die einzublendenden 'MNW, MW, MHW, HW5' mir nicht klar wo diese Daten herkommen, ggf. aus der
     // Rechnung?
     // FIXME: statt 'name' vielleicht eine enum oder irgend etwas anderes was diese dinger eindeutig referenzieet?
-    public static final SalixLineCrossSectionIndexData waterlevel(final String name) {
+    public static final SalixLineCrossSectionIndexData waterlevel(final SalixWaterlevel name) {
         assert name != null;
         return new SalixLineCrossSectionIndexData(null, name);
     }
 
-    private SalixLineCrossSectionIndexData(final Integer scenarioIndex, final String waterlevelName) {
+    private SalixLineCrossSectionIndexData(final Integer scenarioIndex, final SalixWaterlevel waterlevel) {
         this.scenarioIndex = scenarioIndex;
-        this.waterlevelName = waterlevelName;
+        this.waterlevel = waterlevel;
     }
 
-    public double getCrossSectionLine(final SalixLineCalculationResults results, final double currentKm, final double nextKm,
-            final double prevKm, final CallContext context) {
+    public double getCrossSectionLine(final SalixLineCalculationResults results, final double currentKm, final double nextKm, final double prevKm,
+            final CallContext context) {
 
         final SalixLineCalculationResult result = results.getResults().get(this.resultIndex);
 
@@ -70,9 +78,9 @@
             return result.getSalixScenarioValue(currentKm, nextKm, prevKm, this.scenarioIndex);
         }
 
-        if (this.waterlevelName != null) {
+        if (this.waterlevel != null) {
             // fetch waterlevel result data = salix line value at km
-            return result.getWaterlevelValue(currentKm, nextKm, prevKm, this.waterlevelName);
+            return result.getWaterlevelValue(currentKm, nextKm, prevKm, this.waterlevel);
         }
 
         // fetch normal result data = salix line value at km

http://dive4elements.wald.intevation.org