You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Loenko (JIRA)" <ji...@apache.org> on 2006/08/14 12:05:22 UTC

[jira] Assigned: (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 ]

Mikhail Loenko reassigned HARMONY-1113:
---------------------------------------

    Assignee: Mikhail Loenko

> [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
>
>
> 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