From 766b189fd03a7b5e3ffc5c12ed1fa993ff7236f2 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sun, 29 May 2011 20:55:15 +0000 Subject: [PATCH] CustomNumberEditor generically declares numberClass as subclass of Number (matching NumberUtils) git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4372 50f2f4bb-b051-0410-bef5-90022cba6387 --- .../beans/propertyeditors/CustomNumberEditor.java | 10 ++++------ .../beans/propertyeditors/CustomEditorTests.java | 7 +------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/org.springframework.beans/src/main/java/org/springframework/beans/propertyeditors/CustomNumberEditor.java b/org.springframework.beans/src/main/java/org/springframework/beans/propertyeditors/CustomNumberEditor.java index 6c1f55255f3..b1d960bbfc2 100644 --- a/org.springframework.beans/src/main/java/org/springframework/beans/propertyeditors/CustomNumberEditor.java +++ b/org.springframework.beans/src/main/java/org/springframework/beans/propertyeditors/CustomNumberEditor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,7 +46,7 @@ import org.springframework.util.StringUtils; */ public class CustomNumberEditor extends PropertyEditorSupport { - private final Class numberClass; + private final Class numberClass; private final NumberFormat numberFormat; @@ -67,7 +67,7 @@ public class CustomNumberEditor extends PropertyEditorSupport { * @see Integer#valueOf * @see Integer#toString */ - public CustomNumberEditor(Class numberClass, boolean allowEmpty) throws IllegalArgumentException { + public CustomNumberEditor(Class numberClass, boolean allowEmpty) throws IllegalArgumentException { this(numberClass, null, allowEmpty); } @@ -85,7 +85,7 @@ public class CustomNumberEditor extends PropertyEditorSupport { * @see java.text.NumberFormat#parse * @see java.text.NumberFormat#format */ - public CustomNumberEditor(Class numberClass, NumberFormat numberFormat, boolean allowEmpty) + public CustomNumberEditor(Class numberClass, NumberFormat numberFormat, boolean allowEmpty) throws IllegalArgumentException { if (numberClass == null || !Number.class.isAssignableFrom(numberClass)) { @@ -101,7 +101,6 @@ public class CustomNumberEditor extends PropertyEditorSupport { * Parse the Number from the given text, using the specified NumberFormat. */ @Override - @SuppressWarnings("unchecked") public void setAsText(String text) throws IllegalArgumentException { if (this.allowEmpty && !StringUtils.hasText(text)) { // Treat empty String as null value. @@ -121,7 +120,6 @@ public class CustomNumberEditor extends PropertyEditorSupport { * Coerce a Number value into the required target class, if necessary. */ @Override - @SuppressWarnings("unchecked") public void setValue(Object value) { if (value instanceof Number) { super.setValue(NumberUtils.convertNumberToTargetClass((Number) value, this.numberClass)); diff --git a/org.springframework.beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java b/org.springframework.beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java index d414ba38d4b..ea5a69fb461 100644 --- a/org.springframework.beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java +++ b/org.springframework.beans/src/test/java/org/springframework/beans/propertyeditors/CustomEditorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -424,11 +424,6 @@ public class CustomEditorTests { new CustomNumberEditor(null, true); } - @Test(expected=IllegalArgumentException.class) - public void testCustomNumberEditorCtorWithNonNumberType() throws Exception { - new CustomNumberEditor(String.class, true); - } - @Test public void testCustomNumberEditorWithAllowEmpty() { NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);