Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java @ 2713:b60751cfdd6c
Start MINFO middle bed height calculation in the relevant state and creates facets for chart and csv.
flys-artifacts/trunk@4437 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 18 May 2012 09:18:39 +0000 |
parents | 4c00cf83fff1 |
children | 2f922be407ea |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java Fri May 18 07:03:38 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java Fri May 18 09:18:39 2012 +0000 @@ -23,9 +23,12 @@ import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.states.DefaultState; +import de.intevation.flys.artifacts.states.SoundingsSelect; import de.intevation.flys.utils.FLYSUtils; +import gnu.trove.TIntArrayList; + import java.util.LinkedList; import java.util.List; @@ -268,5 +271,63 @@ return FLYSUtils.intArrayFromString(data); } + + + public int[] getBedHeightSingleIDs() { + String data = getDataAsString("soundings"); + + if (data == null) { + logger.warn("No 'soundings' parameter specified!"); + return null; + } + + String[] parts = data.split(";"); + + TIntArrayList ids = new TIntArrayList(); + + for (String part: parts) { + if (part.indexOf(SoundingsSelect.PREFIX_SINGLE) >= 0) { + String tmp = part.replace(SoundingsSelect.PREFIX_SINGLE, ""); + + try { + ids.add(Integer.parseInt(tmp)); + } + catch (NumberFormatException nfe) { + logger.warn("Cannot parse int from string: '" + tmp + "'"); + } + } + } + + return ids.toNativeArray(); + } + + + public int[] getBedHeightEpochIDs() { + String data = getDataAsString("soundings"); + + if (data == null) { + logger.warn("No 'soundings' parameter specified!"); + return null; + } + + String[] parts = data.split(";"); + + TIntArrayList ids = new TIntArrayList(); + + for (String part: parts) { + if (part.indexOf(SoundingsSelect.PREFIX_EPOCH) >= 0) { + String tmp = part.replace(SoundingsSelect.PREFIX_EPOCH, ""); + + try { + ids.add(Integer.parseInt(tmp)); + } + catch (NumberFormatException nfe) { + logger.warn("Cannot parse int from string: '" + tmp + "'"); + } + } + } + + return ids.toNativeArray(); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :