6786690: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - DL tag and nesting issue

Fri, 27 Feb 2009 18:57:17 -0800

author
bpatel
date
Fri, 27 Feb 2009 18:57:17 -0800
changeset 233
5240b1120530
parent 232
1fbc1cc6e260
child 234
2f4c4900ca2b

6786690: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - DL tag and nesting issue
Reviewed-by: jjg

src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml file | annotate | diff | comparison | revisions
test/com/sun/javadoc/AuthorDD/AuthorDD.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHref/TestHref.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testIndex/TestIndex.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testInterface/TestInterface.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testLinkOption/TestLinkOption.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java file | annotate | diff | comparison | revisions
test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java	Tue Feb 24 17:48:53 2009 -0800
     1.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java	Fri Feb 27 18:57:17 2009 -0800
     1.3 @@ -25,11 +25,11 @@
     1.4  
     1.5  package com.sun.tools.doclets.formats.html;
     1.6  
     1.7 -import com.sun.tools.doclets.internal.toolkit.util.*;
     1.8 +import java.io.*;
     1.9 +import java.util.*;
    1.10  
    1.11  import com.sun.javadoc.*;
    1.12 -import java.io.*;
    1.13 -import java.util.*;
    1.14 +import com.sun.tools.doclets.internal.toolkit.util.*;
    1.15  
    1.16  /**
    1.17   * Generate Index for all the Member Names with Indexing in
    1.18 @@ -100,18 +100,22 @@
    1.19          h2();
    1.20          strong(unicode.toString());
    1.21          h2End();
    1.22 -        dl();
    1.23 -        for (int i = 0; i < memberlist.size(); i++) {
    1.24 -            Doc element = memberlist.get(i);
    1.25 -            if (element instanceof MemberDoc) {
    1.26 -                printDescription((MemberDoc)element);
    1.27 -            } else if (element instanceof ClassDoc) {
    1.28 -                printDescription((ClassDoc)element);
    1.29 -            } else if (element instanceof PackageDoc) {
    1.30 -                printDescription((PackageDoc)element);
    1.31 +        int memberListSize = memberlist.size();
    1.32 +        // Display the list only if there are elements to be displayed.
    1.33 +        if (memberListSize > 0) {
    1.34 +            dl();
    1.35 +            for (int i = 0; i < memberListSize; i++) {
    1.36 +                Doc element = memberlist.get(i);
    1.37 +                if (element instanceof MemberDoc) {
    1.38 +                    printDescription((MemberDoc)element);
    1.39 +                } else if (element instanceof ClassDoc) {
    1.40 +                    printDescription((ClassDoc)element);
    1.41 +                } else if (element instanceof PackageDoc) {
    1.42 +                    printDescription((PackageDoc)element);
    1.43 +                }
    1.44              }
    1.45 +            dlEnd();
    1.46          }
    1.47 -        dlEnd();
    1.48          hr();
    1.49      }
    1.50  
    1.51 @@ -126,8 +130,10 @@
    1.52          printPackageLink(pkg, Util.getPackageName(pkg), true);
    1.53          print(" - ");
    1.54          print(configuration.getText("doclet.package") + " " + pkg.name());
    1.55 +        dtEnd();
    1.56          dd();
    1.57          printSummaryComment(pkg);
    1.58 +        ddEnd();
    1.59      }
    1.60  
    1.61      /**
    1.62 @@ -140,8 +146,10 @@
    1.63          printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_INDEX, cd, true));
    1.64          print(" - ");
    1.65          printClassInfo(cd);
    1.66 +        dtEnd();
    1.67          dd();
    1.68          printComment(cd);
    1.69 +        ddEnd();
    1.70      }
    1.71  
    1.72      /**
    1.73 @@ -178,8 +186,10 @@
    1.74          println(" - ");
    1.75          printMemberDesc(member);
    1.76          println();
    1.77 +        dtEnd();
    1.78          dd();
    1.79          printComment(member);
    1.80 +        ddEnd();
    1.81          println();
    1.82      }
    1.83  
     2.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java	Tue Feb 24 17:48:53 2009 -0800
     2.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java	Fri Feb 27 18:57:17 2009 -0800
     2.3 @@ -25,19 +25,20 @@
     2.4  
     2.5  package com.sun.tools.doclets.formats.html;
     2.6  
     2.7 +import java.lang.reflect.Modifier;
     2.8 +import java.util.*;
     2.9 +
    2.10 +import com.sun.javadoc.*;
    2.11  import com.sun.tools.doclets.internal.toolkit.util.*;
    2.12  import com.sun.tools.doclets.internal.toolkit.taglets.*;
    2.13  
    2.14 -import com.sun.javadoc.*;
    2.15 -import java.util.*;
    2.16 -import java.lang.reflect.Modifier;
    2.17 -
    2.18  /**
    2.19   * The base class for member writers.
    2.20   *
    2.21   * @author Robert Field
    2.22   * @author Atul M Dambalkar
    2.23   * @author Jamie Ho (Re-write)
    2.24 + * @author Bhavesh Patel (Modified)
    2.25   */
    2.26  public abstract class AbstractMemberWriter {
    2.27  
    2.28 @@ -232,10 +233,26 @@
    2.29          }
    2.30      }
    2.31  
    2.32 +    /**
    2.33 +     * Print the deprecated output for the given member.
    2.34 +     *
    2.35 +     * @param member the member being documented.
    2.36 +     */
    2.37 +    protected void printDeprecated(ProgramElementDoc member) {
    2.38 +        String output = (new DeprecatedTaglet()).getTagletOutput(member,
    2.39 +            writer.getTagletWriterInstance(false)).toString().trim();
    2.40 +        if (!output.isEmpty()) {
    2.41 +            writer.printMemberDetailsListStartTag();
    2.42 +            writer.print(output);
    2.43 +        }
    2.44 +    }
    2.45 +
    2.46      protected void printComment(ProgramElementDoc member) {
    2.47          if (member.inlineTags().length > 0) {
    2.48 +            writer.printMemberDetailsListStartTag();
    2.49              writer.dd();
    2.50              writer.printInlineComment(member);
    2.51 +            writer.ddEnd();
    2.52          }
    2.53      }
    2.54  
    2.55 @@ -267,6 +284,14 @@
    2.56      }
    2.57  
    2.58      /**
    2.59 +     * Write the member footer.
    2.60 +     */
    2.61 +    protected void printMemberFooter() {
    2.62 +        writer.printMemberDetailsListEndTag();
    2.63 +        assert !writer.getMemberDetailsListPrinted();
    2.64 +    }
    2.65 +
    2.66 +    /**
    2.67       * Forward to containing writer
    2.68       */
    2.69      public void printSummaryHeader(ClassDoc cd) {
     3.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     3.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     3.3 @@ -25,10 +25,10 @@
     3.4  
     3.5  package com.sun.tools.doclets.formats.html;
     3.6  
     3.7 +import java.io.*;
     3.8 +
     3.9 +import com.sun.javadoc.*;
    3.10  import com.sun.tools.doclets.internal.toolkit.*;
    3.11 -import com.sun.javadoc.*;
    3.12 -
    3.13 -import java.io.*;
    3.14  
    3.15  /**
    3.16   * Writes annotation type optional member documentation in HTML format.
    3.17 @@ -63,14 +63,20 @@
    3.18       * {@inheritDoc}
    3.19       */
    3.20      public void writeDefaultValueInfo(MemberDoc member) {
    3.21 -        writer.dl();
    3.22 -        writer.dt();
    3.23 -        writer.strong(ConfigurationImpl.getInstance().
    3.24 -            getText("doclet.Default"));
    3.25 -        writer.dd();
    3.26 -        writer.print(((AnnotationTypeElementDoc) member).defaultValue());
    3.27 -        writer.ddEnd();
    3.28 -        writer.dlEnd();
    3.29 +        if (((AnnotationTypeElementDoc) member).defaultValue() != null) {
    3.30 +            writer.printMemberDetailsListStartTag();
    3.31 +            writer.dd();
    3.32 +            writer.dl();
    3.33 +            writer.dt();
    3.34 +            writer.strong(ConfigurationImpl.getInstance().
    3.35 +                getText("doclet.Default"));
    3.36 +            writer.dtEnd();
    3.37 +            writer.dd();
    3.38 +            writer.print(((AnnotationTypeElementDoc) member).defaultValue());
    3.39 +            writer.ddEnd();
    3.40 +            writer.dlEnd();
    3.41 +            writer.ddEnd();
    3.42 +        }
    3.43      }
    3.44  
    3.45      /**
     4.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     4.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     4.3 @@ -25,11 +25,10 @@
     4.4  
     4.5  package com.sun.tools.doclets.formats.html;
     4.6  
     4.7 +import java.io.*;
     4.8 +
     4.9 +import com.sun.javadoc.*;
    4.10  import com.sun.tools.doclets.internal.toolkit.*;
    4.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
    4.12 -import com.sun.javadoc.*;
    4.13 -
    4.14 -import java.io.*;
    4.15  
    4.16  /**
    4.17   * Writes annotation type required member documentation in HTML format.
    4.18 @@ -134,17 +133,14 @@
    4.19              strong(member.name());
    4.20          }
    4.21          writer.preEnd();
    4.22 -        writer.dl();
    4.23 +        assert !writer.getMemberDetailsListPrinted();
    4.24      }
    4.25  
    4.26      /**
    4.27       * {@inheritDoc}
    4.28       */
    4.29      public void writeComments(MemberDoc member) {
    4.30 -        if (member.inlineTags().length > 0) {
    4.31 -            writer.dd();
    4.32 -            writer.printInlineComment(member);
    4.33 -        }
    4.34 +        printComment(member);
    4.35      }
    4.36  
    4.37      /**
    4.38 @@ -160,7 +156,7 @@
    4.39       * Write the annotation type member footer.
    4.40       */
    4.41      public void writeMemberFooter() {
    4.42 -        writer.dlEnd();
    4.43 +        printMemberFooter();
    4.44      }
    4.45  
    4.46      /**
    4.47 @@ -267,9 +263,7 @@
    4.48       * {@inheritDoc}
    4.49       */
    4.50      public void writeDeprecated(MemberDoc member) {
    4.51 -        print(((TagletOutputImpl)
    4.52 -            (new DeprecatedTaglet()).getTagletOutput(member,
    4.53 -            writer.getTagletWriterInstance(false))).toString());
    4.54 +        printDeprecated(member);
    4.55      }
    4.56  
    4.57      private Type getType(MemberDoc member) {
     5.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     5.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     5.3 @@ -25,10 +25,10 @@
     5.4  
     5.5  package com.sun.tools.doclets.formats.html;
     5.6  
     5.7 +import com.sun.javadoc.*;
     5.8  import com.sun.tools.doclets.internal.toolkit.*;
     5.9  import com.sun.tools.doclets.internal.toolkit.util.*;
    5.10  import com.sun.tools.doclets.internal.toolkit.builders.*;
    5.11 -import com.sun.javadoc.*;
    5.12  
    5.13  /**
    5.14   * Generate the Class Information Page.
    5.15 @@ -165,8 +165,6 @@
    5.16       * {@inheritDoc}
    5.17       */
    5.18      public void writeAnnotationTypeSignature(String modifiers) {
    5.19 -        dl();
    5.20 -        dt();
    5.21          preNoNewLine();
    5.22          writeAnnotationInfo(annotationType);
    5.23          print(modifiers);
    5.24 @@ -178,7 +176,6 @@
    5.25          } else {
    5.26              strong(name);
    5.27          }
    5.28 -        dlEnd();
    5.29          preEnd();
    5.30          p();
    5.31      }
    5.32 @@ -334,6 +331,7 @@
    5.33              } else {
    5.34                  strongText("doclet.Enclosing_Class");
    5.35              }
    5.36 +            dtEnd();
    5.37              dd();
    5.38              printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS, outerClass,
    5.39                  false));
     6.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     6.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     6.3 @@ -25,12 +25,12 @@
     6.4  
     6.5  package com.sun.tools.doclets.formats.html;
     6.6  
     6.7 +import java.util.*;
     6.8 +
     6.9 +import com.sun.javadoc.*;
    6.10  import com.sun.tools.doclets.internal.toolkit.*;
    6.11  import com.sun.tools.doclets.internal.toolkit.util.*;
    6.12  import com.sun.tools.doclets.internal.toolkit.builders.*;
    6.13 -import com.sun.javadoc.*;
    6.14 -
    6.15 -import java.util.*;
    6.16  import com.sun.tools.doclets.internal.toolkit.taglets.*;
    6.17  
    6.18  /**
    6.19 @@ -171,8 +171,6 @@
    6.20       */
    6.21      public void writeClassSignature(String modifiers) {
    6.22          boolean isInterface = classDoc.isInterface();
    6.23 -        dl();
    6.24 -        dt();
    6.25          preNoNewLine();
    6.26          writeAnnotationInfo(classDoc);
    6.27          print(modifiers);
    6.28 @@ -191,7 +189,7 @@
    6.29              Type superclass = Util.getFirstVisibleSuperClass(classDoc,
    6.30                  configuration());
    6.31              if (superclass != null) {
    6.32 -                dt();
    6.33 +                println();
    6.34                  print("extends ");
    6.35                  printLink(new LinkInfoImpl(
    6.36                      LinkInfoImpl.CONTEXT_CLASS_SIGNATURE_PARENT_NAME,
    6.37 @@ -208,7 +206,7 @@
    6.38                      continue;
    6.39                  }
    6.40                  if (counter == 0) {
    6.41 -                    dt();
    6.42 +                    println();
    6.43                      print(isInterface? "extends " : "implements ");
    6.44                  } else {
    6.45                      print(", ");
    6.46 @@ -219,7 +217,6 @@
    6.47                  counter++;
    6.48              }
    6.49          }
    6.50 -        dlEnd();
    6.51          preEnd();
    6.52          p();
    6.53      }
    6.54 @@ -342,6 +339,7 @@
    6.55              TagletOutput output = (new ParamTaglet()).getTagletOutput(classDoc,
    6.56                  getTagletWriterInstance(false));
    6.57              print(output.toString());
    6.58 +            dtEnd();
    6.59              dlEnd();
    6.60          }
    6.61      }
    6.62 @@ -360,8 +358,10 @@
    6.63                  dl();
    6.64                  dt();
    6.65                  strongText("doclet.Subclasses");
    6.66 +                dtEnd();
    6.67                  writeClassLinks(LinkInfoImpl.CONTEXT_SUBCLASSES,
    6.68                      subclasses);
    6.69 +                dlEnd();
    6.70              }
    6.71          }
    6.72      }
    6.73 @@ -376,8 +376,10 @@
    6.74                  dl();
    6.75                  dt();
    6.76                  strongText("doclet.Subinterfaces");
    6.77 +                dtEnd();
    6.78                  writeClassLinks(LinkInfoImpl.CONTEXT_SUBINTERFACES,
    6.79                      subInterfaces);
    6.80 +                dlEnd();
    6.81              }
    6.82          }
    6.83      }
    6.84 @@ -398,8 +400,10 @@
    6.85              dl();
    6.86              dt();
    6.87              strongText("doclet.Implementing_Classes");
    6.88 +            dtEnd();
    6.89              writeClassLinks(LinkInfoImpl.CONTEXT_IMPLEMENTED_CLASSES,
    6.90                  implcl);
    6.91 +            dlEnd();
    6.92          }
    6.93      }
    6.94  
    6.95 @@ -414,8 +418,10 @@
    6.96              dl();
    6.97              dt();
    6.98              strongText("doclet.All_Implemented_Interfaces");
    6.99 +            dtEnd();
   6.100              writeClassLinks(LinkInfoImpl.CONTEXT_IMPLEMENTED_INTERFACES,
   6.101                  interfaceArray);
   6.102 +            dlEnd();
   6.103          }
   6.104      }
   6.105  
   6.106 @@ -430,8 +436,10 @@
   6.107              dl();
   6.108              dt();
   6.109              strongText("doclet.All_Superinterfaces");
   6.110 +            dtEnd();
   6.111              writeClassLinks(LinkInfoImpl.CONTEXT_SUPER_INTERFACES,
   6.112                  interfaceArray);
   6.113 +            dlEnd();
   6.114          }
   6.115      }
   6.116  
   6.117 @@ -455,7 +463,6 @@
   6.118              }
   6.119          }
   6.120          ddEnd();
   6.121 -        dlEnd();
   6.122      }
   6.123  
   6.124      protected void navLinkTree() {
   6.125 @@ -574,6 +581,7 @@
   6.126              } else {
   6.127                  strongText("doclet.Enclosing_Class");
   6.128              }
   6.129 +            dtEnd();
   6.130              dd();
   6.131              printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS, outerClass,
   6.132                  false));
     7.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     7.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     7.3 @@ -25,12 +25,12 @@
     7.4  
     7.5  package com.sun.tools.doclets.formats.html;
     7.6  
     7.7 +import java.io.*;
     7.8 +import java.util.*;
     7.9 +
    7.10 +import com.sun.javadoc.*;
    7.11  import com.sun.tools.doclets.internal.toolkit.*;
    7.12  import com.sun.tools.doclets.internal.toolkit.util.*;
    7.13 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
    7.14 -import com.sun.javadoc.*;
    7.15 -import java.util.*;
    7.16 -import java.io.*;
    7.17  
    7.18  /**
    7.19   * Writes constructor documentation.
    7.20 @@ -149,7 +149,7 @@
    7.21          writeParameters(constructor);
    7.22          writeExceptions(constructor);
    7.23          writer.preEnd();
    7.24 -        writer.dl();
    7.25 +        assert !writer.getMemberDetailsListPrinted();
    7.26      }
    7.27  
    7.28      /**
    7.29 @@ -158,12 +158,7 @@
    7.30       * @param constructor the constructor being documented.
    7.31       */
    7.32      public void writeDeprecated(ConstructorDoc constructor) {
    7.33 -        String output = ((TagletOutputImpl)
    7.34 -            (new DeprecatedTaglet()).getTagletOutput(constructor,
    7.35 -            writer.getTagletWriterInstance(false))).toString();
    7.36 -        if (output != null && output.trim().length() > 0) {
    7.37 -            writer.print(output);
    7.38 -        }
    7.39 +        printDeprecated(constructor);
    7.40      }
    7.41  
    7.42      /**
    7.43 @@ -172,10 +167,7 @@
    7.44       * @param constructor the constructor being documented.
    7.45       */
    7.46      public void writeComments(ConstructorDoc constructor) {
    7.47 -        if (constructor.inlineTags().length > 0) {
    7.48 -            writer.dd();
    7.49 -            writer.printInlineComment(constructor);
    7.50 -        }
    7.51 +        printComment(constructor);
    7.52      }
    7.53  
    7.54      /**
    7.55 @@ -191,7 +183,7 @@
    7.56       * Write the constructor footer.
    7.57       */
    7.58      public void writeConstructorFooter() {
    7.59 -        writer.dlEnd();
    7.60 +        printMemberFooter();
    7.61      }
    7.62  
    7.63      /**
     8.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     8.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     8.3 @@ -25,12 +25,11 @@
     8.4  
     8.5  package com.sun.tools.doclets.formats.html;
     8.6  
     8.7 +import java.io.*;
     8.8 +
     8.9 +import com.sun.javadoc.*;
    8.10  import com.sun.tools.doclets.internal.toolkit.*;
    8.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
    8.12  import com.sun.tools.doclets.internal.toolkit.util.*;
    8.13 -import com.sun.javadoc.*;
    8.14 -
    8.15 -import java.io.*;
    8.16  
    8.17  /**
    8.18   * Writes enum constant documentation in HTML format.
    8.19 @@ -146,26 +145,21 @@
    8.20              strong(enumConstant.name());
    8.21          }
    8.22          writer.preEnd();
    8.23 -        writer.dl();
    8.24 +        assert !writer.getMemberDetailsListPrinted();
    8.25      }
    8.26  
    8.27      /**
    8.28       * {@inheritDoc}
    8.29       */
    8.30      public void writeDeprecated(FieldDoc enumConstant) {
    8.31 -        print(((TagletOutputImpl)
    8.32 -            (new DeprecatedTaglet()).getTagletOutput(enumConstant,
    8.33 -            writer.getTagletWriterInstance(false))).toString());
    8.34 +        printDeprecated(enumConstant);
    8.35      }
    8.36  
    8.37      /**
    8.38       * {@inheritDoc}
    8.39       */
    8.40      public void writeComments(FieldDoc enumConstant) {
    8.41 -        if (enumConstant.inlineTags().length > 0) {
    8.42 -            writer.dd();
    8.43 -            writer.printInlineComment(enumConstant);
    8.44 -        }
    8.45 +        printComment(enumConstant);
    8.46      }
    8.47  
    8.48      /**
    8.49 @@ -179,7 +173,7 @@
    8.50       * {@inheritDoc}
    8.51       */
    8.52      public void writeEnumConstantFooter() {
    8.53 -        writer.dlEnd();
    8.54 +        printMemberFooter();
    8.55      }
    8.56  
    8.57      /**
     9.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
     9.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
     9.3 @@ -25,12 +25,11 @@
     9.4  
     9.5  package com.sun.tools.doclets.formats.html;
     9.6  
     9.7 +import java.io.*;
     9.8 +
     9.9 +import com.sun.javadoc.*;
    9.10  import com.sun.tools.doclets.internal.toolkit.*;
    9.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
    9.12  import com.sun.tools.doclets.internal.toolkit.util.*;
    9.13 -import com.sun.javadoc.*;
    9.14 -
    9.15 -import java.io.*;
    9.16  
    9.17  /**
    9.18   * Writes field documentation in HTML format.
    9.19 @@ -156,7 +155,7 @@
    9.20              strong(field.name());
    9.21          }
    9.22          writer.preEnd();
    9.23 -        writer.dl();
    9.24 +        assert !writer.getMemberDetailsListPrinted();
    9.25      }
    9.26  
    9.27      /**
    9.28 @@ -165,9 +164,7 @@
    9.29       * @param field the field being documented.
    9.30       */
    9.31      public void writeDeprecated(FieldDoc field) {
    9.32 -        print(((TagletOutputImpl)
    9.33 -            (new DeprecatedTaglet()).getTagletOutput(field,
    9.34 -            writer.getTagletWriterInstance(false))).toString());
    9.35 +        printDeprecated(field);
    9.36      }
    9.37  
    9.38      /**
    9.39 @@ -178,10 +175,12 @@
    9.40      public void writeComments(FieldDoc field) {
    9.41          ClassDoc holder = field.containingClass();
    9.42          if (field.inlineTags().length > 0) {
    9.43 +            writer.printMemberDetailsListStartTag();
    9.44              if (holder.equals(classdoc) ||
    9.45                  (! (holder.isPublic() || Util.isLinkable(holder, configuration())))) {
    9.46                  writer.dd();
    9.47                  writer.printInlineComment(field);
    9.48 +                writer.ddEnd();
    9.49              } else {
    9.50                  String classlink = writer.codeText(
    9.51                      writer.getDocLink(LinkInfoImpl.CONTEXT_FIELD_DOC_COPY,
    9.52 @@ -196,6 +195,7 @@
    9.53                  writer.ddEnd();
    9.54                  writer.dd();
    9.55                  writer.printInlineComment(field);
    9.56 +                writer.ddEnd();
    9.57              }
    9.58          }
    9.59      }
    9.60 @@ -213,7 +213,7 @@
    9.61       * Write the field footer.
    9.62       */
    9.63      public void writeFieldFooter() {
    9.64 -        writer.dlEnd();
    9.65 +        printMemberFooter();
    9.66      }
    9.67  
    9.68      /**
    10.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Tue Feb 24 17:48:53 2009 -0800
    10.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Fri Feb 27 18:57:17 2009 -0800
    10.3 @@ -24,17 +24,16 @@
    10.4   */
    10.5  
    10.6  package com.sun.tools.doclets.formats.html;
    10.7 -import com.sun.tools.doclets.formats.html.markup.*;
    10.8  
    10.9 -import com.sun.tools.doclets.internal.toolkit.*;
   10.10 -import com.sun.tools.doclets.internal.toolkit.util.*;
   10.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*;
   10.12 -
   10.13 -import com.sun.javadoc.*;
   10.14  import java.io.*;
   10.15  import java.text.SimpleDateFormat;
   10.16  import java.util.*;
   10.17  
   10.18 +import com.sun.javadoc.*;
   10.19 +import com.sun.tools.doclets.formats.html.markup.*;
   10.20 +import com.sun.tools.doclets.internal.toolkit.*;
   10.21 +import com.sun.tools.doclets.internal.toolkit.util.*;
   10.22 +import com.sun.tools.doclets.internal.toolkit.taglets.*;
   10.23  
   10.24  /**
   10.25   * Class for the Html Format Code Generation specific to JavaDoc.
   10.26 @@ -44,6 +43,7 @@
   10.27   * @since 1.2
   10.28   * @author Atul M Dambalkar
   10.29   * @author Robert Field
   10.30 + * @author Bhavesh Patel (Modified)
   10.31   */
   10.32  public class HtmlDocletWriter extends HtmlDocWriter {
   10.33  
   10.34 @@ -205,7 +205,13 @@
   10.35      private void printMethodInfo(MethodDoc method) {
   10.36          ClassDoc[] intfacs = method.containingClass().interfaces();
   10.37          MethodDoc overriddenMethod = method.overriddenMethod();
   10.38 -        if (intfacs.length > 0 || overriddenMethod != null) {
   10.39 +        // Check whether there is any implementation or overridden info to be
   10.40 +        // printed. If no overridden or implementation info needs to be
   10.41 +        // printed, do not print this section.
   10.42 +        if ((intfacs.length > 0 &&
   10.43 +                new ImplementedMethods(method, this.configuration).build().length > 0) ||
   10.44 +                overriddenMethod != null) {
   10.45 +            printMemberDetailsListStartTag();
   10.46              dd();
   10.47              printTagsInfoHeader();
   10.48              MethodWriterImpl.printImplementsInfo(this, method);
   10.49 @@ -216,7 +222,6 @@
   10.50              printTagsInfoFooter();
   10.51              ddEnd();
   10.52          }
   10.53 -        dd();
   10.54      }
   10.55  
   10.56      protected void printTags(Doc doc) {
   10.57 @@ -230,41 +235,35 @@
   10.58          TagletWriter.genTagOuput(configuration.tagletManager, doc,
   10.59              configuration.tagletManager.getCustomTags(doc),
   10.60                  getTagletWriterInstance(false), output);
   10.61 -        if (output.toString().trim().length() > 0) {
   10.62 +        String outputString = output.toString().trim();
   10.63 +        // For RootDoc and ClassDoc, this section is not the definition description
   10.64 +        // but the start of definition list.
   10.65 +        if (!outputString.isEmpty()) {
   10.66 +            if (!(doc instanceof RootDoc || doc instanceof ClassDoc)) {
   10.67 +                printMemberDetailsListStartTag();
   10.68 +                dd();
   10.69 +            }
   10.70              printTagsInfoHeader();
   10.71 -            print(output.toString());
   10.72 +            print(outputString);
   10.73              printTagsInfoFooter();
   10.74 -        } else if (! (doc instanceof ConstructorDoc ||
   10.75 -            doc instanceof RootDoc || doc instanceof ClassDoc)) {
   10.76 -            //To be consistent with 1.4.2 output.
   10.77 -            //I hate to do this but we have to pass the diff test to prove
   10.78 -            //nothing has broken.
   10.79 -            printTagsInfoHeader();
   10.80 -            printTagsInfoFooter();
   10.81 +            if (!(doc instanceof RootDoc || doc instanceof ClassDoc))
   10.82 +                ddEnd();
   10.83          }
   10.84      }
   10.85  
   10.86      /**
   10.87 -     * Check whether there are any tags to be printed.
   10.88 +     * Check whether there are any tags for Serialization Overview
   10.89 +     * section to be printed.
   10.90       *
   10.91 -     * @param doc the Doc object to check for tags.
   10.92 +     * @param field the FieldDoc object to check for tags.
   10.93       * @return true if there are tags to be printed else return false.
   10.94       */
   10.95 -    protected boolean hasTagsToPrint(Doc doc) {
   10.96 -        if (doc instanceof MethodDoc) {
   10.97 -            ClassDoc[] intfacs = ((MethodDoc)doc).containingClass().interfaces();
   10.98 -            MethodDoc overriddenMethod = ((MethodDoc)doc).overriddenMethod();
   10.99 -            if ((intfacs.length > 0 &&
  10.100 -                new ImplementedMethods((MethodDoc)doc, this.configuration).build().length > 0) ||
  10.101 -                overriddenMethod != null) {
  10.102 -                return true;
  10.103 -            }
  10.104 -        }
  10.105 +    protected boolean hasSerializationOverviewTags(FieldDoc field) {
  10.106          TagletOutputImpl output = new TagletOutputImpl("");
  10.107 -        TagletWriter.genTagOuput(configuration.tagletManager, doc,
  10.108 -            configuration.tagletManager.getCustomTags(doc),
  10.109 +        TagletWriter.genTagOuput(configuration.tagletManager, field,
  10.110 +            configuration.tagletManager.getCustomTags(field),
  10.111                  getTagletWriterInstance(false), output);
  10.112 -        return (output.toString().trim().isEmpty());
  10.113 +        return (!output.toString().trim().isEmpty());
  10.114      }
  10.115  
  10.116      /**
    11.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java	Tue Feb 24 17:48:53 2009 -0800
    11.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java	Fri Feb 27 18:57:17 2009 -0800
    11.3 @@ -25,11 +25,12 @@
    11.4  
    11.5  package com.sun.tools.doclets.formats.html;
    11.6  
    11.7 +import java.util.*;
    11.8 +
    11.9 +import com.sun.javadoc.*;
   11.10  import com.sun.tools.doclets.internal.toolkit.*;
   11.11  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   11.12  import com.sun.tools.doclets.internal.toolkit.util.*;
   11.13 -import com.sun.javadoc.*;
   11.14 -import java.util.*;
   11.15  
   11.16  /**
   11.17   * Generate serialized form for serializable fields.
   11.18 @@ -37,6 +38,7 @@
   11.19   * <code>serialField</code> is processed.
   11.20   *
   11.21   * @author Joe Fialli
   11.22 + * @author Bhavesh Patel (Modified)
   11.23   */
   11.24  public class HtmlSerialFieldWriter extends FieldWriterImpl
   11.25      implements SerializedFormWriter.SerialFieldWriter {
   11.26 @@ -75,7 +77,7 @@
   11.27              writer.println();
   11.28              if (heading.equals(
   11.29                     configuration().getText("doclet.Serialized_Form_class"))) {
   11.30 -                writer.dl();
   11.31 +                assert !writer.getMemberDetailsListPrinted();
   11.32              }
   11.33          } else {
   11.34              writer.printTableHeadingBackground(heading);
   11.35 @@ -102,7 +104,7 @@
   11.36          print(fieldDimensions + ' ');
   11.37          strong(fieldName);
   11.38          writer.preEnd();
   11.39 -        writer.dl();
   11.40 +        assert !writer.getMemberDetailsListPrinted();
   11.41      }
   11.42  
   11.43      /**
   11.44 @@ -111,9 +113,7 @@
   11.45       * @param field the field to document.
   11.46       */
   11.47      public void writeMemberDeprecatedInfo(FieldDoc field) {
   11.48 -        print(((TagletOutputImpl)
   11.49 -            (new DeprecatedTaglet()).getTagletOutput(field,
   11.50 -            writer.getTagletWriterInstance(false))).toString());
   11.51 +        printDeprecated(field);
   11.52      }
   11.53  
   11.54      /**
   11.55 @@ -123,14 +123,17 @@
   11.56       */
   11.57      public void writeMemberDescription(FieldDoc field) {
   11.58          if (field.inlineTags().length > 0) {
   11.59 +            writer.printMemberDetailsListStartTag();
   11.60              writer.dd();
   11.61              writer.printInlineComment(field);
   11.62 +            writer.ddEnd();
   11.63          }
   11.64          Tag[] tags = field.tags("serial");
   11.65          if (tags.length > 0) {
   11.66 -            writer.dt();
   11.67 +            writer.printMemberDetailsListStartTag();
   11.68              writer.dd();
   11.69              writer.printInlineComment(field, tags[0]);
   11.70 +            writer.ddEnd();
   11.71          }
   11.72      }
   11.73  
   11.74 @@ -140,9 +143,14 @@
   11.75       * @param serialFieldTag the field to document (represented by tag).
   11.76       */
   11.77      public void writeMemberDescription(SerialFieldTag serialFieldTag) {
   11.78 -        writer.dd();
   11.79 -        writer.print(serialFieldTag.description());
   11.80 -        writer.dlEnd();
   11.81 +        String serialFieldTagDesc = serialFieldTag.description().trim();
   11.82 +        if (!serialFieldTagDesc.isEmpty()) {
   11.83 +            writer.dl();
   11.84 +            writer.dd();
   11.85 +            writer.print(serialFieldTagDesc);
   11.86 +            writer.ddEnd();
   11.87 +            writer.dlEnd();
   11.88 +        }
   11.89      }
   11.90  
   11.91      /**
   11.92 @@ -151,33 +159,57 @@
   11.93       * @param field the field to document.
   11.94       */
   11.95      public void writeMemberTags(FieldDoc field) {
   11.96 -        writer.dl();
   11.97          TagletOutputImpl output = new TagletOutputImpl("");
   11.98          TagletWriter.genTagOuput(configuration().tagletManager, field,
   11.99              configuration().tagletManager.getCustomTags(field),
  11.100                  writer.getTagletWriterInstance(false), output);
  11.101 -        if (output.toString().length() > 0) {
  11.102 -            print(output.toString());
  11.103 +        String outputString = output.toString().trim();
  11.104 +        if (!outputString.isEmpty()) {
  11.105 +            writer.printMemberDetailsListStartTag();
  11.106 +            writer.dd();
  11.107 +            writer.dl();
  11.108 +            print(outputString);
  11.109 +            writer.dlEnd();
  11.110 +            writer.ddEnd();
  11.111          }
  11.112 -        writer.dlEnd();
  11.113 -    }
  11.114 -    public void writeMemberFooter(FieldDoc member) {
  11.115 -        writer.dlEnd();
  11.116      }
  11.117  
  11.118      /**
  11.119 -     * Check to see if member details should be printed. If
  11.120 +     * Check to see if overview details should be printed. If
  11.121       * nocomment option set or if there is no text to be printed
  11.122 -     * for deprecation info, inline comment, no serial tag or inline tags,
  11.123 -     * do not print member details.
  11.124 +     * for deprecation info, comment or tags, do not print overview details.
  11.125 +     *
  11.126 +     * @param field the field to check overview details for.
  11.127 +     * @return true if overview details need to be printed
  11.128       */
  11.129 -    public boolean shouldPrintMemberDetails(FieldDoc field) {
  11.130 -        if (!configuration().nocomment)
  11.131 -            if((field.inlineTags().length > 0) ||
  11.132 -                (field.tags("serial").length > 0) || (writer.hasTagsToPrint(field)))
  11.133 +    public boolean shouldPrintOverview(FieldDoc field) {
  11.134 +        if (!configuration().nocomment) {
  11.135 +            if(!field.commentText().isEmpty() ||
  11.136 +                    writer.hasSerializationOverviewTags(field))
  11.137                  return true;
  11.138 -        if (!Util.isDeprecated(field))
  11.139 +        }
  11.140 +        if (field.tags("deprecated").length > 0)
  11.141              return true;
  11.142          return false;
  11.143      }
  11.144 +
  11.145 +    public void writeMemberFooter() {
  11.146 +        printMemberFooter();
  11.147 +    }
  11.148 +
  11.149 +    /**
  11.150 +     * Write the footer information. If the serilization overview section was
  11.151 +     * printed, check for definition list and close list tag.
  11.152 +     *
  11.153 +     * @param heading the heading that was written.
  11.154 +     */
  11.155 +    public void writeFooter(String heading) {
  11.156 +        if (printedOverallAnchor) {
  11.157 +            if (heading.equals(
  11.158 +                   configuration().getText("doclet.Serialized_Form_class"))) {
  11.159 +                writer.printMemberDetailsListEndTag();
  11.160 +                assert !writer.getMemberDetailsListPrinted();
  11.161 +            }
  11.162 +        }
  11.163 +    }
  11.164  }
    12.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java	Tue Feb 24 17:48:53 2009 -0800
    12.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java	Fri Feb 27 18:57:17 2009 -0800
    12.3 @@ -25,9 +25,9 @@
    12.4  
    12.5  package com.sun.tools.doclets.formats.html;
    12.6  
    12.7 +import com.sun.javadoc.*;
    12.8  import com.sun.tools.doclets.internal.toolkit.*;
    12.9  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   12.10 -import com.sun.javadoc.*;
   12.11  
   12.12  /**
   12.13   * Generate serialized form for Serializable/Externalizable methods.
   12.14 @@ -66,14 +66,12 @@
   12.15          writeSignature(member);
   12.16      }
   12.17  
   12.18 -    public void writeMemberFooter(MethodDoc member) {
   12.19 -        writer.dlEnd();
   12.20 +    public void writeMemberFooter() {
   12.21 +        printMemberFooter();
   12.22      }
   12.23  
   12.24      public void writeDeprecatedMemberInfo(MethodDoc member) {
   12.25 -        print(((TagletOutputImpl)
   12.26 -            (new DeprecatedTaglet()).getTagletOutput(member,
   12.27 -            writer.getTagletWriterInstance(false))).toString());
   12.28 +        printDeprecated(member);
   12.29      }
   12.30  
   12.31      public void writeMemberDescription(MethodDoc member) {
   12.32 @@ -81,23 +79,27 @@
   12.33      }
   12.34  
   12.35      public void writeMemberTags(MethodDoc member) {
   12.36 -        writer.dd();
   12.37 -        writer.dl();
   12.38          TagletOutputImpl output = new TagletOutputImpl("");
   12.39          TagletManager tagletManager =
   12.40              ConfigurationImpl.getInstance().tagletManager;
   12.41          TagletWriter.genTagOuput(tagletManager, member,
   12.42              tagletManager.getSerializedFormTags(),
   12.43              writer.getTagletWriterInstance(false), output);
   12.44 -        print(output.toString());
   12.45 +        String outputString = output.toString().trim();
   12.46 +        if (!outputString.isEmpty()) {
   12.47 +            writer.printMemberDetailsListStartTag();
   12.48 +            writer.dd();
   12.49 +            writer.dl();
   12.50 +            print(outputString);
   12.51 +            writer.dlEnd();
   12.52 +            writer.ddEnd();
   12.53 +        }
   12.54          MethodDoc method = member;
   12.55          if (method.name().compareTo("writeExternal") == 0
   12.56                  && method.tags("serialData").length == 0) {
   12.57              serialWarning(member.position(), "doclet.MissingSerialDataTag",
   12.58                  method.containingClass().qualifiedName(), method.name());
   12.59          }
   12.60 -        writer.ddEnd();
   12.61 -        writer.dlEnd();
   12.62      }
   12.63  
   12.64      protected void printTypeLinkNoDimension(Type type) {
    13.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
    13.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
    13.3 @@ -25,13 +25,13 @@
    13.4  
    13.5  package com.sun.tools.doclets.formats.html;
    13.6  
    13.7 +import java.io.*;
    13.8 +
    13.9 +import com.sun.javadoc.*;
   13.10  import com.sun.tools.doclets.internal.toolkit.*;
   13.11  import com.sun.tools.doclets.internal.toolkit.util.*;
   13.12  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   13.13  
   13.14 -import java.io.*;
   13.15 -import com.sun.javadoc.*;
   13.16 -
   13.17  /**
   13.18   * Writes method documentation in HTML format.
   13.19   *
   13.20 @@ -172,7 +172,7 @@
   13.21          writeParameters(method);
   13.22          writeExceptions(method);
   13.23          writer.preEnd();
   13.24 -        writer.dl();
   13.25 +        assert !writer.getMemberDetailsListPrinted();
   13.26      }
   13.27  
   13.28      /**
   13.29 @@ -181,12 +181,7 @@
   13.30       * @param method the method being documented.
   13.31       */
   13.32      public void writeDeprecated(MethodDoc method) {
   13.33 -        String output = ((TagletOutputImpl)
   13.34 -            (new DeprecatedTaglet()).getTagletOutput(method,
   13.35 -            writer.getTagletWriterInstance(false))).toString();
   13.36 -        if (output != null && output.trim().length() > 0) {
   13.37 -            writer.print(output);
   13.38 -        }
   13.39 +        printDeprecated(method);
   13.40      }
   13.41  
   13.42      /**
   13.43 @@ -197,11 +192,13 @@
   13.44      public void writeComments(Type holder, MethodDoc method) {
   13.45          ClassDoc holderClassDoc = holder.asClassDoc();
   13.46          if (method.inlineTags().length > 0) {
   13.47 +            writer.printMemberDetailsListStartTag();
   13.48              if (holder.asClassDoc().equals(classdoc) ||
   13.49                  (! (holderClassDoc.isPublic() ||
   13.50                      Util.isLinkable(holderClassDoc, configuration())))) {
   13.51                  writer.dd();
   13.52                  writer.printInlineComment(method);
   13.53 +                writer.ddEnd();
   13.54              } else {
   13.55                  String classlink = writer.codeText(
   13.56                      writer.getDocLink(LinkInfoImpl.CONTEXT_METHOD_DOC_COPY,
   13.57 @@ -217,6 +214,7 @@
   13.58                  writer.ddEnd();
   13.59                  writer.dd();
   13.60                  writer.printInlineComment(method);
   13.61 +                writer.ddEnd();
   13.62              }
   13.63          }
   13.64      }
   13.65 @@ -234,8 +232,7 @@
   13.66       * Write the method footer.
   13.67       */
   13.68      public void writeMethodFooter() {
   13.69 -        writer.ddEnd();
   13.70 -        writer.dlEnd();
   13.71 +        printMemberFooter();
   13.72      }
   13.73  
   13.74      /**
   13.75 @@ -318,6 +315,7 @@
   13.76              String name = method.name();
   13.77              writer.dt();
   13.78              writer.strongText(label);
   13.79 +            writer.dtEnd();
   13.80              writer.dd();
   13.81              String methLink = writer.codeText(
   13.82                  writer.getLink(
   13.83 @@ -326,6 +324,7 @@
   13.84                          writer.getAnchor(method), name, false)
   13.85                  ));
   13.86              writer.printText("doclet.in_class", methLink, overriddenTypeLink);
   13.87 +            writer.ddEnd();
   13.88          }
   13.89      }
   13.90  
   13.91 @@ -364,11 +363,13 @@
   13.92                      LinkInfoImpl.CONTEXT_METHOD_SPECIFIED_BY, intfac)));
   13.93              writer.dt();
   13.94              writer.strongText("doclet.Specified_By");
   13.95 +            writer.dtEnd();
   13.96              writer.dd();
   13.97              methlink = writer.codeText(writer.getDocLink(
   13.98                  LinkInfoImpl.CONTEXT_MEMBER, implementedMeth,
   13.99                  implementedMeth.name(), false));
  13.100              writer.printText("doclet.in_interface", methlink, intfaclink);
  13.101 +            writer.ddEnd();
  13.102          }
  13.103  
  13.104      }
    14.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
    14.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
    14.3 @@ -25,11 +25,11 @@
    14.4  
    14.5  package com.sun.tools.doclets.formats.html;
    14.6  
    14.7 +import java.io.*;
    14.8 +
    14.9 +import com.sun.javadoc.*;
   14.10  import com.sun.tools.doclets.internal.toolkit.*;
   14.11  import com.sun.tools.doclets.internal.toolkit.util.*;
   14.12 -import com.sun.javadoc.*;
   14.13 -
   14.14 -import java.io.*;
   14.15  
   14.16  /**
   14.17   * Writes nested class documentation in HTML format.
   14.18 @@ -129,7 +129,6 @@
   14.19              writer.println("");
   14.20          }
   14.21          writer.anchor(nestedClass.name());
   14.22 -        writer.dl();
   14.23          writer.h3();
   14.24          writer.print(nestedClass.name());
   14.25          writer.h3End();
    15.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java	Tue Feb 24 17:48:53 2009 -0800
    15.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java	Fri Feb 27 18:57:17 2009 -0800
    15.3 @@ -25,9 +25,10 @@
    15.4  
    15.5  package com.sun.tools.doclets.formats.html;
    15.6  
    15.7 +import java.io.*;
    15.8 +
    15.9 +import com.sun.javadoc.*;
   15.10  import com.sun.tools.doclets.internal.toolkit.util.*;
   15.11 -import com.sun.javadoc.*;
   15.12 -import java.io.*;
   15.13  
   15.14  /**
   15.15   * Class to generate Tree page for a package. The name of the file generated is
   15.16 @@ -145,8 +146,10 @@
   15.17          dl();
   15.18          dt();
   15.19          strongText("doclet.Package_Hierarchies");
   15.20 +        dtEnd();
   15.21          dd();
   15.22          navLinkMainTree(configuration.getText("doclet.All_Packages"));
   15.23 +        ddEnd();
   15.24          dlEnd();
   15.25          hr();
   15.26      }
    16.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java	Tue Feb 24 17:48:53 2009 -0800
    16.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java	Fri Feb 27 18:57:17 2009 -0800
    16.3 @@ -25,17 +25,18 @@
    16.4  
    16.5  package com.sun.tools.doclets.formats.html;
    16.6  
    16.7 +import com.sun.javadoc.*;
    16.8  import com.sun.tools.doclets.internal.toolkit.*;
    16.9  import com.sun.tools.doclets.internal.toolkit.builders.SerializedFormBuilder;
   16.10  import com.sun.tools.doclets.internal.toolkit.taglets.*;
   16.11  import com.sun.tools.doclets.internal.toolkit.util.*;
   16.12 -import com.sun.javadoc.*;
   16.13  
   16.14  /**
   16.15   * The taglet writer that writes HTML.
   16.16   *
   16.17   * @since 1.5
   16.18   * @author Jamie Ho
   16.19 + * @author Bhavesh Patel (Modified)
   16.20   */
   16.21  
   16.22  public class TagletWriterImpl extends TagletWriter {
   16.23 @@ -99,11 +100,12 @@
   16.24                      output.append(DocletConstants.NL + "<P>" +
   16.25                          DocletConstants.NL);
   16.26                  }
   16.27 +                output.append("</DD>");
   16.28              } else {
   16.29                  if (Util.isDeprecated(member.containingClass())) {
   16.30                      output.append("<DD><STRONG>" +
   16.31                      ConfigurationImpl.getInstance().
   16.32 -                            getText("doclet.Deprecated") + "</STRONG>&nbsp;");
   16.33 +                            getText("doclet.Deprecated") + "</STRONG>&nbsp;</DD>");
   16.34                  }
   16.35              }
   16.36          }
   16.37 @@ -123,7 +125,7 @@
   16.38      public TagletOutput getParamHeader(String header) {
   16.39          StringBuffer result = new StringBuffer();
   16.40          result.append("<DT>");
   16.41 -        result.append("<STRONG>" +  header + "</STRONG>");
   16.42 +        result.append("<STRONG>" +  header + "</STRONG></DT>");
   16.43          return new TagletOutputImpl(result.toString());
   16.44      }
   16.45  
   16.46 @@ -132,7 +134,7 @@
   16.47       */
   16.48      public TagletOutput paramTagOutput(ParamTag paramTag, String paramName) {
   16.49          TagletOutput result = new TagletOutputImpl("<DD><CODE>" + paramName + "</CODE>"
   16.50 -         + " - " + htmlWriter.commentTagsToString(paramTag, null, paramTag.inlineTags(), false));
   16.51 +         + " - " + htmlWriter.commentTagsToString(paramTag, null, paramTag.inlineTags(), false) + "</DD>");
   16.52          return result;
   16.53      }
   16.54  
   16.55 @@ -142,9 +144,9 @@
   16.56      public TagletOutput returnTagOutput(Tag returnTag) {
   16.57          TagletOutput result = new TagletOutputImpl(DocletConstants.NL + "<DT>" +
   16.58              "<STRONG>" + htmlWriter.configuration.getText("doclet.Returns") +
   16.59 -            "</STRONG>" + "<DD>" +
   16.60 +            "</STRONG>" + "</DT>" + "<DD>" +
   16.61              htmlWriter.commentTagsToString(returnTag, null, returnTag.inlineTags(),
   16.62 -            false));
   16.63 +            false) + "</DD>");
   16.64          return result;
   16.65      }
   16.66  
   16.67 @@ -174,22 +176,21 @@
   16.68          }
   16.69          if (holder.isClass() && ((ClassDoc)holder).isSerializable()) {
   16.70              //Automatically add link to serialized form page for serializable classes.
   16.71 -            if (!(SerializedFormBuilder.serialInclude(holder) &&
   16.72 +            if ((SerializedFormBuilder.serialInclude(holder) &&
   16.73                        SerializedFormBuilder.serialInclude(((ClassDoc)holder).containingPackage()))) {
   16.74 -                return result.equals("") ? null : new TagletOutputImpl(result);
   16.75 +                result = addSeeHeader(result);
   16.76 +                result += htmlWriter.getHyperLink(htmlWriter.relativePath + "serialized-form.html",
   16.77 +                        ((ClassDoc)holder).qualifiedName(), htmlWriter.configuration.getText("doclet.Serialized_Form"), false);
   16.78              }
   16.79 -            result = addSeeHeader(result);
   16.80 -            result += htmlWriter.getHyperLink(htmlWriter.relativePath + "serialized-form.html",
   16.81 -                ((ClassDoc)holder).qualifiedName(), htmlWriter.configuration.getText("doclet.Serialized_Form"), false);
   16.82          }
   16.83 -        return result.equals("") ? null : new TagletOutputImpl(result);
   16.84 +        return result.equals("") ? null : new TagletOutputImpl(result + "</DD>");
   16.85      }
   16.86  
   16.87      private String addSeeHeader(String result) {
   16.88          if (result != null && result.length() > 0) {
   16.89              return result + ", " + DocletConstants.NL;
   16.90          } else {
   16.91 -            return "<DT><STRONG>" + htmlWriter.configuration().getText("doclet.See_Also") + "</STRONG><DD>";
   16.92 +            return "<DT><STRONG>" + htmlWriter.configuration().getText("doclet.See_Also") + "</STRONG></DT><DD>";
   16.93          }
   16.94       }
   16.95  
   16.96 @@ -205,7 +206,8 @@
   16.97              }
   16.98              result += htmlWriter.commentTagsToString(simpleTags[i], null, simpleTags[i].inlineTags(), false);
   16.99          }
  16.100 -         return new TagletOutputImpl(result + "</DD>" + DocletConstants.NL);
  16.101 +        result += "</DD>" + DocletConstants.NL;
  16.102 +        return new TagletOutputImpl(result);
  16.103      }
  16.104  
  16.105      /**
  16.106 @@ -222,7 +224,7 @@
  16.107       */
  16.108      public TagletOutput getThrowsHeader() {
  16.109          return new TagletOutputImpl(DocletConstants.NL + "<DT>" + "<STRONG>" +
  16.110 -            htmlWriter.configuration().getText("doclet.Throws") + "</STRONG>");
  16.111 +            htmlWriter.configuration().getText("doclet.Throws") + "</STRONG></DT>");
  16.112      }
  16.113  
  16.114      /**
  16.115 @@ -241,6 +243,7 @@
  16.116          if (text != null && text.toString().length() > 0) {
  16.117              result += " - " + text;
  16.118          }
  16.119 +        result += "</DD>";
  16.120          return new TagletOutputImpl(result);
  16.121      }
  16.122  
  16.123 @@ -250,7 +253,7 @@
  16.124      public TagletOutput throwsTagOutput(Type throwsType) {
  16.125          return new TagletOutputImpl(DocletConstants.NL + "<DD>" +
  16.126              htmlWriter.codeText(htmlWriter.getLink(
  16.127 -                new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER, throwsType))));
  16.128 +                new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER, throwsType))) + "</DD>");
  16.129      }
  16.130  
  16.131      /**
    17.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java	Tue Feb 24 17:48:53 2009 -0800
    17.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java	Fri Feb 27 18:57:17 2009 -0800
    17.3 @@ -25,9 +25,11 @@
    17.4  
    17.5  package com.sun.tools.doclets.formats.html;
    17.6  
    17.7 +import java.io.*;
    17.8 +
    17.9 +import com.sun.javadoc.*;
   17.10  import com.sun.tools.doclets.internal.toolkit.util.*;
   17.11 -import com.sun.javadoc.*;
   17.12 -import java.io.*;
   17.13 +
   17.14  /**
   17.15   * Generate Class Hierarchy page for all the Classes in this run.  Use
   17.16   * ClassTree for building the Tree. The name of
   17.17 @@ -120,6 +122,7 @@
   17.18              dl();
   17.19              dt();
   17.20              strongText("doclet.Package_Hierarchies");
   17.21 +            dtEnd();
   17.22              dd();
   17.23              for (int i = 0; i < packages.length; i++) {
   17.24                  if (packages[i].name().length() == 0) {
   17.25 @@ -131,6 +134,7 @@
   17.26                      print(", ");
   17.27                  }
   17.28              }
   17.29 +            ddEnd();
   17.30              dlEnd();
   17.31              hr();
   17.32          }
    18.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Tue Feb 24 17:48:53 2009 -0800
    18.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Fri Feb 27 18:57:17 2009 -0800
    18.3 @@ -245,6 +245,31 @@
    18.4      }
    18.5  
    18.6      /**
    18.7 +     * Keep track of member details list. Print the definition list start tag
    18.8 +     * if it is not printed yet.
    18.9 +     */
   18.10 +    public void printMemberDetailsListStartTag () {
   18.11 +        if (!getMemberDetailsListPrinted()) {
   18.12 +            dl();
   18.13 +            memberDetailsListPrinted = true;
   18.14 +        }
   18.15 +    }
   18.16 +
   18.17 +    /**
   18.18 +     * Print the definition list end tag if the list start tag was printed.
   18.19 +     */
   18.20 +    public void printMemberDetailsListEndTag () {
   18.21 +        if (getMemberDetailsListPrinted()) {
   18.22 +            dlEnd();
   18.23 +            memberDetailsListPrinted = false;
   18.24 +        }
   18.25 +    }
   18.26 +
   18.27 +    public boolean getMemberDetailsListPrinted() {
   18.28 +        return memberDetailsListPrinted;
   18.29 +    }
   18.30 +
   18.31 +    /**
   18.32       * Print the frameset version of the Html file header.
   18.33       * Called only when generating an HTML frameset file.
   18.34       *
    19.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Tue Feb 24 17:48:53 2009 -0800
    19.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Fri Feb 27 18:57:17 2009 -0800
    19.3 @@ -25,9 +25,10 @@
    19.4  
    19.5  package com.sun.tools.doclets.formats.html.markup;
    19.6  
    19.7 +import java.io.*;
    19.8 +
    19.9  import com.sun.tools.doclets.internal.toolkit.*;
   19.10  import com.sun.tools.doclets.internal.toolkit.util.*;
   19.11 -import java.io.*;
   19.12  
   19.13  /**
   19.14   * Class for the Html format code generation.
   19.15 @@ -61,6 +62,11 @@
   19.16      protected Configuration configuration;
   19.17  
   19.18      /**
   19.19 +     * The flag to indicate whether a member details list is printed or not.
   19.20 +     */
   19.21 +    protected boolean memberDetailsListPrinted;
   19.22 +
   19.23 +    /**
   19.24       * Constructor.
   19.25       *
   19.26       * @param path The directory path to be created for this file
   19.27 @@ -79,6 +85,7 @@
   19.28          super(Util.genWriter(configuration, path, filename, docencoding));
   19.29          this.configuration = configuration;
   19.30          htmlFilename = filename;
   19.31 +        this.memberDetailsListPrinted = false;
   19.32      }
   19.33  
   19.34      /**
   19.35 @@ -529,7 +536,14 @@
   19.36      }
   19.37  
   19.38      /**
   19.39 -     * Print &lt;DT&gt; tag.
   19.40 +     * Print &lt;/DT&gt; tag.
   19.41 +     */
   19.42 +    public void dtEnd() {
   19.43 +        print("</DT>");
   19.44 +    }
   19.45 +
   19.46 +    /**
   19.47 +     * Print &lt;DD&gt; tag.
   19.48       */
   19.49      public void dd() {
   19.50          print("<DD>");
    20.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java	Tue Feb 24 17:48:53 2009 -0800
    20.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java	Fri Feb 27 18:57:17 2009 -0800
    20.3 @@ -25,8 +25,9 @@
    20.4  
    20.5  package com.sun.tools.doclets.internal.toolkit;
    20.6  
    20.7 +import java.io.*;
    20.8 +
    20.9  import com.sun.javadoc.*;
   20.10 -import java.io.*;
   20.11  
   20.12  /**
   20.13   * The interface for writing serialized form output.
   20.14 @@ -147,22 +148,27 @@
   20.15              String fieldDimensions, String fieldName);
   20.16  
   20.17          /**
   20.18 +         * Write the member footer.
   20.19 +         */
   20.20 +        public void writeMemberFooter();
   20.21 +
   20.22 +        /**
   20.23 +         * Check to see if overview details should be printed. If
   20.24 +         * nocomment option set or if there is no text to be printed
   20.25 +         * for deprecation info, inline comment or tags,
   20.26 +         * do not print overview details.
   20.27 +         *
   20.28 +         * @param field the field to check overview details for.
   20.29 +         * @return true if overview details need to be printed
   20.30 +         */
   20.31 +        public boolean shouldPrintOverview(FieldDoc field);
   20.32 +
   20.33 +        /**
   20.34           * Write the footer.
   20.35           *
   20.36 -         * @param member the member to write the header for.
   20.37 +         * @param heading the heading that was written.
   20.38           */
   20.39 -        public void writeMemberFooter(FieldDoc member);
   20.40 -
   20.41 -        /**
   20.42 -         * Check to see if member details should be printed. If
   20.43 -         * nocomment option set or if there is no text to be printed
   20.44 -         * for deprecation info, inline comment, no serial tag or inline tags,
   20.45 -         * do not print member details.
   20.46 -         *
   20.47 -         * @param member the member to check details for.
   20.48 -         * @return true if details need to be printed
   20.49 -         */
   20.50 -        public boolean shouldPrintMemberDetails(FieldDoc member);
   20.51 +        public void writeFooter (String heading);
   20.52      }
   20.53  
   20.54      /**
   20.55 @@ -193,10 +199,8 @@
   20.56  
   20.57          /**
   20.58           * Write the footer.
   20.59 -         *
   20.60 -         * @param member the member to write the header for.
   20.61           */
   20.62 -        public void writeMemberFooter(MethodDoc member);
   20.63 +        public void writeMemberFooter();
   20.64  
   20.65          /**
   20.66           * Write the deprecated information for this member.
    21.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Tue Feb 24 17:48:53 2009 -0800
    21.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java	Fri Feb 27 18:57:17 2009 -0800
    21.3 @@ -25,13 +25,14 @@
    21.4  
    21.5  package com.sun.tools.doclets.internal.toolkit.builders;
    21.6  
    21.7 -import com.sun.tools.doclets.internal.toolkit.util.*;
    21.8 -import com.sun.tools.doclets.internal.toolkit.*;
    21.9 -import com.sun.javadoc.*;
   21.10  import java.io.*;
   21.11  import java.lang.reflect.*;
   21.12  import java.util.*;
   21.13  
   21.14 +import com.sun.javadoc.*;
   21.15 +import com.sun.tools.doclets.internal.toolkit.util.*;
   21.16 +import com.sun.tools.doclets.internal.toolkit.*;
   21.17 +
   21.18  /**
   21.19   * Builds the serialized form.
   21.20   *
   21.21 @@ -40,6 +41,7 @@
   21.22   * Do not use it as an API
   21.23   *
   21.24   * @author Jamie Ho
   21.25 + * @author Bhavesh Patel (Modified)
   21.26   * @since 1.5
   21.27   */
   21.28  public class SerializedFormBuilder extends AbstractBuilder {
   21.29 @@ -379,7 +381,7 @@
   21.30       * Build the method footer.
   21.31       */
   21.32      public void buildMethodFooter() {
   21.33 -        methodWriter.writeMemberFooter((MethodDoc) currentMember);
   21.34 +        methodWriter.writeMemberFooter();
   21.35      }
   21.36  
   21.37      /**
   21.38 @@ -405,15 +407,18 @@
   21.39                  Util.asList(classDoc.serializableFields()).get(0);
   21.40              // Check to see if there are inline comments, tags or deprecation
   21.41              // information to be printed.
   21.42 -            if (fieldWriter.shouldPrintMemberDetails(serialPersistentField)) {
   21.43 +            if (fieldWriter.shouldPrintOverview(serialPersistentField)) {
   21.44                  fieldWriter.writeHeader(
   21.45 -                    configuration.getText("doclet.Serialized_Form_class"));
   21.46 +                        configuration.getText("doclet.Serialized_Form_class"));
   21.47                  fieldWriter.writeMemberDeprecatedInfo(serialPersistentField);
   21.48                  if (!configuration.nocomment) {
   21.49                      fieldWriter.writeMemberDescription(serialPersistentField);
   21.50                      fieldWriter.writeMemberTags(serialPersistentField);
   21.51                  }
   21.52 -                fieldWriter.writeMemberFooter(serialPersistentField);
   21.53 +                // Footer required to close the definition list tag
   21.54 +                // for serialization overview.
   21.55 +                fieldWriter.writeFooter(
   21.56 +                        configuration.getText("doclet.Serialized_Form_class"));
   21.57              }
   21.58          }
   21.59      }
   21.60 @@ -476,11 +481,11 @@
   21.61      }
   21.62  
   21.63      /**
   21.64 -     * Build the field footer.
   21.65 +     * Build the field sub footer.
   21.66       */
   21.67 -    public void buildFieldFooter() {
   21.68 +    public void buildFieldSubFooter() {
   21.69          if (! currentClass.definesSerializableFields()) {
   21.70 -            fieldWriter.writeMemberFooter((FieldDoc) currentMember);
   21.71 +            fieldWriter.writeMemberFooter();
   21.72          }
   21.73      }
   21.74  
    22.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml	Tue Feb 24 17:48:53 2009 -0800
    22.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml	Fri Feb 27 18:57:17 2009 -0800
    22.3 @@ -1,205 +1,205 @@
    22.4 -<?xml version='1.0' encoding='utf-8'?>
    22.5 -
    22.6 -<!--
    22.7 - Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
    22.8 - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    22.9 -
   22.10 - This code is free software; you can redistribute it and/or modify it
   22.11 - under the terms of the GNU General Public License version 2 only, as
   22.12 - published by the Free Software Foundation.  Sun designates this
   22.13 - particular file as subject to the "Classpath" exception as provided
   22.14 - by Sun in the LICENSE file that accompanied this code.
   22.15 -
   22.16 - This code is distributed in the hope that it will be useful, but WITHOUT
   22.17 - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   22.18 - FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   22.19 - version 2 for more details (a copy is included in the LICENSE file that
   22.20 - accompanied this code).
   22.21 -
   22.22 - You should have received a copy of the GNU General Public License version
   22.23 - 2 along with this work; if not, write to the Free Software Foundation,
   22.24 - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   22.25 -
   22.26 - Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   22.27 - CA 95054 USA or visit www.sun.com if you need additional information or
   22.28 - have any questions.
   22.29 --->
   22.30 -
   22.31 -
   22.32 -<Doclet>
   22.33 -
   22.34 -    <PackageDoc>
   22.35 -        <PackageHeader/>
   22.36 -        <Summary>
   22.37 -            <SummaryHeader/>
   22.38 -            <InterfaceSummary/>
   22.39 -            <ClassSummary/>
   22.40 -            <EnumSummary/>
   22.41 -            <ExceptionSummary/>
   22.42 -            <ErrorSummary/>
   22.43 -            <AnnotationTypeSummary/>
   22.44 -            <SummaryFooter/>
   22.45 -        </Summary>
   22.46 -        <PackageDescription/>
   22.47 -        <PackageTags/>
   22.48 -        <PackageFooter/>
   22.49 -    </PackageDoc>
   22.50 -    
   22.51 -    <AnnotationTypeDoc>
   22.52 -        <AnnotationTypeHeader/>
   22.53 -        <DeprecationInfo/>
   22.54 -        <AnnotationTypeSignature/>
   22.55 -        <AnnotationTypeDescription/>
   22.56 -        <AnnotationTypeTagInfo/>
   22.57 -        <MemberSummary>
   22.58 -        	<AnnotationTypeRequiredMemberSummary/>
   22.59 -            <AnnotationTypeOptionalMemberSummary/>
   22.60 -        </MemberSummary>
   22.61 -        <AnnotationTypeRequiredMemberDetails>
   22.62 -            <Header/>
   22.63 -            <AnnotationTypeRequiredMember>
   22.64 -                <MemberHeader/>
   22.65 -                <Signature/>
   22.66 -                <DeprecationInfo/>
   22.67 -                <MemberComments/>
   22.68 -                <TagInfo/>
   22.69 -                <MemberFooter/>
   22.70 -            </AnnotationTypeRequiredMember>
   22.71 -        </AnnotationTypeRequiredMemberDetails>
   22.72 -        <AnnotationTypeOptionalMemberDetails>
   22.73 -            <AnnotationTypeOptionalMember>
   22.74 -                <MemberHeader/>
   22.75 -                <Signature/>
   22.76 -                <DeprecationInfo/>
   22.77 -                <MemberComments/>
   22.78 -                <TagInfo/>
   22.79 -                <DefaultValueInfo/>
   22.80 -                <MemberFooter/>
   22.81 -            </AnnotationTypeOptionalMember>
   22.82 -            <Footer/>
   22.83 -        </AnnotationTypeOptionalMemberDetails>        
   22.84 -        <AnnotationTypeFooter/>
   22.85 -    </AnnotationTypeDoc>
   22.86 -    
   22.87 -    <ClassDoc>
   22.88 -        <ClassHeader/>
   22.89 -        <ClassTree/>
   22.90 -        <TypeParamInfo/>
   22.91 -        <SuperInterfacesInfo/>
   22.92 -        <ImplementedInterfacesInfo/>        
   22.93 -        <SubClassInfo/>
   22.94 -        <SubInterfacesInfo/>
   22.95 -        <InterfaceUsageInfo/>
   22.96 -        <NestedClassInfo/>
   22.97 -        <DeprecationInfo/>
   22.98 -        <ClassSignature/>
   22.99 -        <ClassDescription/>
  22.100 -        <ClassTagInfo/>
  22.101 -        <MemberSummary>
  22.102 -            <NestedClassesSummary/>
  22.103 -            <NestedClassesInheritedSummary/>
  22.104 -            <EnumConstantsSummary/>
  22.105 -            <FieldsSummary/>
  22.106 -            <FieldsInheritedSummary/>  
  22.107 -            <ConstructorsSummary/>
  22.108 -            <MethodsSummary/>
  22.109 -            <MethodsInheritedSummary/>
  22.110 -        </MemberSummary>
  22.111 -        <EnumConstantsDetails>
  22.112 -            <Header/>
  22.113 -            <EnumConstant>
  22.114 -                <EnumConstantHeader/>
  22.115 -                <Signature/>
  22.116 -                <DeprecationInfo/>
  22.117 -                <EnumConstantComments/>
  22.118 -                <TagInfo/>
  22.119 -                <EnumConstantFooter/>
  22.120 -            </EnumConstant>
  22.121 -            <Footer/>
  22.122 -        </EnumConstantsDetails>
  22.123 -        <FieldDetails>
  22.124 -            <Header/>
  22.125 -            <FieldDoc>
  22.126 -                <FieldHeader/>
  22.127 -                <Signature/>
  22.128 -                <DeprecationInfo/>
  22.129 -                <FieldComments/>
  22.130 -                <TagInfo/>
  22.131 -                <FieldFooter/>
  22.132 -            </FieldDoc>
  22.133 -            <Footer/>
  22.134 -        </FieldDetails>
  22.135 -        <ConstructorDetails>
  22.136 -            <Header/>
  22.137 -            <ConstructorDoc>
  22.138 -                <ConstructorHeader/>
  22.139 -                <Signature/>
  22.140 -                <DeprecationInfo/>
  22.141 -                <ConstructorComments/>
  22.142 -                <TagInfo/>
  22.143 -                <ConstructorFooter/>
  22.144 -            </ConstructorDoc>
  22.145 -            <Footer/>
  22.146 -        </ConstructorDetails>
  22.147 -        <MethodDetails>
  22.148 -            <Header/>
  22.149 -            <MethodDoc>
  22.150 -                <MethodHeader/>
  22.151 -                <Signature/>
  22.152 -                <DeprecationInfo/>
  22.153 -                <MethodComments/>
  22.154 -                <TagInfo/>
  22.155 -                <MethodFooter/>
  22.156 -            </MethodDoc>
  22.157 -            <Footer/>
  22.158 -        </MethodDetails>
  22.159 -        <ClassFooter/>
  22.160 -    </ClassDoc>
  22.161 -    
  22.162 -    <ConstantSummary>
  22.163 -        <Header/>
  22.164 -        <Contents/>
  22.165 -        <ConstantSummaries>
  22.166 -            <PackageConstantSummary>
  22.167 -                <PackageHeader/>
  22.168 -                <ClassConstantSummary>
  22.169 -                    <ClassHeader/>
  22.170 -                    <ConstantMembers/>
  22.171 -                    <ClassFooter/>
  22.172 -                </ClassConstantSummary>     
  22.173 -            </PackageConstantSummary>
  22.174 -        </ConstantSummaries>    
  22.175 -        <Footer/>
  22.176 -    </ConstantSummary>
  22.177 -    
  22.178 -    <SerializedForm>
  22.179 -        <Header/>
  22.180 -        <SerializedFormSummaries>
  22.181 -            <PackageSerializedForm>
  22.182 -                <PackageHeader/>
  22.183 -                <ClassSerializedForm>
  22.184 -                    <ClassHeader/>
  22.185 -                    <SerialUIDInfo/>
  22.186 -                    <MethodHeader/>
  22.187 -                    <SerializableMethods>
  22.188 -                        <MethodSubHeader/>
  22.189 -                        <DeprecatedMethodInfo/>
  22.190 -                        <MethodInfo>
  22.191 -                            <MethodDescription/>
  22.192 -                            <MethodTags/>
  22.193 -                        </MethodInfo>
  22.194 -                        <MethodFooter/>
  22.195 -                    </SerializableMethods>
  22.196 -                    <FieldHeader/>
  22.197 -                    <SerializableFields>
  22.198 -                        <FieldSubHeader/>
  22.199 -                        <FieldDeprecationInfo/>
  22.200 -                        <FieldInfo/>
  22.201 -                        <FieldFooter/>
  22.202 -                    </SerializableFields>                  
  22.203 -                </ClassSerializedForm>
  22.204 -            </PackageSerializedForm>
  22.205 -        </SerializedFormSummaries>
  22.206 -        <Footer/>
  22.207 -    </SerializedForm>
  22.208 -</Doclet>
  22.209 +<?xml version='1.0' encoding='utf-8'?>
  22.210 +
  22.211 +<!--
  22.212 + Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
  22.213 + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  22.214 +
  22.215 + This code is free software; you can redistribute it and/or modify it
  22.216 + under the terms of the GNU General Public License version 2 only, as
  22.217 + published by the Free Software Foundation.  Sun designates this
  22.218 + particular file as subject to the "Classpath" exception as provided
  22.219 + by Sun in the LICENSE file that accompanied this code.
  22.220 +
  22.221 + This code is distributed in the hope that it will be useful, but WITHOUT
  22.222 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  22.223 + FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  22.224 + version 2 for more details (a copy is included in the LICENSE file that
  22.225 + accompanied this code).
  22.226 +
  22.227 + You should have received a copy of the GNU General Public License version
  22.228 + 2 along with this work; if not, write to the Free Software Foundation,
  22.229 + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  22.230 +
  22.231 + Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22.232 + CA 95054 USA or visit www.sun.com if you need additional information or
  22.233 + have any questions.
  22.234 +-->
  22.235 +
  22.236 +
  22.237 +<Doclet>
  22.238 +
  22.239 +    <PackageDoc>
  22.240 +        <PackageHeader/>
  22.241 +        <Summary>
  22.242 +            <SummaryHeader/>
  22.243 +            <InterfaceSummary/>
  22.244 +            <ClassSummary/>
  22.245 +            <EnumSummary/>
  22.246 +            <ExceptionSummary/>
  22.247 +            <ErrorSummary/>
  22.248 +            <AnnotationTypeSummary/>
  22.249 +            <SummaryFooter/>
  22.250 +        </Summary>
  22.251 +        <PackageDescription/>
  22.252 +        <PackageTags/>
  22.253 +        <PackageFooter/>
  22.254 +    </PackageDoc>
  22.255 +    
  22.256 +    <AnnotationTypeDoc>
  22.257 +        <AnnotationTypeHeader/>
  22.258 +        <DeprecationInfo/>
  22.259 +        <AnnotationTypeSignature/>
  22.260 +        <AnnotationTypeDescription/>
  22.261 +        <AnnotationTypeTagInfo/>
  22.262 +        <MemberSummary>
  22.263 +        	<AnnotationTypeRequiredMemberSummary/>
  22.264 +            <AnnotationTypeOptionalMemberSummary/>
  22.265 +        </MemberSummary>
  22.266 +        <AnnotationTypeRequiredMemberDetails>
  22.267 +            <Header/>
  22.268 +            <AnnotationTypeRequiredMember>
  22.269 +                <MemberHeader/>
  22.270 +                <Signature/>
  22.271 +                <DeprecationInfo/>
  22.272 +                <MemberComments/>
  22.273 +                <TagInfo/>
  22.274 +                <MemberFooter/>
  22.275 +            </AnnotationTypeRequiredMember>
  22.276 +        </AnnotationTypeRequiredMemberDetails>
  22.277 +        <AnnotationTypeOptionalMemberDetails>
  22.278 +            <AnnotationTypeOptionalMember>
  22.279 +                <MemberHeader/>
  22.280 +                <Signature/>
  22.281 +                <DeprecationInfo/>
  22.282 +                <MemberComments/>
  22.283 +                <TagInfo/>
  22.284 +                <DefaultValueInfo/>
  22.285 +                <MemberFooter/>
  22.286 +            </AnnotationTypeOptionalMember>
  22.287 +            <Footer/>
  22.288 +        </AnnotationTypeOptionalMemberDetails>        
  22.289 +        <AnnotationTypeFooter/>
  22.290 +    </AnnotationTypeDoc>
  22.291 +    
  22.292 +    <ClassDoc>
  22.293 +        <ClassHeader/>
  22.294 +        <ClassTree/>
  22.295 +        <TypeParamInfo/>
  22.296 +        <SuperInterfacesInfo/>
  22.297 +        <ImplementedInterfacesInfo/>        
  22.298 +        <SubClassInfo/>
  22.299 +        <SubInterfacesInfo/>
  22.300 +        <InterfaceUsageInfo/>
  22.301 +        <NestedClassInfo/>
  22.302 +        <DeprecationInfo/>
  22.303 +        <ClassSignature/>
  22.304 +        <ClassDescription/>
  22.305 +        <ClassTagInfo/>
  22.306 +        <MemberSummary>
  22.307 +            <NestedClassesSummary/>
  22.308 +            <NestedClassesInheritedSummary/>
  22.309 +            <EnumConstantsSummary/>
  22.310 +            <FieldsSummary/>
  22.311 +            <FieldsInheritedSummary/>  
  22.312 +            <ConstructorsSummary/>
  22.313 +            <MethodsSummary/>
  22.314 +            <MethodsInheritedSummary/>
  22.315 +        </MemberSummary>
  22.316 +        <EnumConstantsDetails>
  22.317 +            <Header/>
  22.318 +            <EnumConstant>
  22.319 +                <EnumConstantHeader/>
  22.320 +                <Signature/>
  22.321 +                <DeprecationInfo/>
  22.322 +                <EnumConstantComments/>
  22.323 +                <TagInfo/>
  22.324 +                <EnumConstantFooter/>
  22.325 +            </EnumConstant>
  22.326 +            <Footer/>
  22.327 +        </EnumConstantsDetails>
  22.328 +        <FieldDetails>
  22.329 +            <Header/>
  22.330 +            <FieldDoc>
  22.331 +                <FieldHeader/>
  22.332 +                <Signature/>
  22.333 +                <DeprecationInfo/>
  22.334 +                <FieldComments/>
  22.335 +                <TagInfo/>
  22.336 +                <FieldFooter/>
  22.337 +            </FieldDoc>
  22.338 +            <Footer/>
  22.339 +        </FieldDetails>
  22.340 +        <ConstructorDetails>
  22.341 +            <Header/>
  22.342 +            <ConstructorDoc>
  22.343 +                <ConstructorHeader/>
  22.344 +                <Signature/>
  22.345 +                <DeprecationInfo/>
  22.346 +                <ConstructorComments/>
  22.347 +                <TagInfo/>
  22.348 +                <ConstructorFooter/>
  22.349 +            </ConstructorDoc>
  22.350 +            <Footer/>
  22.351 +        </ConstructorDetails>
  22.352 +        <MethodDetails>
  22.353 +            <Header/>
  22.354 +            <MethodDoc>
  22.355 +                <MethodHeader/>
  22.356 +                <Signature/>
  22.357 +                <DeprecationInfo/>
  22.358 +                <MethodComments/>
  22.359 +                <TagInfo/>
  22.360 +                <MethodFooter/>
  22.361 +            </MethodDoc>
  22.362 +            <Footer/>
  22.363 +        </MethodDetails>
  22.364 +        <ClassFooter/>
  22.365 +    </ClassDoc>
  22.366 +    
  22.367 +    <ConstantSummary>
  22.368 +        <Header/>
  22.369 +        <Contents/>
  22.370 +        <ConstantSummaries>
  22.371 +            <PackageConstantSummary>
  22.372 +                <PackageHeader/>
  22.373 +                <ClassConstantSummary>
  22.374 +                    <ClassHeader/>
  22.375 +                    <ConstantMembers/>
  22.376 +                    <ClassFooter/>
  22.377 +                </ClassConstantSummary>     
  22.378 +            </PackageConstantSummary>
  22.379 +        </ConstantSummaries>    
  22.380 +        <Footer/>
  22.381 +    </ConstantSummary>
  22.382 +    
  22.383 +    <SerializedForm>
  22.384 +        <Header/>
  22.385 +        <SerializedFormSummaries>
  22.386 +            <PackageSerializedForm>
  22.387 +                <PackageHeader/>
  22.388 +                <ClassSerializedForm>
  22.389 +                    <ClassHeader/>
  22.390 +                    <SerialUIDInfo/>
  22.391 +                    <MethodHeader/>
  22.392 +                    <SerializableMethods>
  22.393 +                        <MethodSubHeader/>
  22.394 +                        <DeprecatedMethodInfo/>
  22.395 +                        <MethodInfo>
  22.396 +                            <MethodDescription/>
  22.397 +                            <MethodTags/>
  22.398 +                        </MethodInfo>
  22.399 +                        <MethodFooter/>
  22.400 +                    </SerializableMethods>
  22.401 +                    <FieldHeader/>
  22.402 +                    <SerializableFields>
  22.403 +                        <FieldSubHeader/>
  22.404 +                        <FieldDeprecationInfo/>
  22.405 +                        <FieldInfo/>
  22.406 +                        <FieldSubFooter/>
  22.407 +                    </SerializableFields>
  22.408 +                </ClassSerializedForm>
  22.409 +            </PackageSerializedForm>
  22.410 +        </SerializedFormSummaries>
  22.411 +        <Footer/>
  22.412 +    </SerializedForm>
  22.413 +</Doclet>
    23.1 --- a/test/com/sun/javadoc/AuthorDD/AuthorDD.java	Tue Feb 24 17:48:53 2009 -0800
    23.2 +++ b/test/com/sun/javadoc/AuthorDD/AuthorDD.java	Fri Feb 27 18:57:17 2009 -0800
    23.3 @@ -91,7 +91,7 @@
    23.4  
    23.5              // Test multiple @author tags:
    23.6  
    23.7 -            { "<DT><STRONG>Author:</STRONG></DT>"+NL+"  <DD>Doug Kramer, Jamie, Neal</DD>"+NL,
    23.8 +            { "<DT><STRONG>Author:</STRONG></DT>"+NL+"  <DD>Doug Kramer, Jamie, Neal</DD>",
    23.9                                    BUGID + FS + "p1" + FS + "C1.html" },
   23.10  
   23.11          };
    24.1 --- a/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java	Tue Feb 24 17:48:53 2009 -0800
    24.2 +++ b/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java	Fri Feb 27 18:57:17 2009 -0800
    24.3 @@ -48,7 +48,7 @@
    24.4              "<A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/math/BigInteger.html?is-external=true#gcd(java.math.BigInteger)\" " +
    24.5                  "title=\"class or interface in java.math\"><CODE>Link to external member gcd</CODE></A>"},
    24.6          {BUG_ID + FS + "C.html",
    24.7 -            "<STRONG>Overrides:</STRONG><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE>"}
    24.8 +            "<STRONG>Overrides:</STRONG></DT><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE>"}
    24.9      };
   24.10      private static final String[][] NEGATED_TEST = NO_TEST;
   24.11      private static final String[] ARGS =
    25.1 --- a/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java	Tue Feb 24 17:48:53 2009 -0800
    25.2 +++ b/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java	Fri Feb 27 18:57:17 2009 -0800
    25.3 @@ -45,9 +45,10 @@
    25.4  
    25.5      //Input for string search tests.
    25.6      private static final String[][] TEST = {
    25.7 -        {BUG_ID + FS + "C.html", "<DL>"+NL+"<DD>This is just a simple constructor."+ NL +
    25.8 -            "<P>"+NL+"<DL>"+NL+"<DT><STRONG>Parameters:</STRONG><DD><CODE>i</CODE> - a param.</DL>"+NL +
    25.9 -            "</DL>"
   25.10 +        {BUG_ID + FS + "C.html", "<DL>" + NL + "<DD>This is just a simple constructor." + NL +
   25.11 +            "<P>" + NL + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG>" +
   25.12 +            "</DT><DD><CODE>i</CODE> - a param.</DD></DL>" + NL +
   25.13 +            "</DD>" + NL + "</DL>"
   25.14          }
   25.15      };
   25.16      private static final String[][] NEGATED_TEST = NO_TEST;
    26.1 --- a/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java	Tue Feb 24 17:48:53 2009 -0800
    26.2 +++ b/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java	Fri Feb 27 18:57:17 2009 -0800
    26.3 @@ -78,13 +78,12 @@
    26.4  
    26.5          {TARGET_FILE2, "<STRONG>Deprecated.</STRONG>" + NL +
    26.6                  "<P>" + NL +
    26.7 -            "<DL>" + NL +
    26.8 -            "<DT><PRE><FONT SIZE=\"-1\">@Deprecated" + NL +
    26.9 +            "<PRE><FONT SIZE=\"-1\">@Deprecated" + NL +
   26.10              "</FONT>public class <STRONG>DeprecatedClassByAnnotation</STRONG>"},
   26.11  
   26.12          {TARGET_FILE2, "public int <STRONG>field</STRONG></PRE>" + NL +
   26.13              "<DL>" + NL +
   26.14 -            "<DD><STRONG>Deprecated.</STRONG>&nbsp;<DL>"},
   26.15 +            "<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD></DL>"},
   26.16  
   26.17          {TARGET_FILE2, "<FONT SIZE=\"-1\">@Deprecated" + NL +
   26.18              "</FONT>public <STRONG>DeprecatedClassByAnnotation</STRONG>()</PRE>" + NL +
    27.1 --- a/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java	Tue Feb 24 17:48:53 2009 -0800
    27.2 +++ b/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java	Fri Feb 27 18:57:17 2009 -0800
    27.3 @@ -39,13 +39,13 @@
    27.4      private static final String BUG_ID = "4857717";
    27.5      private static final String[][] TEST = {
    27.6          {BUG_ID + FS + "pkg" + FS + "XReader.html",
    27.7 -            "<STRONG>Overrides:</STRONG><DD><CODE><A HREF=\"" +
    27.8 +            "<STRONG>Overrides:</STRONG></DT><DD><CODE><A HREF=\"" +
    27.9              "http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true#read()\"" +
   27.10                  " title=\"class or interface in java.io\">read</A></CODE> in class " +
   27.11                  "<CODE><A HREF=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true\"" +
   27.12                  " title=\"class or interface in java.io\">FilterReader</A>"},
   27.13          {BUG_ID + FS + "pkg" + FS + "XReader.html",
   27.14 -            "<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"" +
   27.15 +            "<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"" +
   27.16              "http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true#readInt()\"" +
   27.17              " title=\"class or interface in java.io\">readInt</A></CODE> in interface " +
   27.18              "<CODE><A HREF=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true\"" +
    28.1 --- a/test/com/sun/javadoc/testHref/TestHref.java	Tue Feb 24 17:48:53 2009 -0800
    28.2 +++ b/test/com/sun/javadoc/testHref/TestHref.java	Fri Feb 27 18:57:17 2009 -0800
    28.3 @@ -67,7 +67,7 @@
    28.4          },
    28.5          //@see test.
    28.6          {BUG_ID + FS + "pkg" + FS + "C2.html",
    28.7 -            "See Also:</STRONG><DD><A HREF=\"../pkg/C1.html#method(int, int, java.util.ArrayList)\">"
    28.8 +            "See Also:</STRONG></DT><DD><A HREF=\"../pkg/C1.html#method(int, int, java.util.ArrayList)\">"
    28.9          },
   28.10  
   28.11          //Header does not link to the page itself.
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java	Fri Feb 27 18:57:17 2009 -0800
    29.3 @@ -0,0 +1,370 @@
    29.4 +/*
    29.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    29.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    29.7 + *
    29.8 + * This code is free software; you can redistribute it and/or modify it
    29.9 + * under the terms of the GNU General Public License version 2 only, as
   29.10 + * published by the Free Software Foundation.  Sun designates this
   29.11 + * particular file as subject to the "Classpath" exception as provided
   29.12 + * by Sun in the LICENSE file that accompanied this code.
   29.13 + *
   29.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   29.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   29.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   29.17 + * version 2 for more details (a copy is included in the LICENSE file that
   29.18 + * accompanied this code).
   29.19 + *
   29.20 + * You should have received a copy of the GNU General Public License version
   29.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   29.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   29.23 + *
   29.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   29.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   29.26 + * have any questions.
   29.27 + */
   29.28 +
   29.29 +/*
   29.30 + * @test
   29.31 + * @bug 6786690
   29.32 + * @summary This test verifies the nesting of definition list tags.
   29.33 + * @author Bhavesh Patel
   29.34 + * @library ../lib/
   29.35 + * @build JavadocTester
   29.36 + * @build TestHtmlDefinitionListTag
   29.37 + * @run main TestHtmlDefinitionListTag
   29.38 + */
   29.39 +
   29.40 +public class TestHtmlDefinitionListTag extends JavadocTester {
   29.41 +
   29.42 +    private static final String BUG_ID = "6786690";
   29.43 +
   29.44 +    // Test common to all runs of javadoc. The class signature should print
   29.45 +    // properly enclosed definition list tags and the Annotation Type
   29.46 +    // Optional Element should print properly nested definition list tags
   29.47 +    // for default value.
   29.48 +    private static final String[][] TEST_ALL = {
   29.49 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<PRE>public class " +
   29.50 +                 "<STRONG>C1</STRONG>" + NL + "extends " +
   29.51 +                 "java.lang.Object" + NL + "implements " +
   29.52 +                 "java.io.Serializable</PRE>"},
   29.53 +        {BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL>" + NL + "<DD><DL>" + NL +
   29.54 +                 "<DT><STRONG>Default:</STRONG></DT><DD>true</DD>" + NL +
   29.55 +                 "</DL>" + NL + "</DD>" + NL + "</DL>"}};
   29.56 +
   29.57 +    // Test for normal run of javadoc in which various ClassDocs and
   29.58 +    // serialized form should have properly nested definition list tags
   29.59 +    // enclosing comments, tags and deprecated information.
   29.60 +    private static final String[][] TEST_CMNT_DEPR = {
   29.61 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
   29.62 +                 "<DT><STRONG>Since:</STRONG></DT>" + NL +
   29.63 +                 "  <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" +
   29.64 +                 "<A HREF=\"../pkg1/C2.html\" title=\"class in pkg1\">" +
   29.65 +                 "<CODE>C2</CODE></A>, " + NL +
   29.66 +                 "<A HREF=\"../serialized-form.html#pkg1.C1\">" +
   29.67 +                 "Serialized Form</A></DD></DL>"},
   29.68 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
   29.69 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
   29.70 +                 " 1.5, replaced by" + NL +
   29.71 +                 " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
   29.72 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
   29.73 +                 "<DD>This field indicates whether the C1 is undecorated." + NL +
   29.74 +                 "<P>" + NL + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>" +
   29.75 +                 "Since:</STRONG></DT>" + NL + "  <DD>1.4</DD>" + NL + "<DT>" +
   29.76 +                 "<STRONG>See Also:</STRONG></DT><DD>" +
   29.77 +                 "<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
   29.78 +                 "setUndecorated(boolean)</CODE></A></DD></DL>" + NL +"</DD>" + NL +
   29.79 +                 "</DL>"},
   29.80 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
   29.81 +                 "<DD>Constructor." + NL + "<P>" + NL + "</DD>" + NL +
   29.82 +                 "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" +
   29.83 +                 "<CODE>title</CODE> - the title</DD><DD><CODE>test</CODE>" +
   29.84 +                 " - boolean value</DD>" + NL + "<DT><STRONG>Throws:</STRONG></DT>" + NL +
   29.85 +                 "<DD><CODE>java.lang.IllegalArgumentException</CODE>" +
   29.86 +                 " - if the <code>owner</code>'s" + NL + "     <code>GraphicsConfiguration" +
   29.87 +                 "</code> is not from a screen device</DD>" + NL +"<DD><CODE>" +
   29.88 +                 "HeadlessException</CODE></DD></DL>" + NL + "</DD>" + NL +
   29.89 +                 "</DL>"},
   29.90 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
   29.91 +                 "<DD>Method comments." + NL + "<P>" + NL +
   29.92 +                 "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:" +
   29.93 +                 "</STRONG></DT><DD><CODE>undecorated</CODE> - <code>true</code>" +
   29.94 +                 " if no decorations are" + NL + "         to be enabled;" + NL +
   29.95 +                 "         <code>false</code> if decorations are to be enabled." +
   29.96 +                 "</DD><DT><STRONG>Since:</STRONG></DT>" + NL +
   29.97 +                 "  <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT>" +
   29.98 +                 "<DD><A HREF=\"../pkg1/C1.html#readObject()\"><CODE>" +
   29.99 +                 "readObject()</CODE></A></DD></DL>" + NL + "</DD>" + NL +
  29.100 +                 "</DL>"},
  29.101 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><DL>" + NL +
  29.102 +                 "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
  29.103 +                 "java.io.IOException</CODE></DD><DT><STRONG>See Also:" +
  29.104 +                 "</STRONG></DT><DD>" +
  29.105 +                 "<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
  29.106 +                 "<CODE>setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
  29.107 +                 "</DD>" + NL + "</DL>"},
  29.108 +        {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL +
  29.109 +                 "<DD>No modal exclusion." + NL + "<P>" + NL +"</DD>" + NL +
  29.110 +                 "</DL>"},
  29.111 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD>Constructor." + NL +
  29.112 +                 "<P>" + NL +"</DD>" + NL + "</DL>"},
  29.113 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD><STRONG>" +
  29.114 +                 "Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced " +
  29.115 +                 "by" + NL + " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
  29.116 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
  29.117 +                 "</DD><DD>Set visible." + NL + "<P>" + NL + "</DD>" +NL +
  29.118 +                 "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" +
  29.119 +                 "<CODE>set</CODE> - boolean</DD><DT><STRONG>Since:</STRONG></DT>" + NL +
  29.120 +                 "  <DD>1.4</DD></DL>" + NL + "</DD>" + NL + "</DL>"},
  29.121 +        {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "<DD>Comment." + NL +
  29.122 +                 "<P>" + NL + "</DD>" + NL + "</DL>"},
  29.123 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL +
  29.124 +                 "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
  29.125 +                 "java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" +
  29.126 +                 "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.127 +                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
  29.128 +                 "</DD>" + NL + "</DL>"},
  29.129 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
  29.130 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version " +
  29.131 +                 "1.5, replaced by" + NL +
  29.132 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.133 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
  29.134 +                 "<DD>This field indicates whether the C1 is undecorated." + NL +
  29.135 +                 "<P>" + NL + "</DD>" + NL + "<DD>&nbsp;</DD>" + NL +
  29.136 +                 "<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL +
  29.137 +                 "  <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" +
  29.138 +                 "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.139 +                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
  29.140 +                 "</DD>" + NL + "</DL>"},
  29.141 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
  29.142 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
  29.143 +                 " 1.5, replaced by" + NL +
  29.144 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.145 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
  29.146 +                 "</DD><DD>Reads the object stream." + NL + "<P>" + NL +
  29.147 +                 "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" +
  29.148 +                 "</STRONG></DT>" + NL + "<DD><CODE><code>" +
  29.149 +                 "IOException</code></CODE></DD>" + NL +
  29.150 +                 "<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL +
  29.151 +                 "</DD>" + NL + "</DL>"},
  29.152 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
  29.153 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD><DD>" +
  29.154 +                 "The name for this class." + NL + "<P>" + NL + "</DD>" + NL +
  29.155 +                 "<DD>&nbsp;</DD>" + NL + "</DL>"}};
  29.156 +
  29.157 +    // Test with -nocomment option. The ClassDocs and serialized form should
  29.158 +    // have properly nested definition list tags enclosing deprecated
  29.159 +    // information and should not display definition lists for comments
  29.160 +    // and tags.
  29.161 +    private static final String[][] TEST_NOCMNT = {
  29.162 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><STRONG>" +
  29.163 +                 "Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
  29.164 +                 " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
  29.165 +                 "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
  29.166 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL +
  29.167 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
  29.168 +                 " 1.5, replaced by" + NL +
  29.169 +                 " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
  29.170 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
  29.171 +                 "</DD></DL>"},
  29.172 +        {BUG_ID + FS + "pkg1" + FS + "C5.html", "<PRE>" + NL +
  29.173 +                 "protected <STRONG>C5</STRONG>()</PRE>" + NL + "<DL>" + NL +
  29.174 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD></DL>"},
  29.175 +        {BUG_ID + FS + "pkg1" + FS + "C5.html", "<PRE>" + NL +
  29.176 +                 "public void <STRONG>printInfo</STRONG>()</PRE>" + NL + "<DL>" + NL +
  29.177 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD></DL>"},
  29.178 +        {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "boolean <STRONG>" +
  29.179 +                 "undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
  29.180 +                 "Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
  29.181 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
  29.182 +                 "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
  29.183 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" +
  29.184 +                 "Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
  29.185 +                 " 1.5, replaced by" + NL +
  29.186 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.187 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
  29.188 +                 "</DD></DL>"},
  29.189 +        {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" +
  29.190 +                 "publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
  29.191 +                 "Deprecated.</STRONG>&nbsp;</DD></DL>"}};
  29.192 +
  29.193 +    // Test with -nodeprecated option. The ClassDocs should have properly nested
  29.194 +    // definition list tags enclosing comments and tags. The ClassDocs should not
  29.195 +    // display definition list for deprecated information. The serialized form
  29.196 +    // should display properly nested definition list tags for comments, tags
  29.197 +    // and deprecated information.
  29.198 +    private static final String[][] TEST_NODEPR = {
  29.199 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
  29.200 +                 "<DT><STRONG>Since:</STRONG></DT>" + NL +
  29.201 +                 "  <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" +
  29.202 +                 "<A HREF=\"../pkg1/C2.html\" title=\"class in pkg1\">" +
  29.203 +                 "<CODE>C2</CODE></A>, " + NL +
  29.204 +                 "<A HREF=\"../serialized-form.html#pkg1.C1\">" +
  29.205 +                 "Serialized Form</A></DD></DL>"},
  29.206 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
  29.207 +                 "<DD>Constructor." + NL + "<P>" + NL + "</DD>" + NL +
  29.208 +                 "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" +
  29.209 +                 "<CODE>title</CODE> - the title</DD><DD><CODE>test</CODE>" +
  29.210 +                 " - boolean value</DD>" + NL + "<DT><STRONG>Throws:</STRONG></DT>" + NL +
  29.211 +                 "<DD><CODE>java.lang.IllegalArgumentException</CODE>" +
  29.212 +                 " - if the <code>owner</code>'s" + NL + "     <code>GraphicsConfiguration" +
  29.213 +                 "</code> is not from a screen device</DD>" + NL +"<DD><CODE>" +
  29.214 +                 "HeadlessException</CODE></DD></DL>" + NL + "</DD>" + NL +
  29.215 +                 "</DL>"},
  29.216 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
  29.217 +                 "<DD>Method comments." + NL + "<P>" + NL +
  29.218 +                 "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:" +
  29.219 +                 "</STRONG></DT><DD><CODE>undecorated</CODE> - <code>true</code>" +
  29.220 +                 " if no decorations are" + NL + "         to be enabled;" + NL +
  29.221 +                 "         <code>false</code> if decorations are to be enabled." +
  29.222 +                 "</DD><DT><STRONG>Since:</STRONG></DT>" + NL +
  29.223 +                 "  <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT>" +
  29.224 +                 "<DD><A HREF=\"../pkg1/C1.html#readObject()\"><CODE>" +
  29.225 +                 "readObject()</CODE></A></DD></DL>" + NL + "</DD>" + NL +
  29.226 +                 "</DL>"},
  29.227 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><DL>" + NL +
  29.228 +                 "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
  29.229 +                 "java.io.IOException</CODE></DD><DT><STRONG>See Also:" +
  29.230 +                 "</STRONG></DT><DD>" +
  29.231 +                 "<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
  29.232 +                 "<CODE>setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
  29.233 +                 "</DD>" + NL + "</DL>"},
  29.234 +        {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL +
  29.235 +                 "<DD>No modal exclusion." + NL + "<P>" + NL +"</DD>" + NL +
  29.236 +                 "</DL>"},
  29.237 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD>Constructor." + NL +
  29.238 +                 "<P>" + NL +"</DD>" + NL + "</DL>"},
  29.239 +        {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "<DD>Comment." + NL +
  29.240 +                 "<P>" + NL + "</DD>" + NL + "</DL>"},
  29.241 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL +
  29.242 +                 "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
  29.243 +                 "java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" +
  29.244 +                 "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.245 +                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
  29.246 +                 "</DD>" + NL + "</DL>"},
  29.247 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
  29.248 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version " +
  29.249 +                 "1.5, replaced by" + NL +
  29.250 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.251 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
  29.252 +                 "<DD>This field indicates whether the C1 is undecorated." + NL +
  29.253 +                 "<P>" + NL + "</DD>" + NL + "<DD>&nbsp;</DD>" + NL +
  29.254 +                 "<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL +
  29.255 +                 "  <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" +
  29.256 +                 "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.257 +                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
  29.258 +                 "</DD>" + NL + "</DL>"},
  29.259 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
  29.260 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
  29.261 +                 " 1.5, replaced by" + NL +
  29.262 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.263 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
  29.264 +                 "</DD><DD>Reads the object stream." + NL + "<P>" + NL +
  29.265 +                 "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" +
  29.266 +                 "</STRONG></DT>" + NL + "<DD><CODE><code>" +
  29.267 +                 "IOException</code></CODE></DD>" + NL +
  29.268 +                 "<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL +
  29.269 +                 "</DD>" + NL + "</DL>"},
  29.270 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
  29.271 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD><DD>" +
  29.272 +                 "The name for this class." + NL + "<P>" + NL + "</DD>" + NL +
  29.273 +                 "<DD>&nbsp;</DD>" + NL + "</DL>"}};
  29.274 +
  29.275 +    // Test with -nocomment and -nodeprecated options. The ClassDocs whould
  29.276 +    // not display definition lists for any member details. The serialized
  29.277 +    // form should display properly nested definition list tags for
  29.278 +    // deprecated information only.
  29.279 +    private static final String[][] TEST_NOCMNT_NODEPR = {
  29.280 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<PRE>" + NL + "public void " +
  29.281 +                 "<STRONG>readObject</STRONG>()" + NL + "                throws" +
  29.282 +                 " java.io.IOException</PRE>" + NL + "<HR>"},
  29.283 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<PRE>" +NL + "public <STRONG>" +
  29.284 +                 "C2</STRONG>()</PRE>" + NL + "<HR>"},
  29.285 +        {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<PRE>" + NL +
  29.286 +                 "public static final " +
  29.287 +                 "<A HREF=\"../pkg1/C1.ModalExclusionType.html\" " +
  29.288 +                 "title=\"enum in pkg1\">C1.ModalExclusionType</A> <STRONG>" +
  29.289 +                 "APPLICATION_EXCLUDE</STRONG></PRE>" + NL + "<HR>"},
  29.290 +        {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "boolean <STRONG>" +
  29.291 +                 "undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
  29.292 +                 "Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
  29.293 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
  29.294 +                 "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
  29.295 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" +
  29.296 +                 "Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
  29.297 +                 " 1.5, replaced by" + NL +
  29.298 +                 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
  29.299 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
  29.300 +                 "</DD></DL>"},
  29.301 +        {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" +
  29.302 +                 "publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
  29.303 +                 "Deprecated.</STRONG>&nbsp;</DD></DL>"}};
  29.304 +
  29.305 +    // Test for valid HTML generation which should not comprise of empty
  29.306 +    // definition list tags.
  29.307 +    private static final String[][] NEGATED_TEST = {
  29.308 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL></DL>"},
  29.309 +        {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "</DL>"},
  29.310 +        {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL></DL>"},
  29.311 +        {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL + "</DL>"},
  29.312 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL></DL>"},
  29.313 +        {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "</DL>"},
  29.314 +        {BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "<DL></DL>"},
  29.315 +        {BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "<DL>" + NL + "</DL>"},
  29.316 +        {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL></DL>"},
  29.317 +        {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "</DL>"},
  29.318 +        {BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL></DL>"},
  29.319 +        {BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL>" + NL + "</DL>"},
  29.320 +        {BUG_ID + FS + "pkg1" + FS + "C5.html", "<DL></DL>"},
  29.321 +        {BUG_ID + FS + "pkg1" + FS + "C5.html", "<DL>" + NL + "</DL>"},
  29.322 +        {BUG_ID + FS + "overview-tree.html", "<DL></DL>"},
  29.323 +        {BUG_ID + FS + "overview-tree.html", "<DL>" + NL + "</DL>"},
  29.324 +        {BUG_ID + FS + "serialized-form.html", "<DL></DL>"},
  29.325 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "</DL>"}};
  29.326 +
  29.327 +    private static final String[] ARGS1 =
  29.328 +        new String[] {
  29.329 +            "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
  29.330 +
  29.331 +    private static final String[] ARGS2 =
  29.332 +        new String[] {
  29.333 +            "-d", BUG_ID, "-nocomment", "-sourcepath", SRC_DIR, "pkg1"};
  29.334 +
  29.335 +    private static final String[] ARGS3 =
  29.336 +        new String[] {
  29.337 +            "-d", BUG_ID, "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"};
  29.338 +
  29.339 +    private static final String[] ARGS4 =
  29.340 +        new String[] {
  29.341 +            "-d", BUG_ID, "-nocomment", "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"};
  29.342 +
  29.343 +    /**
  29.344 +     * The entry point of the test.
  29.345 +     * @param args the array of command line arguments.
  29.346 +     */
  29.347 +    public static void main(String[] args) {
  29.348 +        TestHtmlDefinitionListTag tester = new TestHtmlDefinitionListTag();
  29.349 +        run(tester, ARGS1, TEST_ALL, NEGATED_TEST);
  29.350 +        run(tester, ARGS1, TEST_CMNT_DEPR, NEGATED_TEST);
  29.351 +        run(tester, ARGS2, TEST_ALL, NEGATED_TEST);
  29.352 +        run(tester, ARGS2, TEST_NOCMNT, TEST_CMNT_DEPR);
  29.353 +        run(tester, ARGS3, TEST_ALL, NEGATED_TEST);
  29.354 +        run(tester, ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR);
  29.355 +        run(tester, ARGS4, TEST_ALL, NEGATED_TEST);
  29.356 +        run(tester, ARGS4, TEST_NOCMNT_NODEPR, TEST_CMNT_DEPR);
  29.357 +        tester.printSummary();
  29.358 +    }
  29.359 +
  29.360 +    /**
  29.361 +     * {@inheritDoc}
  29.362 +     */
  29.363 +    public String getBugId() {
  29.364 +        return BUG_ID;
  29.365 +    }
  29.366 +
  29.367 +    /**
  29.368 +     * {@inheritDoc}
  29.369 +     */
  29.370 +    public String getBugName() {
  29.371 +        return getClass().getName();
  29.372 +    }
  29.373 +}
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java	Fri Feb 27 18:57:17 2009 -0800
    30.3 @@ -0,0 +1,108 @@
    30.4 +/*
    30.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    30.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    30.7 + *
    30.8 + * This code is free software; you can redistribute it and/or modify it
    30.9 + * under the terms of the GNU General Public License version 2 only, as
   30.10 + * published by the Free Software Foundation.  Sun designates this
   30.11 + * particular file as subject to the "Classpath" exception as provided
   30.12 + * by Sun in the LICENSE file that accompanied this code.
   30.13 + *
   30.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   30.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   30.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   30.17 + * version 2 for more details (a copy is included in the LICENSE file that
   30.18 + * accompanied this code).
   30.19 + *
   30.20 + * You should have received a copy of the GNU General Public License version
   30.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   30.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   30.23 + *
   30.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   30.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   30.26 + * have any questions.
   30.27 + */
   30.28 +
   30.29 +package pkg1;
   30.30 +
   30.31 +import java.io.IOException;
   30.32 +import java.io.Serializable;
   30.33 +
   30.34 +/**
   30.35 + * A class comment for testing.
   30.36 + *
   30.37 + * @author      Bhavesh Patel
   30.38 + * @see C2
   30.39 + * @since       JDK1.0
   30.40 + */
   30.41 +
   30.42 +public class C1 implements Serializable {
   30.43 +
   30.44 +    /**
   30.45 +     * This field indicates whether the C1 is undecorated.
   30.46 +     *
   30.47 +     * @see #setUndecorated(boolean)
   30.48 +     * @since 1.4
   30.49 +     * @serial
   30.50 +     * @deprecated As of JDK version 1.5, replaced by
   30.51 +     * {@link C1#setUndecorated(boolean) setUndecorated(boolean)}.
   30.52 +     */
   30.53 +     @Deprecated
   30.54 +    public boolean undecorated = false;
   30.55 +
   30.56 +    private String title;
   30.57 +
   30.58 +    /**
   30.59 +     * This enum specifies the possible modal exclusion types.
   30.60 +     *
   30.61 +     * @since 1.6
   30.62 +     */
   30.63 +    public static enum ModalExclusionType {
   30.64 +        /**
   30.65 +         * No modal exclusion.
   30.66 +         */
   30.67 +        NO_EXCLUDE,
   30.68 +        /**
   30.69 +         * <code>APPLICATION_EXCLUDE</code> indicates that a top-level window
   30.70 +         * won't be blocked by any application-modal dialogs. Also, it isn't
   30.71 +         * blocked by document-modal dialogs from outside of its child hierarchy.
   30.72 +         */
   30.73 +        APPLICATION_EXCLUDE
   30.74 +    };
   30.75 +
   30.76 +    /**
   30.77 +     * Constructor.
   30.78 +     *
   30.79 +     * @param title the title
   30.80 +     * @param test boolean value
   30.81 +     * @exception IllegalArgumentException if the <code>owner</code>'s
   30.82 +     *     <code>GraphicsConfiguration</code> is not from a screen device
   30.83 +     * @exception HeadlessException
   30.84 +     */
   30.85 +     public C1(String title, boolean test) {
   30.86 +
   30.87 +     }
   30.88 +
   30.89 +     public C1(String title) {
   30.90 +
   30.91 +     }
   30.92 +
   30.93 +    /**
   30.94 +     * Method comments.
   30.95 +     * @param  undecorated <code>true</code> if no decorations are
   30.96 +     *         to be enabled;
   30.97 +     *         <code>false</code> if decorations are to be enabled.
   30.98 +     * @see    #readObject()
   30.99 +     * @since 1.4
  30.100 +     */
  30.101 +    public void setUndecorated(boolean undecorated) {
  30.102 +        /* Make sure we don't run in the middle of peer creation.*/
  30.103 +    }
  30.104 +
  30.105 +    /**
  30.106 +     * @see #setUndecorated(boolean)
  30.107 +     */
  30.108 +    public void readObject() throws IOException {
  30.109 +
  30.110 +    }
  30.111 +}
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java	Fri Feb 27 18:57:17 2009 -0800
    31.3 @@ -0,0 +1,86 @@
    31.4 +/*
    31.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    31.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    31.7 + *
    31.8 + * This code is free software; you can redistribute it and/or modify it
    31.9 + * under the terms of the GNU General Public License version 2 only, as
   31.10 + * published by the Free Software Foundation.  Sun designates this
   31.11 + * particular file as subject to the "Classpath" exception as provided
   31.12 + * by Sun in the LICENSE file that accompanied this code.
   31.13 + *
   31.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   31.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   31.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   31.17 + * version 2 for more details (a copy is included in the LICENSE file that
   31.18 + * accompanied this code).
   31.19 + *
   31.20 + * You should have received a copy of the GNU General Public License version
   31.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   31.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   31.23 + *
   31.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   31.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   31.26 + * have any questions.
   31.27 + */
   31.28 +
   31.29 +package pkg1;
   31.30 +
   31.31 +import java.io.ObjectInputStream;
   31.32 +import java.io.IOException;
   31.33 +import java.io.Serializable;
   31.34 +
   31.35 +/**
   31.36 + * A class comment for testing.
   31.37 + *
   31.38 + * @author      Bhavesh Patel
   31.39 + * @see C1
   31.40 + * @since       JDK1.0
   31.41 + */
   31.42 +
   31.43 +public class C2 implements Serializable {
   31.44 +
   31.45 +    /**
   31.46 +     * This field indicates title.
   31.47 +     */
   31.48 +    String title;
   31.49 +
   31.50 +    public static enum ModalType {
   31.51 +        NO_EXCLUDE
   31.52 +    };
   31.53 +
   31.54 +    /**
   31.55 +     * Constructor.
   31.56 +     *
   31.57 +     */
   31.58 +     public C2() {
   31.59 +
   31.60 +     }
   31.61 +
   31.62 +     public C2(String title) {
   31.63 +
   31.64 +     }
   31.65 +
   31.66 +     /**
   31.67 +     * Set visible.
   31.68 +     *
   31.69 +     * @param set boolean
   31.70 +     * @since 1.4
   31.71 +     * @deprecated As of JDK version 1.5, replaced by
   31.72 +     * {@link C1#setUndecorated(boolean) setUndecorated(boolean)}.
   31.73 +     */
   31.74 +     @Deprecated
   31.75 +     public void setVisible(boolean set) {
   31.76 +     }
   31.77 +
   31.78 +     /**
   31.79 +     * Reads the object stream.
   31.80 +     *
   31.81 +     * @param s ObjectInputStream
   31.82 +     * @throws <code>IOException</code>
   31.83 +     * @deprecated As of JDK version 1.5, replaced by
   31.84 +     * {@link C1#setUndecorated(boolean) setUndecorated(boolean)}.
   31.85 +     */
   31.86 +     @Deprecated
   31.87 +     public void readObject(ObjectInputStream s) throws IOException {
   31.88 +     }
   31.89 +}
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java	Fri Feb 27 18:57:17 2009 -0800
    32.3 @@ -0,0 +1,42 @@
    32.4 +/*
    32.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    32.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    32.7 + *
    32.8 + * This code is free software; you can redistribute it and/or modify it
    32.9 + * under the terms of the GNU General Public License version 2 only, as
   32.10 + * published by the Free Software Foundation.  Sun designates this
   32.11 + * particular file as subject to the "Classpath" exception as provided
   32.12 + * by Sun in the LICENSE file that accompanied this code.
   32.13 + *
   32.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   32.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   32.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   32.17 + * version 2 for more details (a copy is included in the LICENSE file that
   32.18 + * accompanied this code).
   32.19 + *
   32.20 + * You should have received a copy of the GNU General Public License version
   32.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   32.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   32.23 + *
   32.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   32.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   32.26 + * have any questions.
   32.27 + */
   32.28 +
   32.29 +package pkg1;
   32.30 +
   32.31 +import java.lang.annotation.*;
   32.32 +
   32.33 +/**
   32.34 + * Test Annotation class.
   32.35 + *
   32.36 + * @author Bhavesh Patel
   32.37 + * @since 1.5
   32.38 + */
   32.39 +@Retention(RetentionPolicy.SOURCE)
   32.40 +public @interface C3 {
   32.41 +    /**
   32.42 +     * Comment.
   32.43 +     */
   32.44 +    String[] value();
   32.45 +}
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java	Fri Feb 27 18:57:17 2009 -0800
    33.3 @@ -0,0 +1,39 @@
    33.4 +/*
    33.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    33.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    33.7 + *
    33.8 + * This code is free software; you can redistribute it and/or modify it
    33.9 + * under the terms of the GNU General Public License version 2 only, as
   33.10 + * published by the Free Software Foundation.  Sun designates this
   33.11 + * particular file as subject to the "Classpath" exception as provided
   33.12 + * by Sun in the LICENSE file that accompanied this code.
   33.13 + *
   33.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   33.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   33.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   33.17 + * version 2 for more details (a copy is included in the LICENSE file that
   33.18 + * accompanied this code).
   33.19 + *
   33.20 + * You should have received a copy of the GNU General Public License version
   33.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   33.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   33.23 + *
   33.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   33.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   33.26 + * have any questions.
   33.27 + */
   33.28 +
   33.29 +package pkg1;
   33.30 +
   33.31 +import java.lang.annotation.*;
   33.32 +
   33.33 +/*
   33.34 + * The @Inherited annotation has no effect when applied to an interface.
   33.35 + */
   33.36 +@Documented
   33.37 +@Retention(RetentionPolicy.RUNTIME)
   33.38 +@Target(ElementType.TYPE)
   33.39 +@Inherited
   33.40 +public @interface C4 {
   33.41 +    boolean value() default true;
   33.42 +}
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java	Fri Feb 27 18:57:17 2009 -0800
    34.3 @@ -0,0 +1,65 @@
    34.4 +/*
    34.5 + * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
    34.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    34.7 + *
    34.8 + * This code is free software; you can redistribute it and/or modify it
    34.9 + * under the terms of the GNU General Public License version 2 only, as
   34.10 + * published by the Free Software Foundation.  Sun designates this
   34.11 + * particular file as subject to the "Classpath" exception as provided
   34.12 + * by Sun in the LICENSE file that accompanied this code.
   34.13 + *
   34.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   34.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   34.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   34.17 + * version 2 for more details (a copy is included in the LICENSE file that
   34.18 + * accompanied this code).
   34.19 + *
   34.20 + * You should have received a copy of the GNU General Public License version
   34.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   34.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   34.23 + *
   34.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   34.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
   34.26 + * have any questions.
   34.27 + */
   34.28 +
   34.29 +package pkg1;
   34.30 +
   34.31 +import java.io.Serializable;
   34.32 +
   34.33 +/**
   34.34 + * Test for Serializable
   34.35 + *
   34.36 + * @author Bhavesh Patel
   34.37 + * @deprecated This class is no longer used.
   34.38 + */
   34.39 +@Deprecated
   34.40 +public abstract class C5 implements Serializable {
   34.41 +
   34.42 +    /**
   34.43 +     * The name for this class.
   34.44 +     *
   34.45 +     * @serial
   34.46 +     */
   34.47 +    private String name;
   34.48 +
   34.49 +    /**
   34.50 +     * @serial
   34.51 +     */
   34.52 +    private int publicKey;
   34.53 +
   34.54 +    /**
   34.55 +     * Constructor for serialization only.
   34.56 +     */
   34.57 +    protected C5() {
   34.58 +
   34.59 +    }
   34.60 +
   34.61 +    /**
   34.62 +     * Prints general information.
   34.63 +     *
   34.64 +     */
   34.65 +    public void printInfo() {
   34.66 +
   34.67 +    }
   34.68 +}
    35.1 --- a/test/com/sun/javadoc/testIndex/TestIndex.java	Tue Feb 24 17:48:53 2009 -0800
    35.2 +++ b/test/com/sun/javadoc/testIndex/TestIndex.java	Fri Feb 27 18:57:17 2009 -0800
    35.3 @@ -73,10 +73,10 @@
    35.4          {BUG_ID + FS + "index-all.html",
    35.5              "<DT><A HREF=\"./pkg/C.html#Java\"><STRONG>Java</STRONG></A> - " + NL +
    35.6              "Static variable in class pkg.<A HREF=\"./pkg/C.html\" title=\"class in pkg\">C</A>" + NL +
    35.7 -            "<DD>&nbsp;" + NL +
    35.8 +            "</DT><DD>&nbsp;</DD>" + NL + NL +
    35.9              "<DT><A HREF=\"./pkg/C.html#JDK\"><STRONG>JDK</STRONG></A> - " + NL +
   35.10              "Static variable in class pkg.<A HREF=\"./pkg/C.html\" title=\"class in pkg\">C</A>" + NL +
   35.11 -            "<DD>&nbsp;"},
   35.12 +            "</DT><DD>&nbsp;</DD>"},
   35.13      };
   35.14      private static final String[][] NEGATED_TEST = NO_TEST;
   35.15  
    36.1 --- a/test/com/sun/javadoc/testInterface/TestInterface.java	Tue Feb 24 17:48:53 2009 -0800
    36.2 +++ b/test/com/sun/javadoc/testInterface/TestInterface.java	Fri Feb 27 18:57:17 2009 -0800
    36.3 @@ -55,7 +55,7 @@
    36.4  
    36.5          // Make sure known implementing class list is correct and omits type parameters.
    36.6          {BUG_ID + FS + "pkg" + FS + "Interface.html",
    36.7 -            "<DT><STRONG>All Known Implementing Classes:</STRONG> " +
    36.8 +            "<DT><STRONG>All Known Implementing Classes:</STRONG></DT> " +
    36.9              "<DD><A HREF=\"../pkg/Child.html\" " +
   36.10              "title=\"class in pkg\">Child</A>, " +
   36.11              "<A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">" +
   36.12 @@ -63,7 +63,9 @@
   36.13  
   36.14           // Make sure "All Implemented Interfaces": has substituted type parameters
   36.15           {BUG_ID + FS + "pkg" + FS + "Child.html",
   36.16 -            "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A>&lt;T&gt;"
   36.17 +            "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD>" +
   36.18 +            "<A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">" +
   36.19 +            "Interface</A>&lt;T&gt;"
   36.20           },
   36.21           //Make sure Class Tree has substituted type parameters.
   36.22           {BUG_ID + FS + "pkg" + FS + "Child.html",
   36.23 @@ -75,15 +77,15 @@
   36.24           },
   36.25           //Make sure "Direct Know Subclasses" omits type parameters
   36.26          {BUG_ID + FS + "pkg" + FS + "Parent.html",
   36.27 -            "<STRONG>Direct Known Subclasses:</STRONG> <DD><A HREF=\"../pkg/Child.html\" title=\"class in pkg\">Child</A>"
   36.28 +            "<STRONG>Direct Known Subclasses:</STRONG></DT> <DD><A HREF=\"../pkg/Child.html\" title=\"class in pkg\">Child</A>"
   36.29          },
   36.30          //Make sure "Specified By" has substituted type parameters.
   36.31          {BUG_ID + FS + "pkg" + FS + "Child.html",
   36.32 -            "<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg/Interface.html#method()\">method</A></CODE> in interface <CODE><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
   36.33 +            "<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg/Interface.html#method()\">method</A></CODE> in interface <CODE><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
   36.34           },
   36.35          //Make sure "Overrides" has substituted type parameters.
   36.36          {BUG_ID + FS + "pkg" + FS + "Child.html",
   36.37 -            "<STRONG>Overrides:</STRONG><DD><CODE><A HREF=\"../pkg/Parent.html#method()\">method</A></CODE> in class <CODE><A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">Parent</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
   36.38 +            "<STRONG>Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg/Parent.html#method()\">method</A></CODE> in class <CODE><A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">Parent</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
   36.39           },
   36.40      };
   36.41      private static final String[][] NEGATED_TEST = {
    37.1 --- a/test/com/sun/javadoc/testLinkOption/TestLinkOption.java	Tue Feb 24 17:48:53 2009 -0800
    37.2 +++ b/test/com/sun/javadoc/testLinkOption/TestLinkOption.java	Fri Feb 27 18:57:17 2009 -0800
    37.3 @@ -63,7 +63,8 @@
    37.4              "title=\"class or interface in java.lang\">Object</A>&nbsp;p3)"
    37.5          },
    37.6          {BUG_ID + "-1" + FS + "java" + FS + "lang" + FS + "StringBuilderChild.html",
    37.7 -                "public abstract class <STRONG>StringBuilderChild</STRONG><DT>extends <A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\">Object</A>"
    37.8 +                "public abstract class <STRONG>StringBuilderChild</STRONG>" + NL +
    37.9 +                "extends <A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\">Object</A>"
   37.10          },
   37.11  
   37.12      };
    38.1 --- a/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java	Tue Feb 24 17:48:53 2009 -0800
    38.2 +++ b/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java	Fri Feb 27 18:57:17 2009 -0800
    38.3 @@ -59,7 +59,7 @@
    38.4              " Link to another inner class: <A HREF=\"../pkg/C.InnerC2.html\" title=\"class in pkg\"><CODE>C.InnerC2</CODE></A>"
    38.5          },
    38.6          {BUG_ID + FS + "pkg" + FS + "C.InnerC2.html",
    38.7 -            "Enclosing class:</STRONG><DD><A HREF=\"../pkg/C.html\" title=\"class in pkg\">C</A>"
    38.8 +            "Enclosing class:</STRONG></DT><DD><A HREF=\"../pkg/C.html\" title=\"class in pkg\">C</A>"
    38.9          },
   38.10      };
   38.11      private static final String[][] NEGATED_TEST = {
    39.1 --- a/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java	Tue Feb 24 17:48:53 2009 -0800
    39.2 +++ b/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java	Fri Feb 27 18:57:17 2009 -0800
    39.3 @@ -74,7 +74,7 @@
    39.4  
    39.5           // Test overriding/implementing methods with generic parameters.
    39.6                   {BUG_ID + FS + "pkg" + FS + "BaseClass.html",
    39.7 -         "<DT><STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg/BaseInterface.html#getAnnotation(java.lang.Class)\">getAnnotation</A></CODE> in interface <CODE><A HREF=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</A></CODE></DL>"},
    39.8 +         "<DT><STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg/BaseInterface.html#getAnnotation(java.lang.Class)\">getAnnotation</A></CODE> in interface <CODE><A HREF=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</A></CODE></DD>"+NL+"</DL>"},
    39.9  
   39.10           // Test diamond inheritence member summary (6256068)
   39.11                   {BUG_ID + FS + "diamond" + FS + "Z.html",
    40.1 --- a/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java	Tue Feb 24 17:48:53 2009 -0800
    40.2 +++ b/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java	Fri Feb 27 18:57:17 2009 -0800
    40.3 @@ -54,7 +54,7 @@
    40.4              {BUG_ID + FS + "pkg" + FS + "Coin.html", "Enum Coin</H2>"},
    40.5              //Make sure enum signature is correct.
    40.6              {BUG_ID + FS + "pkg" + FS + "Coin.html", "public enum "+
    40.7 -                "<STRONG>Coin</STRONG><DT>extends java.lang.Enum&lt;" +
    40.8 +                "<STRONG>Coin</STRONG>" + NL + "extends java.lang.Enum&lt;" +
    40.9                  "<A HREF=\"../pkg/Coin.html\" title=\"enum in pkg\">Coin</A>&gt;"
   40.10              },
   40.11              //Check for enum constant section
   40.12 @@ -79,20 +79,20 @@
   40.13                  "Class TypeParameters&lt;E&gt;</H2>"},
   40.14              //Check class type parameters section.
   40.15              {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   40.16 -                "<DT><STRONG>Type Parameters:</STRONG><DD><CODE>E</CODE> - " +
   40.17 +                "<DT><STRONG>Type Parameters:</STRONG></DT><DD><CODE>E</CODE> - " +
   40.18                  "the type parameter for this class."},
   40.19              //Type parameters in @see/@link
   40.20              {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   40.21 -                "<DT><STRONG>See Also:</STRONG><DD><A HREF=\"../pkg/TypeParameters.html\" " +
   40.22 -                    "title=\"class in pkg\"><CODE>TypeParameters</CODE></A></DL>"},
   40.23 +                "<DT><STRONG>See Also:</STRONG></DT><DD><A HREF=\"../pkg/TypeParameters.html\" " +
   40.24 +                    "title=\"class in pkg\"><CODE>TypeParameters</CODE></A></DD></DL>"},
   40.25              //Method that uses class type parameter.
   40.26              {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   40.27                  "(<A HREF=\"../pkg/TypeParameters.html\" title=\"type " +
   40.28                      "parameter in TypeParameters\">E</A>&nbsp;param)"},
   40.29              //Method type parameter section.
   40.30              {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   40.31 -                "<STRONG>Type Parameters:</STRONG><DD><CODE>T</CODE> - This is the first " +
   40.32 -                    "type parameter.<DD><CODE>V</CODE> - This is the second type " +
   40.33 +                "<STRONG>Type Parameters:</STRONG></DT><DD><CODE>T</CODE> - This is the first " +
   40.34 +                    "type parameter.</DD><DD><CODE>V</CODE> - This is the second type " +
   40.35                      "parameter."},
   40.36              //Signature of method with type parameters
   40.37              {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   40.38 @@ -117,17 +117,17 @@
   40.39              //Signature of subclass that has type parameters.
   40.40              {BUG_ID + FS + "pkg" + FS + "TypeParameterSubClass.html",
   40.41                  "public class <STRONG>TypeParameterSubClass&lt;T extends java.lang.String&gt;" +
   40.42 -                "</STRONG><DT>extends <A HREF=\"../pkg/TypeParameterSuperClass.html\" " +
   40.43 +                "</STRONG>" + NL + "extends <A HREF=\"../pkg/TypeParameterSuperClass.html\" " +
   40.44                  "title=\"class in pkg\">TypeParameterSuperClass</A>&lt;T&gt;"},
   40.45  
   40.46              //Interface generic parameter substitution
   40.47              //Signature of subclass that has type parameters.
   40.48              {BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
   40.49 -                "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;E&gt;, <A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;E&gt;</DD>"},
   40.50 +                "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;E&gt;, <A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;E&gt;</DD>"},
   40.51              {BUG_ID + FS + "pkg" + FS + "SuperInterface.html",
   40.52 -                "<STRONG>All Known Subinterfaces:</STRONG> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;V&gt;</DD>"},
   40.53 +                "<STRONG>All Known Subinterfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;V&gt;</DD>"},
   40.54              {BUG_ID + FS + "pkg" + FS + "SubInterface.html",
   40.55 -                "<STRONG>All Superinterfaces:</STRONG> <DD><A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;V&gt;</DD>"},
   40.56 +                "<STRONG>All Superinterfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;V&gt;</DD>"},
   40.57  
   40.58              //=================================
   40.59              // VAR ARG TESTING
   40.60 @@ -166,7 +166,7 @@
   40.61                  "Element Detail"},
   40.62              //Make sure default annotation type value is printed when necessary.
   40.63              {BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
   40.64 -                "<STRONG>Default:</STRONG><DD>\"unknown\"</DD>"},
   40.65 +                "<STRONG>Default:</STRONG></DT><DD>\"unknown\"</DD>"},
   40.66  
   40.67              //=================================
   40.68              // ANNOTATION TYPE USAGE TESTING
   40.69 @@ -182,7 +182,8 @@
   40.70                  "<FONT SIZE=\"-1\">" +
   40.71                  "<A HREF=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</A>(<A HREF=\"../pkg/AnnotationType.html#optional()\">optional</A>=\"Class Annotation\","+NL +
   40.72                  "                <A HREF=\"../pkg/AnnotationType.html#required()\">required</A>=1994)"+NL +
   40.73 -                "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG><DT>extends java.lang.Object</DL>"},
   40.74 +                "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG>" + NL +
   40.75 +                "extends java.lang.Object"},
   40.76  
   40.77              //FIELD
   40.78              {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
   40.79 @@ -270,8 +271,7 @@
   40.80              {BUG_ID + FS + "pkg1" + FS + "B.html",
   40.81                  "<PRE><FONT SIZE=\"-1\"><A HREF=\"../pkg1/A.html\" title=\"annotation in pkg1\">@A</A>"},
   40.82              {BUG_ID + FS + "pkg1" + FS + "B.html",
   40.83 -                "</FONT>public interface <STRONG>B</STRONG></DL>" + NL +
   40.84 -                    "</PRE>"},
   40.85 +                "</FONT>public interface <STRONG>B</STRONG></PRE>"},
   40.86  
   40.87  
   40.88              //==============================================================
   40.89 @@ -525,7 +525,7 @@
   40.90              "<FONT SIZE=\"-1\">" + NL +
   40.91              "<A HREF=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</A>(<A HREF=\"../pkg/AnnotationType.html#optional\">optional</A>=\"Class Annotation\"," + NL +
   40.92              "                <A HREF=\"../pkg/AnnotationType.html#required\">required</A>=1994)" + NL +
   40.93 -            "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG><DT>extends java.lang.Object</DL>"},
   40.94 +            "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG></DT><DT>extends java.lang.Object</DT></DL>"},
   40.95  
   40.96          //FIELD
   40.97          {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
    41.1 --- a/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java	Tue Feb 24 17:48:53 2009 -0800
    41.2 +++ b/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java	Fri Feb 27 18:57:17 2009 -0800
    41.3 @@ -40,11 +40,11 @@
    41.4      private static final String[][] TEST = {
    41.5          //The public method should be overriden
    41.6          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
    41.7 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
    41.8 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
    41.9  
   41.10          //The public method in different package should be overriden
   41.11          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   41.12 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}
   41.13 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}
   41.14      };
   41.15  
   41.16      private static final String[][] NEGATED_TEST = {
   41.17 @@ -52,20 +52,20 @@
   41.18          //The package private method should be overriden since the base and sub class are in the same
   41.19          //package.  However, the link should not show up because the package private methods are not documented.
   41.20          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
   41.21 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
   41.22 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
   41.23  
   41.24          //The private method in should not be overriden
   41.25          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
   41.26 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   41.27 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   41.28  
   41.29          //The private method in different package should not be overriden
   41.30          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   41.31 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   41.32 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   41.33  
   41.34          //The package private method should not be overriden since the base and sub class are in
   41.35          //different packages.
   41.36          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   41.37 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
   41.38 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
   41.39      };
   41.40  
   41.41      private static final String[] ARGS =
    42.1 --- a/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java	Tue Feb 24 17:48:53 2009 -0800
    42.2 +++ b/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java	Fri Feb 27 18:57:17 2009 -0800
    42.3 @@ -40,32 +40,32 @@
    42.4      private static final String[][] TEST = {
    42.5          //The public method should be overriden
    42.6          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
    42.7 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
    42.8 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
    42.9  
   42.10          //The public method in different package should be overriden
   42.11          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   42.12 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
   42.13 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
   42.14  
   42.15          //The package private method should be overriden since the base and sub class are in the same
   42.16          //package.
   42.17          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
   42.18 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
   42.19 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
   42.20      };
   42.21  
   42.22      private static final String[][] NEGATED_TEST = {
   42.23  
   42.24          //The private method in should not be overriden
   42.25          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
   42.26 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   42.27 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   42.28  
   42.29          //The private method in different package should not be overriden
   42.30          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   42.31 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   42.32 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   42.33  
   42.34          //The package private method should not be overriden since the base and sub class are in
   42.35          //different packages.
   42.36          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   42.37 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
   42.38 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
   42.39      };
   42.40  
   42.41      private static final String[] ARGS =
    43.1 --- a/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java	Tue Feb 24 17:48:53 2009 -0800
    43.2 +++ b/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java	Fri Feb 27 18:57:17 2009 -0800
    43.3 @@ -40,32 +40,32 @@
    43.4      private static final String[][] TEST = {
    43.5          //The public method should be overriden
    43.6          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
    43.7 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
    43.8 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
    43.9  
   43.10          //The package private method should be overriden since the base and sub class are in the same
   43.11          //package.
   43.12          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
   43.13 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
   43.14 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
   43.15  
   43.16          //The public method in different package should be overriden
   43.17          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   43.18 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
   43.19 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
   43.20      };
   43.21  
   43.22      private static final String[][] NEGATED_TEST = {
   43.23  
   43.24          //The private method in should not be overriden
   43.25          {BUG_ID + FS + "pkg1" + FS + "SubClass.html",
   43.26 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   43.27 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   43.28  
   43.29          //The private method in different package should not be overriden
   43.30          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   43.31 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   43.32 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
   43.33  
   43.34          //The package private method should not be overriden since the base and sub class are in
   43.35          //different packages.
   43.36          {BUG_ID + FS + "pkg2" + FS + "SubClass.html",
   43.37 -         "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
   43.38 +         "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
   43.39  
   43.40  
   43.41      };
    44.1 --- a/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java	Tue Feb 24 17:48:53 2009 -0800
    44.2 +++ b/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java	Fri Feb 27 18:57:17 2009 -0800
    44.3 @@ -48,12 +48,12 @@
    44.4      private static final String[][] TEST = {
    44.5          //Regular param tags.
    44.6          {BUG_ID + FS + "pkg" + FS + "C.html",
    44.7 -            "<STRONG>Parameters:</STRONG><DD><CODE>param1</CODE> - testing 1 2 3." +
    44.8 +            "<STRONG>Parameters:</STRONG></DT><DD><CODE>param1</CODE> - testing 1 2 3.</DD>" +
    44.9                  "<DD><CODE>param2</CODE> - testing 1 2 3."
   44.10          },
   44.11          //Param tags that don't match with any real parameters.
   44.12          {BUG_ID + FS + "pkg" + FS + "C.html",
   44.13 -            "<STRONG>Parameters:</STRONG><DD><CODE><I>p1</I></CODE> - testing 1 2 3." +
   44.14 +            "<STRONG>Parameters:</STRONG></DT><DD><CODE><I>p1</I></CODE> - testing 1 2 3.</DD>" +
   44.15                  "<DD><CODE><I>p2</I></CODE> - testing 1 2 3."
   44.16          },
   44.17          //{@inherit} doc misuse does not cause doclet to throw exception.
    45.1 --- a/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java	Tue Feb 24 17:48:53 2009 -0800
    45.2 +++ b/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java	Fri Feb 27 18:57:17 2009 -0800
    45.3 @@ -96,11 +96,11 @@
    45.4  
    45.5          //Make sure implemented interfaces from private superclass are inherited
    45.6          {BUG_ID + "-1" + FS + "pkg" + FS + "PublicInterface.html",
    45.7 -            "<STRONG>All Known Implementing Classes:</STRONG> <DD><A HREF=\"../pkg/PublicChild.html\" " +
    45.8 +            "<STRONG>All Known Implementing Classes:</STRONG></DT> <DD><A HREF=\"../pkg/PublicChild.html\" " +
    45.9              "title=\"class in pkg\">PublicChild</A>"},
   45.10  
   45.11          {BUG_ID + "-1" + FS + "pkg" + FS + "PublicChild.html",
   45.12 -            "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/PublicInterface.html\" " +
   45.13 +            "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/PublicInterface.html\" " +
   45.14              "title=\"interface in pkg\">PublicInterface</A>"},
   45.15  
   45.16          //Generic interface method test.
   45.17 @@ -174,18 +174,18 @@
   45.18          },
   45.19          // Should document that a method overrides method from private class.
   45.20         {BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html",
   45.21 -            "<STRONG>Overrides:</STRONG><DD><CODE>" +
   45.22 +            "<STRONG>Overrides:</STRONG></DT><DD><CODE>" +
   45.23              "<A HREF=\"../pkg/PrivateParent.html#methodOverridenFromParent(char[], int, T, V, java.util.List)\">" +
   45.24              "methodOverridenFromParent</A></CODE> in class <CODE>" +
   45.25              "<A HREF=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" +
   45.26 -            "PrivateParent</A></CODE></DL>"},
   45.27 +            "PrivateParent</A></CODE></DD>" + NL + "</DL>"},
   45.28         // Should document that a method is specified by private interface.
   45.29         {BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html",
   45.30 -            "<STRONG>Specified by:</STRONG><DD><CODE>" +
   45.31 +            "<STRONG>Specified by:</STRONG></DT><DD><CODE>" +
   45.32              "<A HREF=\"../pkg/PrivateInterface.html#methodInterface(int)\">" +
   45.33              "methodInterface</A></CODE> in interface <CODE>" +
   45.34              "<A HREF=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" +
   45.35 -            "PrivateInterface</A></CODE></DL>" + NL + "</DD>"},
   45.36 +            "PrivateInterface</A></CODE></DD>" + NL + "</DL>" + NL + "</DD>"},
   45.37         // Method inheritence from non-public superinterface.
   45.38         {BUG_ID + "-2" + FS + "pkg" + FS + "PublicInterface.html",
   45.39              "Methods inherited from interface " +
   45.40 @@ -209,12 +209,12 @@
   45.41  
   45.42        //Make sure implemented interfaces from private superclass are inherited
   45.43        {BUG_ID + "-2" + FS + "pkg" + FS + "PublicInterface.html",
   45.44 -        "<STRONG>All Known Implementing Classes:</STRONG> <DD><A HREF=\"../pkg/PrivateParent.html\" " +
   45.45 +        "<STRONG>All Known Implementing Classes:</STRONG></DT> <DD><A HREF=\"../pkg/PrivateParent.html\" " +
   45.46          "title=\"class in pkg\">PrivateParent</A>, " +
   45.47          "<A HREF=\"../pkg/PublicChild.html\" title=\"class in pkg\">PublicChild</A>"},
   45.48  
   45.49        {BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html",
   45.50 -        "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/PrivateInterface.html\" " +
   45.51 +        "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/PrivateInterface.html\" " +
   45.52          "title=\"interface in pkg\">PrivateInterface</A>, " +
   45.53          "<A HREF=\"../pkg/PublicInterface.html\" title=\"interface in pkg\">" +
   45.54          "PublicInterface</A>"},
   45.55 @@ -226,7 +226,7 @@
   45.56              "<CODE><A HREF=\"../pkg2/I.html#hello(T)\">I</A></CODE></STRONG>"},
   45.57  
   45.58        {BUG_ID + "-2" + FS + "pkg2" + FS + "C.html",
   45.59 -            "<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg2/I.html#hello(T)\">" +
   45.60 +            "<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg2/I.html#hello(T)\">" +
   45.61              "hello</A></CODE> in interface <CODE><A HREF=\"../pkg2/I.html\" " +
   45.62              "title=\"interface in pkg2\">I</A>"},
   45.63      };
    46.1 --- a/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java	Tue Feb 24 17:48:53 2009 -0800
    46.2 +++ b/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java	Fri Feb 27 18:57:17 2009 -0800
    46.3 @@ -41,39 +41,39 @@
    46.4      // Test for normal run of javadoc. The serialized-form.html should
    46.5      // display the inline comments, tags and deprecation information if any.
    46.6      private static final String[][] TEST_CMNT_DEPR = {
    46.7 -        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL + NL +
    46.8 -                 "<DT><STRONG>Throws:</STRONG>" + NL + "<DD><CODE>" +
    46.9 -                 "java.io.IOException</CODE><DT><STRONG>See Also:</STRONG>" +
   46.10 -                 "<DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.11 -                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD>" + NL +
   46.12 -                 "</DL>" + NL + "</DL>"},
   46.13 +        {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL +
   46.14 +                 "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
   46.15 +                 "java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" +
   46.16 +                 "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.17 +                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
   46.18 +                 "</DD>" + NL + "</DL>"},
   46.19          {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
   46.20 -                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
   46.21 -                 " 1.5, replaced by" + NL +
   46.22 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version " +
   46.23 +                 "1.5, replaced by" + NL +
   46.24                   " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.25 -                 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" +
   46.26 +                 "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
   46.27                   "<DD>This field indicates whether the C1 is undecorated." + NL +
   46.28 -                 "<P>" + NL + "<DT><DD>&nbsp;<DL>" + NL +
   46.29 -                 "<DT><STRONG>Since:</STRONG></DT>" + NL +
   46.30 +                 "<P>" + NL + "</DD>" + NL + "<DD>&nbsp;</DD>" + NL +
   46.31 +                 "<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL +
   46.32                   "  <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" +
   46.33 -                 "<DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.34 -                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DL>" + NL +
   46.35 -                 "</DL>"},
   46.36 +                 "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.37 +                 "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
   46.38 +                 "</DD>" + NL + "</DL>"},
   46.39          {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
   46.40                   "<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
   46.41                   " 1.5, replaced by" + NL +
   46.42                   " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.43                   "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
   46.44 -                 "<DD>Reads the object stream." + NL + "<P>" + NL +
   46.45 -                 "<DD><DL>" + NL + NL + "<DT><STRONG>Throws:" +
   46.46 -                 "</STRONG>" + NL + "<DD><CODE><code>" +
   46.47 -                 "IOException</code></CODE>" + NL +
   46.48 -                 "<DD><CODE>java.io.IOException</CODE></DD>" + NL +
   46.49 -                 "</DL>" + NL + "</DL>"},
   46.50 +                 "</DD><DD>Reads the object stream." + NL + "<P>" + NL +
   46.51 +                 "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" +
   46.52 +                 "</STRONG></DT>" + NL + "<DD><CODE><code>" +
   46.53 +                 "IOException</code></CODE></DD>" + NL +
   46.54 +                 "<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL +
   46.55 +                 "</DD>" + NL + "</DL>"},
   46.56          {BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
   46.57 -                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;<DD>" +
   46.58 -                 "The name for this class." + NL + "<P>" + NL +
   46.59 -                 "<DT><DD>&nbsp;<DL>" + NL + "</DL>" + NL + "</DL>"}};
   46.60 +                 "<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD><DD>" +
   46.61 +                 "The name for this class." + NL + "<P>" + NL + "</DD>" + NL +
   46.62 +                 "<DD>&nbsp;</DD>" + NL + "</DL>"}};
   46.63  
   46.64      // Test with -nocomment option. The serialized-form.html should
   46.65      // not display the inline comments and tags but should display deprecation
   46.66 @@ -83,16 +83,16 @@
   46.67                   "undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
   46.68                   "Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
   46.69                   " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
   46.70 -                 "setUndecorated(boolean)</CODE></A>.</I></DL>"},
   46.71 +                 "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
   46.72          {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" +
   46.73                   "Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
   46.74                   " 1.5, replaced by" + NL +
   46.75                   " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
   46.76                   "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
   46.77 -                 "</DL>"},
   46.78 +                 "</DD></DL>"},
   46.79          {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" +
   46.80                   "publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
   46.81 -                 "Deprecated.</STRONG>&nbsp;</DL>"}};
   46.82 +                 "Deprecated.</STRONG>&nbsp;</DD></DL>"}};
   46.83  
   46.84      // Test with -nodeprecated option. The serialized-form.html should
   46.85      // ignore the -nodeprecated tag and display the deprecation info. This
    47.1 --- a/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java	Tue Feb 24 17:48:53 2009 -0800
    47.2 +++ b/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java	Fri Feb 27 18:57:17 2009 -0800
    47.3 @@ -46,14 +46,14 @@
    47.4      //Input for string search tests.
    47.5      private static final String[][] TEST = {
    47.6          {BUG_ID + FS + "pkg" + FS + "C.html",
    47.7 -            "<DD><CODE><A HREF=\"../pkg/T1.html\" title=\"class in pkg\">T1</A></CODE> - the first throws tag." + NL +
    47.8 -            "<DD><CODE><A HREF=\"../pkg/T2.html\" title=\"class in pkg\">T2</A></CODE> - the second throws tag." + NL +
    47.9 -            "<DD><CODE><A HREF=\"../pkg/T3.html\" title=\"class in pkg\">T3</A></CODE> - the third throws tag." + NL +
   47.10 -            "<DD><CODE><A HREF=\"../pkg/T4.html\" title=\"class in pkg\">T4</A></CODE> - the fourth throws tag." + NL +
   47.11 -            "<DD><CODE><A HREF=\"../pkg/T5.html\" title=\"class in pkg\">T5</A></CODE> - the first inherited throws tag." + NL +
   47.12 -            "<DD><CODE><A HREF=\"../pkg/T6.html\" title=\"class in pkg\">T6</A></CODE> - the second inherited throws tag." + NL +
   47.13 -            "<DD><CODE><A HREF=\"../pkg/T7.html\" title=\"class in pkg\">T7</A></CODE> - the third inherited throws tag." + NL +
   47.14 -            "<DD><CODE><A HREF=\"../pkg/T8.html\" title=\"class in pkg\">T8</A></CODE> - the fourth inherited throws tag."
   47.15 +            "<DD><CODE><A HREF=\"../pkg/T1.html\" title=\"class in pkg\">T1</A></CODE> - the first throws tag.</DD>" + NL +
   47.16 +            "<DD><CODE><A HREF=\"../pkg/T2.html\" title=\"class in pkg\">T2</A></CODE> - the second throws tag.</DD>" + NL +
   47.17 +            "<DD><CODE><A HREF=\"../pkg/T3.html\" title=\"class in pkg\">T3</A></CODE> - the third throws tag.</DD>" + NL +
   47.18 +            "<DD><CODE><A HREF=\"../pkg/T4.html\" title=\"class in pkg\">T4</A></CODE> - the fourth throws tag.</DD>" + NL +
   47.19 +            "<DD><CODE><A HREF=\"../pkg/T5.html\" title=\"class in pkg\">T5</A></CODE> - the first inherited throws tag.</DD>" + NL +
   47.20 +            "<DD><CODE><A HREF=\"../pkg/T6.html\" title=\"class in pkg\">T6</A></CODE> - the second inherited throws tag.</DD>" + NL +
   47.21 +            "<DD><CODE><A HREF=\"../pkg/T7.html\" title=\"class in pkg\">T7</A></CODE> - the third inherited throws tag.</DD>" + NL +
   47.22 +            "<DD><CODE><A HREF=\"../pkg/T8.html\" title=\"class in pkg\">T8</A></CODE> - the fourth inherited throws tag.</DD>"
   47.23          },
   47.24      };
   47.25      private static final String[][] NEGATED_TEST = NO_TEST;

mercurial