harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Okomin (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1113) [classlib][beans]Harmony does not throw IllegalArgumentException for java.beans.PropertyEditorSupport.setAsText() while RI does.
Date Wed, 09 Aug 2006 09:52:14 GMT
[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
            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

        

Mime
View raw message