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());

http://dive4elements.wald.intevation.org