Mercurial > dive4elements > river
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