RFR: JDK-8254627: Cleanup {Abstract, Single, Split}IndexWriter classes
Hannes Wallnöfer
hannesw at openjdk.java.net
Tue Oct 13 11:05:13 UTC 2020
On Mon, 12 Oct 2020 22:36:51 GMT, Jonathan Gibbons <jjg at openjdk.org> wrote:
> Inspired by other recent work to cleanup index generation, this change is primarily about cleanup for
> `AbstractIndexWriter`, `SingleIndexWriter`, `SplitIndexWriter` to reduce code duplication and to reduce the 3 class to
> just 1 that can handle either single index files or split index files. As part of this cleanup, some anomalies were
> uncovered in the naming of annotation types, enum constants and records, which have also been addressed.
> The changes involved moving/merging code from `SingleIndexWriter` and `SplitIndexWriter` in to `AbstractIndexWriter`,
> which is now no longer abstract and is thus renamed to just `IndexWriter`. Regrettably, the rename is not properly
> tracked.
Nice work!
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java line 132:
> 130: Content mainContent = new ContentBuilder();
> 131: List<Character> allFirstCharacters = new ArrayList<>(mainIndex.getFirstCharacters());
> 132: allFirstCharacters.sort(Comparator.naturalOrder());
It seems a bit redundant to retrieve and sort the `allFirstCharacters` list in each invocation of `generateIndexFile`,
maybe pass it as an argument from the `generate(HtmlConfiguration)` method?
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java line 87:
> 85: IndexBuilder mainIndex = configuration.mainIndex;
> 86: List<Character> firstCharacters = mainIndex.getFirstCharacters();
> 87: firstCharacters.sort(Comparator.naturalOrder());
Is this sorting step necessary? Aren't the characters returned by `IndexBuilder#getFirstCharacters()` already
guaranteed to be in natural order?
-------------
Marked as reviewed by hannesw (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/621
More information about the javadoc-dev
mailing list