aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/data/util
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2013-08-19 12:37:52 +0300
committerArtur Signell <artur@vaadin.com>2013-08-19 12:37:52 +0300
commitacc12f857d04d9b341dec700ffa469ca96d30ad8 (patch)
tree43e4583b45f1ef96d9fc2919746c56f8dfff7317 /server/src/com/vaadin/data/util
parent1420d23cef01bbc4e07dba693fe4717b531cd951 (diff)
parent99c7d0b3cde116bf31b00bd31f62f9f4920b1762 (diff)
downloadvaadin-framework-acc12f857d04d9b341dec700ffa469ca96d30ad8.tar.gz
vaadin-framework-acc12f857d04d9b341dec700ffa469ca96d30ad8.zip
Merge changes from origin/7.1
7cb49d1 Fix invisible calendar actions menu #12181 44aacf4 Clarify Embedded javadoc (#12290) 59a043b Fix actions in action menu appearing in random order #12250 5d57129 Fix calendar click events on context menu #12297 f5e3663 Document multiple load semantics in @StyleSheet and @JavaScript (#12200) 17bb700 Add optional OSGi Import-Package for javax.validation (#12301) ea148c8 Disable all logging if production mode is enabled (#12299) 326bbb5 Fixes parsing of multiple push messages in streaming mode (#12197) 7fc1054 Ensure StringToIntegerConverter rejects values outside range of int (#12230) f587298 Improve URI fragment listener javadocs (#12296) d97cfbc Refine handling of null and empty URI fragments (#12207) 99c7d0b Show tooltips for ordered layout captions (#10046) Change-Id: Ifb2e0131fde769e2620b7ba03755a5ba324d8aaf
Diffstat (limited to 'server/src/com/vaadin/data/util')
-rw-r--r--server/src/com/vaadin/data/util/converter/StringToIntegerConverter.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/server/src/com/vaadin/data/util/converter/StringToIntegerConverter.java b/server/src/com/vaadin/data/util/converter/StringToIntegerConverter.java
index bc436112fe..f6f668ad4d 100644
--- a/server/src/com/vaadin/data/util/converter/StringToIntegerConverter.java
+++ b/server/src/com/vaadin/data/util/converter/StringToIntegerConverter.java
@@ -62,7 +62,22 @@ public class StringToIntegerConverter extends
Class<? extends Integer> targetType, Locale locale)
throws ConversionException {
Number n = convertToNumber(value, targetType, locale);
- return n == null ? null : n.intValue();
+
+ if (n == null) {
+ return null;
+ }
+
+ int intValue = n.intValue();
+ if (intValue == n.longValue()) {
+ // If the value of n is outside the range of long, the return value
+ // of longValue() is either Long.MIN_VALUE or Long.MAX_VALUE. The
+ // above comparison promotes int to long and thus does not need to
+ // consider wrap-around.
+ return intValue;
+ }
+
+ throw new ConversionException("Could not convert '" + value + "' to "
+ + Integer.class.getName() + ": value out of range");
}