harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasily Zakharov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1755) [swing] javax.swing.table.JTableHeader.add(Component c, int index) throws IllegalArgumentException while RI throws NPE
Date Sun, 07 Jan 2007 23:45:27 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462889
] 

Vasily Zakharov commented on HARMONY-1755:
------------------------------------------

Oops, I was wrong. In fact, the problem is not reproducible for java.awt.Container.

Here's the output of a simple test on RI for Container:

Exception in thread "main" java.lang.IllegalArgumentException: illegal component position
        at java.awt.Container.addImpl(Container.java:999)
        at java.awt.Container.add(Container.java:390)
        at Test.main(Test.java:6)

And here's the output on RI for JTableHeader:

Exception in thread "main" java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:1019)
        at java.awt.Container.add(Container.java:390)
        at Test.main(Test.java:6)

It looks like index is checked first and for JTableHeader instances this checking somehow
passes and NPE occurs later.

Looks like Harmony is more consistent here and the checking is more accurate and strict.

So this issue is probably a non-bug difference, but a Swing/AWT expert opinion would be great
to hear.


> [swing] javax.swing.table.JTableHeader.add(Component c, int index) throws IllegalArgumentException
while RI throws NPE
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1755
>                 URL: https://issues.apache.org/jira/browse/HARMONY-1755
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vera Aristova
>            Priority: Minor
>         Attachments: patch1755
>
>
> javax.swing.table.JTableHeader.add(Component c, int index) throws IllegalArgumentException
while RI throws NPE.
> It's a compatibility issue of throwing exception order.
> test for reproducing:
> import junit.framework.TestCase;
> import javax.swing.table.JTableHeader;
> import java.awt.Component;
> public class test extends TestCase 
> {
> 	public void testAddComponentint() 
> 	{
> 		JTableHeader jth = new JTableHeader();
> 		int index = 1;
> 		try 
> 		{
> 			jth.add((Component) null, index);
> 		} 
> 		catch (NullPointerException e) 
> 		{// expected
> 		}
> 	}
> }
> OUTPUT:
> HARMONY
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundatio
> n or its licensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = r450941, (Sep 28 2006), Windows/ia32/msvc 1310, release build
> http://incubator.apache.org/harmony
> .E
> Time: 0.39
> There was 1 error:
> 1) testAddComponentint(test)java.lang.IllegalArgumentException: illegal componen
> t position
>         at java.awt.Container.addImpl(Container.java:392)
>         at java.awt.Container.add(Container.java:215)
>         at test.testAddComponentint(test.java:13)
>         at java.lang.reflect.VMReflection.invokeMethod(Native Method)
> FAILURES!!!
> Tests run: 1,  Failures: 0,  Errors: 1
> ------------------------------------------------------------------------
> SUN
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> .
> Time: 0.797
> OK (1 test)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message