Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java @ 628:51b69bca4560
ISSUE-85 (part III/III) Use the given kilometer values for the waterlevel computation.
flys-artifacts/trunk@1993 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 24 May 2011 12:37:45 +0000 |
parents | 833290f16f09 |
children | 65e4e42b4b03 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java Tue May 24 11:27:37 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java Tue May 24 12:37:45 2011 +0000 @@ -1,9 +1,14 @@ package de.intevation.flys.artifacts.states; +import java.util.ArrayList; +import java.util.List; + import org.apache.log4j.Logger; import org.w3c.dom.Element; +import gnu.trove.TDoubleArrayList; + import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; @@ -261,5 +266,30 @@ return minmax; } + + + public static double[] getLocations(FLYSArtifact flys) { + StateData data = flys.getData("ld_locations"); + String value = data != null ? (String) data.getValue() : null; + + if (value == null || value.length() == 0) { + logger.warn("No location data given."); + return null; + } + + String[] splitted = value.split(" "); + TDoubleArrayList values = new TDoubleArrayList(); + + for (String split: splitted) { + try { + values.add(Double.valueOf(split)); + } + catch (NumberFormatException nfe) { + logger.warn(nfe, nfe); + } + } + + return values.toNativeArray(); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :