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-2605) [classlib][swing][plaf] javax.swing.plaf.basic.BasicCheckBoxUI.getMaximumSize(...) throws unexpected ClassCastException
Date Wed, 17 Jan 2007 22:46:30 GMT

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

Vasily Zakharov commented on HARMONY-2605:

If JScrollBar() in the test is replaced with JLabel(), the test throws the same ClassCastException
on RI.

So it seems RI implementation follows the same general logic Harmony does, but makes some
additional checks before making a cast, and in some cases omits the cast. Moreover, in these
cases (for example, for JScrollBar) RI returns null, which means (see specification): "If
null is returned, the preferred size will be calculated by the component's layout manager

So, in some cases both RI and Harmony try to calculate size themselves, and both throw ClassCastException,
and in some cases Harmony tries to calculate the size itself, while RI delegates this task
to component's layout manager.

This is sure a compatibility issue, and probably both behaviors are correct. I'm not sure
if we should fix this issue or close it as a non-bug difference.
Moreover, I have no idea on how to fix it, as the criteria RI uses to determine whether it
would calculate size itself or delegate to layout manager, are unclear.

HARMONY-2663 (1) is a similar issue.

> [classlib][swing][plaf] javax.swing.plaf.basic.BasicCheckBoxUI.getMaximumSize(...) throws
unexpected ClassCastException
> -----------------------------------------------------------------------------------------------------------------------
>                 Key: HARMONY-2605
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2605
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Anton Luht
>            Priority: Minor
> javax.swing.plaf.basic.BasicCheckBoxUI.getMaximumSize(...) throws unexpected ClassCastException
while RI doesn't
> Code to reproduce:
> import javax.swing.*;
> import javax.swing.plaf.basic.*;
> public class Test {
>    public static void main(String[] argv) {
>       new BasicCheckBoxUI().getMaximumSize(new JScrollBar());
>    }
> }
> Output in RI: 
> 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)
> <none>
> Output in 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 = r485537, (Dec 11 2006), Windows/ia32/msvc 1310, debug build
> http://incubator.apache.org/harmony
> Uncaught exception in main:
> java.lang.ClassCastException
>         at javax.swing.plaf.basic.BasicRadioButtonUI.getPreferredSize(BasicRadio
> ButtonUI.java)
>         at javax.swing.plaf.ComponentUI.getMaximumSize(ComponentUI.java)
>         at Test.main(Test.java:6)

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


View raw message