Mercurial > dive4elements > river
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()) {