Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RangeAccess.java @ 4853:a0949259181e
RangeAccess.getKmRange: Extracted from FLYSUtils.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 23 Jan 2013 12:58:12 +0100 |
parents | 9790a284246c |
children | 14db045d6368 |
comparison
equal
deleted
inserted
replaced
4852:9790a284246c | 4853:a0949259181e |
---|---|
1 package de.intevation.flys.artifacts.access; | 1 package de.intevation.flys.artifacts.access; |
2 | 2 |
3 import org.apache.log4j.Logger; | 3 import org.apache.log4j.Logger; |
4 | 4 |
5 import gnu.trove.TDoubleArrayList; | 5 import gnu.trove.TDoubleArrayList; |
6 | |
7 import de.intevation.artifacts.CallContext; | 6 import de.intevation.artifacts.CallContext; |
8 import de.intevation.flys.artifacts.FLYSArtifact; | 7 import de.intevation.flys.artifacts.FLYSArtifact; |
9 import de.intevation.flys.artifacts.WINFOArtifact; | 8 import de.intevation.flys.artifacts.WINFOArtifact; |
10 | 9 |
11 import de.intevation.flys.utils.FLYSUtils; | 10 import de.intevation.flys.utils.FLYSUtils; |
147 /** | 146 /** |
148 * Get min and max kilometer, independent of parametization | 147 * Get min and max kilometer, independent of parametization |
149 * (ld_from/to vs ld_locations). | 148 * (ld_from/to vs ld_locations). |
150 */ | 149 */ |
151 public double[] getKmRange() { | 150 public double[] getKmRange() { |
152 return FLYSUtils.getKmRange(this.getArtifact()); | 151 // TODO store kmRange in field. |
152 switch (getKmRangeMode()) { | |
153 case RANGE: { | |
154 return getKmFromTo(); | |
155 } | |
156 | |
157 case LOCATIONS: { | |
158 double[] locs = getLocations(); | |
159 // if no locations, nPE. | |
160 if (locs == null) { | |
161 logger.warn("no locations to get km range from."); | |
162 return new double[] { Double.NaN, Double.NaN }; | |
163 } | |
164 return new double[] { locs[0], locs[locs.length-1] }; | |
165 } | |
166 | |
167 case NONE: { | |
168 double[] locs = getLocations(); | |
169 if (locs != null) { | |
170 return new double[] { locs[0], locs[locs.length-1] }; | |
171 } | |
172 else { | |
173 return getKmFromTo(); | |
174 } | |
175 } | |
176 } | |
177 | |
178 return new double[] { Double.NaN, Double.NaN }; | |
153 } | 179 } |
154 | 180 |
155 | 181 |
156 public double[] getKmFromTo() { | 182 public double[] getKmFromTo() { |
157 return FLYSUtils.getKmFromTo(this.getArtifact()); | 183 return FLYSUtils.getKmFromTo(this.getArtifact()); |