diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java index ef38979f208..91b7d8a633f 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -109,58 +109,60 @@ public boolean isSystemProperty() { return systemProperty; } + @Override public String toString() { - StringBuilder item = new StringBuilder(""); + // TODO: Additional processing is required, see JDK-8238495 + StringBuilder item = new StringBuilder(); switch (category) { - case MODULES: - item.append("{") - .append("\"l\":\"").append(label).append("\"") - .append("}"); - break; - case PACKAGES: - item.append("{"); - if (!containingModule.isEmpty()) { - item.append("\"m\":\"").append(containingModule).append("\","); - } - item.append("\"l\":\"").append(label).append("\""); - if (!url.isEmpty()) { - item.append(",\"url\":\"").append(url).append("\""); - } - item.append("}"); - break; - case TYPES: - item.append("{"); - if (!containingPackage.isEmpty()) { - item.append("\"p\":\"").append(containingPackage).append("\","); - } - item.append("\"l\":\"").append(label).append("\""); - if (!url.isEmpty()) { - item.append(",\"url\":\"").append(url).append("\""); - } - item.append("}"); - break; - case MEMBERS: - item.append("{") - .append("\"p\":\"").append(containingPackage).append("\",") - .append("\"c\":\"").append(containingClass).append("\",") - .append("\"l\":\"").append(label).append("\""); - if (!url.isEmpty()) { - item.append(",\"url\":\"").append(url).append("\""); - } - item.append("}"); - break; - case SEARCH_TAGS: - item.append("{") - .append("\"l\":\"").append(label).append("\",") - .append("\"h\":\"").append(holder).append("\","); - if (!description.isEmpty()) { - item.append("\"d\":\"").append(description).append("\","); - } - item.append("\"u\":\"").append(url).append("\"") - .append("}"); - break; - default: - throw new IllegalStateException("category not set"); + case MODULES: + item.append("{") + .append("\"l\":\"").append(label).append("\"") + .append("}"); + break; + case PACKAGES: + item.append("{"); + if (!containingModule.isEmpty()) { + item.append("\"m\":\"").append(containingModule).append("\","); + } + item.append("\"l\":\"").append(label).append("\""); + if (!url.isEmpty()) { + item.append(",\"u\":\"").append(url).append("\""); + } + item.append("}"); + break; + case TYPES: + item.append("{"); + if (!containingPackage.isEmpty()) { + item.append("\"p\":\"").append(containingPackage).append("\","); + } + item.append("\"l\":\"").append(label).append("\""); + if (!url.isEmpty()) { + item.append(",\"u\":\"").append(url).append("\""); + } + item.append("}"); + break; + case MEMBERS: + item.append("{") + .append("\"p\":\"").append(containingPackage).append("\",") + .append("\"c\":\"").append(containingClass).append("\",") + .append("\"l\":\"").append(label).append("\""); + if (!url.isEmpty()) { + item.append(",\"u\":\"").append(url).append("\""); + } + item.append("}"); + break; + case SEARCH_TAGS: + item.append("{") + .append("\"l\":\"").append(label).append("\",") + .append("\"h\":\"").append(holder).append("\","); + if (!description.isEmpty()) { + item.append("\"d\":\"").append(description).append("\","); + } + item.append("\"u\":\"").append(url).append("\"") + .append("}"); + break; + default: + throw new AssertionError("Unexpected category: " + category); } return item.toString(); } diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js index 0355c3af8b7..01b78392556 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -319,14 +319,14 @@ $(function() { if (ui.item.category === catModules) { url += "module-summary.html"; } else if (ui.item.category === catPackages) { - if (ui.item.url) { - url = ui.item.url; + if (ui.item.u) { + url = ui.item.u; } else { - url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; } } else if (ui.item.category === catTypes) { - if (ui.item.url) { - url = ui.item.url; + if (ui.item.u) { + url = ui.item.u; } else if (ui.item.p === "") { url += ui.item.l + ".html"; } else { @@ -338,8 +338,8 @@ $(function() { } else { url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; } - if (ui.item.url) { - url += ui.item.url; + if (ui.item.u) { + url += ui.item.u; } else { url += ui.item.l; } diff --git a/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java b/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java index 79d92a3fda1..6cb408d7c17 100644 --- a/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java +++ b/test/langtools/jdk/javadoc/doclet/testModules/TestModules.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1321,9 +1321,9 @@ void checkAllPkgsAllClasses(boolean found) { "
\n" + ""); checkOutput("type-search-index.js", true, - "{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}"); + "{\"l\":\"All Classes\",\"u\":\"allclasses-index.html\"}"); checkOutput("package-search-index.js", true, - "{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}"); + "{\"l\":\"All Packages\",\"u\":\"allpackages-index.html\"}"); checkOutput("index-all.html", true, "
All Classes" + "|" diff --git a/test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java b/test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java index 1a00f382235..0645cee43b7 100644 --- a/test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java +++ b/test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -102,9 +102,9 @@ public void testMultiplePackages() { + "\n" + "\n"); checkOutput("type-search-index.js", true, - "{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}"); + "{\"l\":\"All Classes\",\"u\":\"allclasses-index.html\"}"); checkOutput("package-search-index.js", true, - "{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}"); + "{\"l\":\"All Packages\",\"u\":\"allpackages-index.html\"}"); checkOutput("index-all.html", true, "
All Classes" + "|" diff --git a/test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java b/test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java index 55366f1b9da..03f820f40b7 100644 --- a/test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java +++ b/test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java @@ -402,15 +402,15 @@ void checkSearchOutput(boolean expectedOutput) { void checkSearchIndex(boolean expectedOutput) { checkOutput("member-search-index.js", expectedOutput, - "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"AnotherClass()\",\"url\":\"%3Cinit%3E()\"}", - "{\"p\":\"pkg1\",\"c\":\"RegClass\",\"l\":\"RegClass()\",\"url\":\"%3Cinit%3E()\"}", - "{\"p\":\"pkg2\",\"c\":\"TestError\",\"l\":\"TestError()\",\"url\":\"%3Cinit%3E()\"}", - "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"method(byte[], int, String)\",\"url\":\"method(byte[],int,java.lang.String)\"}"); + "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"AnotherClass()\",\"u\":\"%3Cinit%3E()\"}", + "{\"p\":\"pkg1\",\"c\":\"RegClass\",\"l\":\"RegClass()\",\"u\":\"%3Cinit%3E()\"}", + "{\"p\":\"pkg2\",\"c\":\"TestError\",\"l\":\"TestError()\",\"u\":\"%3Cinit%3E()\"}", + "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"method(byte[], int, String)\",\"u\":\"method(byte[],int,java.lang.String)\"}"); checkOutput("member-search-index.js", !expectedOutput, - "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"method(RegClass)\",\"url\":\"method-pkg1.RegClass-\"}", - "{\"p\":\"pkg2\",\"c\":\"TestClass\",\"l\":\"TestClass()\",\"url\":\"TestClass--\"}", - "{\"p\":\"pkg\",\"c\":\"TestError\",\"l\":\"TestError()\",\"url\":\"TestError--\"}", - "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"method(byte[], int, String)\",\"url\":\"method-byte:A-int-java.lang.String-\"}"); + "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"method(RegClass)\",\"u\":\"method-pkg1.RegClass-\"}", + "{\"p\":\"pkg2\",\"c\":\"TestClass\",\"l\":\"TestClass()\",\"u\":\"TestClass--\"}", + "{\"p\":\"pkg\",\"c\":\"TestError\",\"l\":\"TestError()\",\"u\":\"TestError--\"}", + "{\"p\":\"pkg\",\"c\":\"AnotherClass\",\"l\":\"method(byte[], int, String)\",\"u\":\"method-byte:A-int-java.lang.String-\"}"); } void checkSearchOutput(boolean expectedOutput, boolean moduleDirectoriesVar) { @@ -745,9 +745,9 @@ void checkAllPkgsAllClasses() { + "\n" + "\n"); checkOutput("type-search-index.js", true, - "{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}"); + "{\"l\":\"All Classes\",\"u\":\"allclasses-index.html\"}"); checkOutput("package-search-index.js", true, - "{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}"); + "{\"l\":\"All Packages\",\"u\":\"allpackages-index.html\"}"); checkOutput("index-all.html", true, "
All Classes" + "|" diff --git a/test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java b/test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java index 999901e96b5..1d6e06b7b18 100644 --- a/test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java +++ b/test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -104,10 +104,10 @@ public void test() { + "
Description
"); checkOutput("type-search-index.js", true, - "{\"l\":\"All Classes\",\"url\":\"allclasses-index.html\"}"); + "{\"l\":\"All Classes\",\"u\":\"allclasses-index.html\"}"); checkOutput("package-search-index.js", true, - "{\"l\":\"All Packages\",\"url\":\"allpackages-index.html\"}"); + "{\"l\":\"All Packages\",\"u\":\"allpackages-index.html\"}"); checkOutput("index-all.html", true, "
All Classes"