Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8032066

Serialized form has broken links to non private inner classes of package private

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 7u40
    • Fix Version/s: 9
    • Component/s: tools
    • Subcomponent:
    • Resolved In Build:
      b08
    • Verification:
      Verified

      Description

      When generating the serialized-form.html page, Javadoc mistakenly creates
      broken links to non private inner classes of package-private classes.
      The links to package private classes themselves are not generated which is
      correct but if the package private class contains any inner class that is not
      private, Javadoc will create links to them on the serialized-form.html page
      which will obviously be broken.

      Either not include the inner classes of package private classes on the
      serialized-form.html or they should not have links (just plain text).
      As an example, when generating Javadoc for the following class for the ESDK
      API of JDeveloper, link to SplitButton.FilterActionEvents gets generated on the serialized-form.html page.

      ==================================================
      package oracle.javatools.ui.table;
      .
      ...
      .
      class SplitButton extends JToggleButton {
      .
      ...
      .
      private static class FilterActionEvents
      implements ActionListener, Serializable {
      .
      ...
      .
      }
      .
      ...
      .
      } .

        Activity

        Hide
        igerasim Ivan Gerasimov added a comment -
        to reproduce the issue the following code can be used:

        --- my/MyPubl.java ---------------------------
        package my;

        public class MyPubl implements java.io.Serializable {
        }

        class MyPkgPriv {
            protected static class MyInnPriv implements java.io.Serializable {
            }
        }
        --------------------------------------------------------

        When processed with javadoc, there is serialized-form.html file created, which contains a link to my.MyPkgPriv.MyInnPriv class description page, which does not exist.
        Show
        igerasim Ivan Gerasimov added a comment - to reproduce the issue the following code can be used: --- my/MyPubl.java --------------------------- package my; public class MyPubl implements java.io.Serializable { } class MyPkgPriv {     protected static class MyInnPriv implements java.io.Serializable {     } } -------------------------------------------------------- When processed with javadoc, there is serialized-form.html file created, which contains a link to my.MyPkgPriv.MyInnPriv class description page, which does not exist.
        Hide
        igerasim Ivan Gerasimov added a comment -
        The issue is also reproduced with jdk9-b01
        Show
        igerasim Ivan Gerasimov added a comment - The issue is also reproduced with jdk9-b01
        Hide
        hgupdate HG Updates added a comment -
        URL: http://hg.openjdk.java.net/jdk9/dev/langtools/rev/ec1cfd55bf28
        User: bpatel
        Date: 2014-04-02 06:58:25 +0000
        Show
        hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/dev/langtools/rev/ec1cfd55bf28 User: bpatel Date: 2014-04-02 06:58:25 +0000
        Hide
        hgupdate HG Updates added a comment -
        URL: http://hg.openjdk.java.net/jdk9/jdk9/langtools/rev/ec1cfd55bf28
        User: lana
        Date: 2014-04-09 18:27:58 +0000
        Show
        hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/langtools/rev/ec1cfd55bf28 User: lana Date: 2014-04-09 18:27:58 +0000

          People

          • Assignee:
            bpatel Bhavesh Patel
            Reporter:
            asaha Abhijit Saha
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: