diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Parameters.java @ 3056:0b5a7a2c3724

Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator flys-artifacts/trunk@4632 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Sun, 10 Jun 2012 11:12:38 +0000
parents 52aac4941d2a
children febc39e77672
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Parameters.java	Sat Jun 09 13:46:04 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Parameters.java	Sun Jun 10 11:12:38 2012 +0000
@@ -34,6 +34,7 @@
                 return i;
             }
         }
+        log.debug("columnIndex: " + name + " not found in columnNames");
         return -1;
     }
 
@@ -121,6 +122,11 @@
         return binarySearch(columnIndex(columnName), value);
     }
 
+    /**
+     * Performes a binary search in the column identified by its
+     * index.
+     * @return Index of found element or negative insertion point (shifted by one)
+     */
     public int binarySearch(int columnIndex, double value) {
         TDoubleArrayList column = columns[columnIndex];
         return column.binarySearch(value);
@@ -131,18 +137,22 @@
     }
 
     public int binarySearch(int columnIndex, double value, double epsilon) {
-        if (epsilon < 0d) epsilon = -epsilon;
+        if (epsilon < 0d)
+            epsilon = -epsilon;
         double vl = value - epsilon;
         double vh = value + epsilon;
 
         TDoubleArrayList column = columns[columnIndex];
         int lo = 0, hi = column.size()-1;
         while (hi >= lo) {
-            int mid = (lo+hi) >> 1;
+            int mid = (lo + hi) >> 1;
             double v = column.getQuick(mid);
-            if      (v < vl) hi = mid - 1;
-            else if (v > vh) lo = mid + 1;
-            else             return mid;
+            if (v < vl) 
+                hi = mid - 1;
+            else if (v > vh) 
+                lo = mid + 1;
+            else
+                return mid;
         }
 
         return -1;

http://dive4elements.wald.intevation.org