diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java @ 649:44175d4720f8

Fix crashes in back jump correction. flys-artifacts/trunk@2038 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 01 Jun 2011 09:57:22 +0000
parents 2dbbb5be30a1
children 60f24fca574a
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java	Wed Jun 01 09:18:00 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java	Wed Jun 01 09:57:22 2011 +0000
@@ -11,6 +11,8 @@
 
 import org.apache.commons.math.ArgumentOutsideDomainException;
 
+import org.apache.commons.math.exception.MathIllegalArgumentException;
+
 import org.apache.log4j.Logger;
 
 public class BackJumpCorrector
@@ -125,7 +127,7 @@
                 break;
             }
 
-            if (back < 0) {
+            if (back <= 0) {
                 //log.debug("run over left border");
                 // fill with same as ws[i]
                 for (int j = 0; j < i; ++j) {
@@ -193,7 +195,15 @@
                 }
             }
 
-            PolynomialSplineFunction spline = interpolator.interpolate(x, y);
+            PolynomialSplineFunction spline;
+            
+            try {
+                spline = interpolator.interpolate(x, y);
+            }
+            catch (MathIllegalArgumentException miae) {
+                log.error(miae);
+                continue;
+            }
 
             try {
                 if (log.isDebugEnabled()) {

http://dive4elements.wald.intevation.org