# HG changeset patch # User bpatel # Date 1506980986 25200 # Node ID 56419ec66d4e79fd37d7bc81d7538dcb0fd0dc54 # Parent 2e947e1bd907ec98e7cb829f2a673256a1cec0c8 8169819: minor cleanup for deprecated page Reviewed-by: jjg, ksrini diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java Mon Oct 02 14:49:46 2017 -0700 @@ -99,15 +99,19 @@ */ @Override protected Content getDeprecatedLink(Element member) { - StringBuilder sb = new StringBuilder(); - sb.append(utils.getFullyQualifiedName(member)); + Content deprecatedLinkContent = new ContentBuilder(); + deprecatedLinkContent.addContent(utils.getFullyQualifiedName(member)); if (!utils.isConstructor(member)) { - sb.append("."); - sb.append(member.getSimpleName()); + deprecatedLinkContent.addContent("."); + deprecatedLinkContent.addContent(member.getSimpleName()); } - sb.append(utils.flatSignature((ExecutableElement) member)); + String signature = utils.flatSignature((ExecutableElement) member); + if (signature.length() > 2) { + deprecatedLinkContent.addContent(Contents.ZERO_WIDTH_SPACE); + } + deprecatedLinkContent.addContent(signature); - return writer.getDocLink(MEMBER, member, sb); + return writer.getDocLink(MEMBER, utils.getEnclosingTypeElement(member), member, deprecatedLinkContent); } /** diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java Mon Oct 02 14:49:46 2017 -0700 @@ -100,33 +100,33 @@ private String getHeadingKey(DeprElementKind kind) { switch (kind) { case REMOVAL: - return "doclet.Deprecated_For_Removal"; + return "doclet.For_Removal"; case MODULE: - return "doclet.Deprecated_Modules"; + return "doclet.Modules"; case PACKAGE: - return "doclet.Deprecated_Packages"; + return "doclet.Packages"; case INTERFACE: - return "doclet.Deprecated_Interfaces"; + return "doclet.Interfaces"; case CLASS: - return "doclet.Deprecated_Classes"; + return "doclet.Classes"; case ENUM: - return "doclet.Deprecated_Enums"; + return "doclet.Enums"; case EXCEPTION: - return "doclet.Deprecated_Exceptions"; + return "doclet.Exceptions"; case ERROR: - return "doclet.Deprecated_Errors"; + return "doclet.Errors"; case ANNOTATION_TYPE: - return "doclet.Deprecated_Annotation_Types"; + return "doclet.Annotation_Types"; case FIELD: - return "doclet.Deprecated_Fields"; + return "doclet.Fields"; case METHOD: - return "doclet.Deprecated_Methods"; + return "doclet.Methods"; case CONSTRUCTOR: - return "doclet.Deprecated_Constructors"; + return "doclet.Constructors"; case ENUM_CONSTANT: - return "doclet.Deprecated_Enum_Constants"; + return "doclet.Enum_Constants"; case ANNOTATION_TYPE_MEMBER: - return "doclet.Deprecated_Annotation_Type_Members"; + return "doclet.Annotation_Type_Members"; default: throw new AssertionError("unknown kind: " + kind); } @@ -135,33 +135,33 @@ private String getSummaryKey(DeprElementKind kind) { switch (kind) { case REMOVAL: - return "doclet.deprecated_for_removal"; + return "doclet.for_removal"; case MODULE: - return "doclet.deprecated_modules"; + return "doclet.modules"; case PACKAGE: - return "doclet.deprecated_packages"; + return "doclet.packages"; case INTERFACE: - return "doclet.deprecated_interfaces"; + return "doclet.interfaces"; case CLASS: - return "doclet.deprecated_classes"; + return "doclet.classes"; case ENUM: - return "doclet.deprecated_enums"; + return "doclet.enums"; case EXCEPTION: - return "doclet.deprecated_exceptions"; + return "doclet.exceptions"; case ERROR: - return "doclet.deprecated_errors"; + return "doclet.errors"; case ANNOTATION_TYPE: - return "doclet.deprecated_annotation_types"; + return "doclet.annotation_types"; case FIELD: - return "doclet.deprecated_fields"; + return "doclet.fields"; case METHOD: - return "doclet.deprecated_methods"; + return "doclet.methods"; case CONSTRUCTOR: - return "doclet.deprecated_constructors"; + return "doclet.constructors"; case ENUM_CONSTANT: - return "doclet.deprecated_enum_constants"; + return "doclet.enum_constants"; case ANNOTATION_TYPE_MEMBER: - return "doclet.deprecated_annotation_type_members"; + return "doclet.annotation_type_members"; default: throw new AssertionError("unknown kind: " + kind); } @@ -473,6 +473,6 @@ default: writer = new AnnotationTypeOptionalMemberWriterImpl(this, null); } - return HtmlTree.TH_ROW_SCOPE(HtmlStyle.colFirst, writer.getDeprecatedLink(e)); + return HtmlTree.TH_ROW_SCOPE(HtmlStyle.colDeprecatedItemName, writer.getDeprecatedLink(e)); } } diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java Mon Oct 02 14:49:46 2017 -0700 @@ -47,6 +47,7 @@ circle, classUseContainer, colConstructorName, + colDeprecatedItemName, colFirst, colLast, colSecond, diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties Mon Oct 02 14:49:46 2017 -0700 @@ -74,34 +74,12 @@ doclet.see.class_or_package_not_accessible=Tag {0}: reference not accessible: {1} doclet.tag.invalid_usage=invalid usage of tag {0} doclet.Deprecated_API=Deprecated API -doclet.Deprecated_For_Removal=Deprecated For Removal -doclet.Deprecated_Modules=Deprecated Modules -doclet.Deprecated_Packages=Deprecated Packages -doclet.Deprecated_Classes=Deprecated Classes -doclet.Deprecated_Enums=Deprecated Enums -doclet.Deprecated_Interfaces=Deprecated Interfaces -doclet.Deprecated_Exceptions=Deprecated Exceptions -doclet.Deprecated_Annotation_Types=Deprecated Annotation Types -doclet.Deprecated_Errors=Deprecated Errors -doclet.Deprecated_Fields=Deprecated Fields -doclet.Deprecated_Constructors=Deprecated Constructors -doclet.Deprecated_Methods=Deprecated Methods -doclet.Deprecated_Enum_Constants=Deprecated Enum Constants -doclet.Deprecated_Annotation_Type_Members=Deprecated Annotation Type Elements -doclet.deprecated_for_removal=deprecated for removal -doclet.deprecated_modules=deprecated modules -doclet.deprecated_packages=deprecated packages -doclet.deprecated_classes=deprecated classes -doclet.deprecated_enums=deprecated enums -doclet.deprecated_interfaces=deprecated interfaces -doclet.deprecated_exceptions=deprecated exceptions -doclet.deprecated_annotation_types=deprecated annotation types -doclet.deprecated_errors=deprecated errors -doclet.deprecated_fields=deprecated fields -doclet.deprecated_constructors=deprecated constructors -doclet.deprecated_methods=deprecated methods -doclet.deprecated_enum_constants=deprecated enum constants -doclet.deprecated_annotation_type_members=deprecated annotation type elements +doclet.For_Removal=For Removal +doclet.Annotation_Types=Annotation Types +doclet.Annotation_Type_Members=Annotation Type Elements +doclet.for_removal=for removal +doclet.annotation_types=annotation types +doclet.annotation_type_members=annotation type elements doclet.Generated_Docs_Untitled=Generated Documentation (Untitled) doclet.Other_Packages=Other Packages doclet.Description=Description diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Mon Oct 02 14:49:46 2017 -0700 @@ -531,14 +531,16 @@ text-align:left; padding:0px 0px 12px 10px; } -th.colFirst, th.colSecond, th.colLast, th.colConstructorName, .useSummary th, .constantsSummary th, .packagesSummary th, -td.colFirst, td.colSecond, td.colLast, .useSummary td, .constantsSummary td { +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { vertical-align:top; padding-right:0px; padding-top:8px; padding-bottom:3px; } -th.colFirst, th.colSecond, th.colLast, th.colConstructorName, .constantsSummary th, .packagesSummary th { +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { background:#dee3e9; text-align:left; padding:8px 3px 3px 7px; @@ -547,7 +549,7 @@ white-space:nowrap; font-size:13px; } -td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colLast { +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { font-size:13px; } .constantsSummary th, .packagesSummary th { @@ -576,6 +578,7 @@ th.colFirst a:link, th.colFirst a:visited, th.colSecond a:link, th.colSecond a:visited, th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, .constantValuesContainer td a:link, .constantValuesContainer td a:visited { font-weight:bold; } diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DeprecatedAPIListBuilder.java --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DeprecatedAPIListBuilder.java Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DeprecatedAPIListBuilder.java Mon Oct 02 14:49:46 2017 -0700 @@ -78,7 +78,7 @@ deprecatedMap = new EnumMap<>(DeprElementKind.class); for (DeprElementKind kind : DeprElementKind.values()) { deprecatedMap.put(kind, - new TreeSet<>(utils.makeGeneralPurposeComparator())); + new TreeSet<>(utils.makeDeprecatedComparator())); } buildDeprecatedAPIInfo(); } diff -r 2e947e1bd907 -r 56419ec66d4e src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Mon Oct 02 10:04:22 2017 -0700 +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Mon Oct 02 14:49:46 2017 -0700 @@ -1733,6 +1733,25 @@ return packageComparator; } + private Comparator deprecatedComparator = null; + /** + * Returns a Comparator for deprecated items listed on deprecated list page, by comparing the + * fully qualified names. + * + * @return a Comparator + */ + public Comparator makeDeprecatedComparator() { + if (deprecatedComparator == null) { + deprecatedComparator = new Utils.ElementComparator() { + @Override + public int compare(Element e1, Element e2) { + return compareFullyQualifiedNames(e1, e2); + } + }; + } + return deprecatedComparator; + } + private Comparator serialFieldTreeComparator = null; /** * Returns a Comparator for SerialFieldTree. diff -r 2e947e1bd907 -r 56419ec66d4e test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java --- a/test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java Mon Oct 02 10:04:22 2017 -0700 +++ b/test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java Mon Oct 02 14:49:46 2017 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 4927552 8026567 8071982 8162674 8175200 8175218 8183511 8186332 + * @bug 4927552 8026567 8071982 8162674 8175200 8175218 8183511 8186332 8169819 * @summary * @author jamieh * @library ../lib @@ -163,54 +163,90 @@ checkOutput("deprecated-list.html", true, "", "", - "\n" - + "\n" + "
Deprecated For Removal 
\n" + + "\n" + "\n" + "\n" + "\n" + "", - "
For Removal 
ElementDescription
\n" - + "\n" + "
Deprecated Enums 
\n" + + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" - + "\n" + + "\n" + "\n" + "\n" + "\n" + "
Enums 
EnumDescription
pkg.TestEnumpkg.TestEnum\n" + "
enum_test1 passes.
\n" + "
", - "\n" - + "\n" + "
Deprecated Exceptions 
\n" + + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" - + "\n" + + "\n" + "\n" + "\n" + "\n" + + "
Exceptions 
ExceptionsDescription
pkg.TestExceptionpkg.TestException\n" + "
exception_test1 passes.
\n" + "
", + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + "
Fields 
FieldDescription
pkg.DeprecatedClassByAnnotation.field
pkg.TestClass.field\n" + + "
class_test2 passes.
\n" + + "
pkg.TestError.field\n" + + "
error_test2 passes.
\n" + + "
pkg.TestException.field\n" + + "
exception_test2 passes.
\n" + + "
pkg.TestInterface.field\n" + + "
interface_test2 passes.
\n" + + "
"); } } diff -r 2e947e1bd907 -r 56419ec66d4e test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java --- a/test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java Mon Oct 02 10:04:22 2017 -0700 +++ b/test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java Mon Oct 02 14:49:46 2017 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 8008164 + * @bug 8008164 8169819 * @summary Test styles on HTML tables generated by javadoc. * @author Bhavesh Patel * @library ../lib @@ -68,8 +68,8 @@ + "summary=\"Packages table, listing packages, and an explanation\">"); checkOutput("deprecated-list.html", true, - ""); + "
"); checkOutput("constant-values.html", true, "
", - "
"); // Constant values @@ -239,9 +239,9 @@ // Deprecated checkOutput("deprecated-list.html", true, - "", - ""); // Constant values diff -r 2e947e1bd907 -r 56419ec66d4e test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java --- a/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java Mon Oct 02 10:04:22 2017 -0700 +++ b/test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java Mon Oct 02 14:49:46 2017 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 8072945 8081854 8141492 8148985 8150188 4649116 8173707 8151743 + * @bug 8072945 8081854 8141492 8148985 8150188 4649116 8173707 8151743 8169819 * @summary Test the version of HTML generated by the javadoc tool. * @author bpatel * @library ../lib @@ -736,16 +736,16 @@ + "
\n" + "

