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 :

http://dive4elements.wald.intevation.org