This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit d303fe41d33a8a370d7cca06878b995296a1e6e5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 1 17:17:26 2015 +0100 fixes #3607: NumberEditor does not deal well with signed number --- .../jaxx/widgets/number/NumberEditorHandler.java | 29 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/jaxx-widgets-number/src/main/java/org/nuiton/jaxx/widgets/number/NumberEditorHandler.java b/jaxx-widgets-number/src/main/java/org/nuiton/jaxx/widgets/number/NumberEditorHandler.java index 25c18ae..6a5168e 100644 --- a/jaxx-widgets-number/src/main/java/org/nuiton/jaxx/widgets/number/NumberEditorHandler.java +++ b/jaxx-widgets-number/src/main/java/org/nuiton/jaxx/widgets/number/NumberEditorHandler.java @@ -194,6 +194,11 @@ public class NumberEditorHandler implements UIHandler<NumberEditor> { textValid = matcher.matches(); + if (!textValid && model.isCanUseSign() && "-".equals(newText)) { + // limit case when we have only "-" + textValid = true; + } + } else { // check text validity "by hand" @@ -578,7 +583,13 @@ public class NumberEditorHandler implements UIHandler<NumberEditor> { @Override public Integer parse(String textValue) { - return Integer.parseInt(textValue); + Integer v; + if ("-".equals(textValue)) { + v = null; + } else { + v = Integer.parseInt(textValue); + } + return v; } }; numberFactories.put(int.class, integerSupport); @@ -609,7 +620,13 @@ public class NumberEditorHandler implements UIHandler<NumberEditor> { @Override public Float parse(String textValue) { - return Float.parseFloat(textValue); + Float v; + if ("-".equals(textValue)) { + v = null; + } else { + v = Float.parseFloat(textValue); + } + return v; } }; numberFactories.put(float.class, floatSupport); @@ -640,7 +657,13 @@ public class NumberEditorHandler implements UIHandler<NumberEditor> { @Override public Double parse(String textValue) { - return Double.parseDouble(textValue); + Double v; + if ("-".equals(textValue)) { + v = null; + } else { + v = Double.parseDouble(textValue); + } + return v; } }; numberFactories.put(double.class, doubleSupport); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.