This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit da7d9ca8ce60e60825cf71db86801659ca22960d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu May 21 10:50:14 2015 +0200 on force a typer en float le résultat (fonctionne sous jdk 7 et 8) (refs #7074) --- .../referentiel/LengthWeightParemeterHelper.java | 19 +++++++------------ .../src/test/java/fr/ird/observe/ScriptTest.java | 2 +- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java index cb5655d..c4bc8ec 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java @@ -87,8 +87,7 @@ public class LengthWeightParemeterHelper { String coefficients = parametrage.getCoefficients(); if (coefficients != null) { for (String coefficientDef : coefficients.split(":")) { - Matcher matcher = - COEFFICIENTS_PATTERN.matcher(coefficientDef.trim()); + Matcher matcher = COEFFICIENTS_PATTERN.matcher(coefficientDef.trim()); if (log.isDebugEnabled()) { log.debug("constant to test = " + coefficientDef); } @@ -100,14 +99,12 @@ public class LengthWeightParemeterHelper { Double d = Double.valueOf(val); result.put(key, d); if (log.isDebugEnabled()) { - log.debug("detets coefficient " + key + '=' + - val); + log.debug("detects coefficient " + key + '=' + val); } } catch (NumberFormatException e) { // pas pu recupere le count... if (log.isWarnEnabled()) { - log.warn("could not parse dou" + COEFFICIENT_B + "le " + val + - " for coefficient " + key); + log.warn("could not parse dou" + COEFFICIENT_B + "le " + val + " for coefficient " + key); } } } @@ -301,16 +298,14 @@ public class LengthWeightParemeterHelper { try { engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE); - Double o = (Double) engine.eval(relation); + Double o = (Double) engine.eval("parseFloat(" + relation + ")"); if (log.isDebugEnabled()) { - log.debug("evaluation ok : " + relation + - " (" + variable + "=1) = " + o); + log.debug("evaluation ok : " + relation + " (" + variable + "=1) = " + o); } result = true; } catch (Exception e) { if (log.isDebugEnabled()) { - log.debug("evalution ko : " + relation + - ", reason : " + e.getMessage()); + log.debug("evalution ko : " + relation + ", reason : " + e.getMessage()); } } } @@ -337,7 +332,7 @@ public class LengthWeightParemeterHelper { engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE); Double o = null; try { - o = (Double) engine.eval(relation); + o = (Double) engine.eval("parseFloat(" + relation + ")"); } catch (ScriptException e) { if (log.isErrorEnabled()) { log.error("Could not compute value from " + relation); diff --git a/observe-entities/src/test/java/fr/ird/observe/ScriptTest.java b/observe-entities/src/test/java/fr/ird/observe/ScriptTest.java index 25a63db..4b8aca2 100644 --- a/observe-entities/src/test/java/fr/ird/observe/ScriptTest.java +++ b/observe-entities/src/test/java/fr/ird/observe/ScriptTest.java @@ -97,7 +97,7 @@ public class ScriptTest { c.setAttribute("a", a, ScriptContext.GLOBAL_SCOPE); c.setAttribute("x", x, ScriptContext.GLOBAL_SCOPE); c.setAttribute("b", b, ScriptContext.GLOBAL_SCOPE); - Double o = (Double) engine.eval("a*x^b"); + Double o = (Double) engine.eval("parseFloat(a*x^b)"); Assert.assertEquals(a * Math.pow(x, b), o, 5); } long t1 = System.nanoTime(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.