You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ilya Okomin (JIRA)" <ji...@apache.org> on 2006/08/14 14:55:15 UTC
[jira] Updated: (HARMONY-1113) [classlib][beans]Harmony does not
throw IllegalArgumentException for
java.beans.PropertyEditorSupport.setAsText() while RI does.
[ http://issues.apache.org/jira/browse/HARMONY-1113?page=all ]
Ilya Okomin updated HARMONY-1113:
---------------------------------
Attachment: PropertyEditorSupportTest_1.patch
Fix for the test case patch, this test case has correct package name. Previous patch can be considered as invalid.
Note: there are three tests on this issue, that have different pre-conditions but checks the same algorithmic step. I think it makes sence to separate them into 3 small test cases (as it is now), rather to have one big test case.
> [classlib][beans]Harmony does not throw IllegalArgumentException for java.beans.PropertyEditorSupport.setAsText() while RI does.
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-1113
> URL: http://issues.apache.org/jira/browse/HARMONY-1113
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Ilya Okomin
> Assigned To: Mikhail Loenko
> Priority: Minor
> Attachments: PropertyEditorSupport.patch, PropertyEditorSupportTest.patch, PropertyEditorSupportTest_1.patch
>
>
> Harmony does not throw IllegalArgumentException for java.beans.PropertyEditorSupport.setAsText(String) when parameter is invalid
> while RI throws IllegalArgumentException.
> Java 1.5.0 spec says:"May raise java.lang.IllegalArgumentException if either the String is badly formatted or if this kind of property can't be expressed as text."
> =============test.java==============
> import java.beans.PropertyEditorSupport;
> public class test {
> public static void main(String args[]) {
> PropertyEditorSupport undefPropertyEditorSupport = new
> PropertyEditorSupport();
> try {
> System.err.print("value is null: ");
> undefPropertyEditorSupport.setAsText("string");
> System.err.println("failed: IllegalArgumentException expected, but
> nothing was thrown!\n");
> } catch (IllegalArgumentException eE) {
> System.err.println("success!");
> eE.printStackTrace();
> }
> PropertyEditorSupport defPropertyEditorSupport = new
> PropertyEditorSupport();
> try {
> defPropertyEditorSupport.setValue(new Object());
> System.err.print("value is Object: ");
> defPropertyEditorSupport.setAsText("string");
> System.err.println("failed: IllegalArgumentException expected, but
> nothing was thrown!\n");
> } catch (IllegalArgumentException eE) {
> System.err.println("success!");
> eE.printStackTrace();
> }
> defPropertyEditorSupport = new PropertyEditorSupport();
> try {
> defPropertyEditorSupport.setValue(new String());
> System.err.print("value is String: ");
> defPropertyEditorSupport.setAsText("string");
> System.err.println("success!");
> } catch (IllegalArgumentException eE) {
> System.err.println("failed!");
> eE.printStackTrace();
> }
> }
> }
> ===========================================
> Output:
> Harmony:
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = r424571, (Jul 22 2006), Windows/ia32/msvc 1310, release build
> http://incubator.apache.org/harmony
> value is null: failed: IllegalArgumentException expected, but nothing was
> thrown!
> value is Object: failed: IllegalArgumentException expected, but nothing was
> thrown!
> value is String: success!
> RI:
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75,
> GC: System optimized over throughput (initial strategy singleparpar))
> value is null: success!
> java.lang.IllegalArgumentException: string
> at
> java.beans.PropertyEditorSupport.setAsText(PropertyEditorSupport.java:166)
> at bugzilla.Test9433.main(Test9433.java:11)
> value is Object: success!
> java.lang.IllegalArgumentException: string
> at
> java.beans.PropertyEditorSupport.setAsText(PropertyEditorSupport.java:166)
> at bugzilla.Test9433.main(Test9433.java:23)
> value is String: success!
> For this reason, suggested solution is to check in setAsText() method if the
> value is instanse of String, in case of true - setValue, otherwise - throw an
> IAE following the spec, "...this kind of property can't be expressed as text".
> Suggested patch and regression test can be found in the attach
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira