You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vasily Zakharov (JIRA)" <ji...@apache.org> on 2007/03/21 03:49:32 UTC

[jira] Commented: (HARMONY-3453) [classlib][swing] JEditorPane.registerEditorKitForContentType(String, String, null) doesn't throw NPE

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

Vasily Zakharov commented on HARMONY-3453:
------------------------------------------

The test returns null on Harmony in all cases because another bug exists in Harmony, see HARMONY-3454.
However, that issue is not directly related to this one.


> [classlib][swing] JEditorPane.registerEditorKitForContentType(String, String, null) doesn't throw NPE
> -----------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3453
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3453
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib, Non-bug differences from RI
>            Reporter: Vasily Zakharov
>            Priority: Minor
>
> Consider the following test:
> import javax.swing.JEditorPane;
> public class Test {
>     public static void main(String args[]) throws Exception {
>         System.out.println(JEditorPane.createEditorKitForContentType("testContentType1"));
>         try {
>             JEditorPane.registerEditorKitForContentType("testContentType1", "MyEditorKit", null);
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>         System.out.println(JEditorPane.createEditorKitForContentType("testContentType1"));
>         JEditorPane.registerEditorKitForContentType("testContentType2", "MyEditorKit");
>         System.out.println(JEditorPane.createEditorKitForContentType("testContentType2"));
>     }
> }
> public class MyEditorKit extends javax.swing.text.DefaultEditorKit {
> }
> Output on RI:
> null
> java.lang.NullPointerException
>         at java.util.Hashtable.put(Unknown Source)
>         at javax.swing.JEditorPane.registerEditorKitForContentType(Unknown Source)
>         at TestNPE.main(TestNPE.java:8)
> MyEditorKit@1a46e30
> MyEditorKit@3e25a5
> Output on Harmony:
> null
> null
> null
> The specification says nothing about passing null classloader.
> The NPE occurs on RI, and doesn't occur on Harmony, it seems that RI uses Hashtable (that doesn't permit null keys/vaues) to store registered classloaders, and Harmony uses ArrayList.
> Also, as one may see, RI, besides throwing NPE, also registers the specified content type anyway (compare createEditorKitForContentType results before and after registration attempt). In my opinion, this behaviour is clearly a bug in RI. So my suggestion is to consider this issue a non-bug difference.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.