Deprecated API

\n" + "

Contents

", - "
Deprecated Fields" + "Fields" + " Deprecated Methods" + "Methods" + " 
", - "
", - "
", - "
", - "
", - "
", - "
", - "
", - "
", - "
"); + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
"); // Negated test for serialized-form page checkOutput("serialized-form.html", false, @@ -1179,16 +1179,16 @@ + "
\n" + "

Deprecated API

\n" + "

Contents

", - "
", - "
", - "
", - "
", - "
", - "
", - "
", - "
", - "
", - "
"); + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
"); // Test for serialized-form page checkOutput("serialized-form.html", true, diff -r 2e947e1bd907 -r 56419ec66d4e test/langtools/jdk/javadoc/doclet/testModules/TestModules.java --- a/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java Mon Oct 02 10:04:22 2017 -0700 +++ b/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java Mon Oct 02 14:49:46 2017 -0700 @@ -25,7 +25,7 @@ * @test * @bug 8154119 8154262 8156077 8157987 8154261 8154817 8135291 8155995 8162363 * 8168766 8168688 8162674 8160196 8175799 8174974 8176778 8177562 8175218 8175823 8166306 - * 8178043 8181622 8183511 + * 8178043 8181622 8183511 8169819 * @summary Test modules support in javadoc. * @author bpatel * @library ../lib @@ -1021,8 +1021,8 @@ + ""); checkOutput("deprecated-list.html", found, "", "\n" + "\n" diff -r 2e947e1bd907 -r 56419ec66d4e test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java --- a/test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java Mon Oct 02 10:04:22 2017 -0700 +++ b/test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java Mon Oct 02 14:49:46 2017 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 6492694 8026567 8048351 8162363 8183511 + * @bug 6492694 8026567 8048351 8162363 8183511 8169819 * @summary Test package deprecation. * @author bpatel * @library ../lib/ @@ -54,7 +54,7 @@ ); checkOutput("deprecated-list.html", true, - "
  • Deprecated Packages
  • " + "
  • Packages
  • " ); } diff -r 2e947e1bd907 -r 56419ec66d4e test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java --- a/test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Mon Oct 02 10:04:22 2017 -0700 +++ b/test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Mon Oct 02 14:49:46 2017 -0700 @@ -24,7 +24,7 @@ /* * @test * @bug 4494033 7028815 7052425 8007338 8023608 8008164 8016549 8072461 8154261 8162363 8160196 8151743 8177417 - * 8175218 8176452 8181215 8182263 8183511 + * 8175218 8176452 8181215 8182263 8183511 8169819 * @summary Run tests on doclet stylesheet. * @author jamieh * @library ../lib @@ -183,6 +183,7 @@ + "th.colFirst a:link, th.colFirst a:visited,\n" + "th.colSecond a:link, th.colSecond a:visited,\n" + "th.colConstructorName a:link, th.colConstructorName a:visited,\n" + + "th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, \n" + ".constantValuesContainer td a:link, .constantValuesContainer td a:visited {\n" + " font-weight:bold;\n" + "}",
    moduleA