Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RangeAccess.java @ 4852:9790a284246c
RangeAccess, FLYSUtils; Moved getKmRangeMode implementation to RangeAccess.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 23 Jan 2013 12:27:00 +0100 |
parents | c9a27912840d |
children | a0949259181e |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RangeAccess.java Wed Jan 23 12:12:22 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RangeAccess.java Wed Jan 23 12:27:00 2013 +0100 @@ -20,12 +20,18 @@ private CallContext context; + public static enum KM_MODE { RANGE, LOCATIONS, NONE }; + + double[] kmRange; + Double from; Double to; Double step; + private KM_MODE mode; + public RangeAccess(FLYSArtifact artifact, CallContext context) { super(artifact); @@ -33,6 +39,29 @@ } + /** Evaluate the ld_mode data of artifact. */ + public KM_MODE getKmRangeMode() { + if (mode != null) { + return mode; + } + String modeData = getString("ld_mode"); + + if (modeData == null || modeData.length() == 0) { + mode = KM_MODE.NONE; + } + else if (modeData.equals("distance")) { + mode = KM_MODE.RANGE; + } + else if (modeData.equals("locations")) { + mode = KM_MODE.LOCATIONS; + } + else { + mode = KM_MODE.NONE; + } + + return mode; + } + /** * Return sorted array of locations at which stuff was calculated * (from ld_locations data), null if not parameterized this way.