< prev index next >
make/jdk/src/classes/build/tools/jigsaw/ModuleSummary.java
Print this page
rev 52955 : 8215301: Module-summary page is unreadably wide
*** 1,7 ****
/*
! * Copyright (c) 2014, 2016, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2014, 2018, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 34,48 ****
--- 34,50 ----
import java.lang.module.ResolvedModule;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
+ import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
+ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
*** 550,569 ****
.forEach(e -> sb.append(e.source()).append("<br>").append("\n"));
sb.append("</td>");
return sb.toString();
}
public String servicesColumn() {
StringBuilder sb = new StringBuilder();
sb.append(String.format(" <td class=\"%s\">", CODE));
ms.descriptor().uses().stream()
.sorted()
.forEach(s -> sb.append("uses ").append(s).append("<br>").append("\n"));
ms.descriptor().provides().stream()
.sorted(Comparator.comparing(Provides::service))
! .map(p -> String.format("provides %s<br> with %s",
! p.service(), p.providers()))
.forEach(p -> sb.append(p).append("<br>").append("\n"));
sb.append("</td>");
return sb.toString();
}
--- 552,585 ----
.forEach(e -> sb.append(e.source()).append("<br>").append("\n"));
sb.append("</td>");
return sb.toString();
}
+ private String providesEntry(Provides p) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(String.format("provides %s<br>\n", p.service()));
+ List<String> pvs = new ArrayList<>(p.providers());
+ pvs.sort(Comparator.naturalOrder());
+ for (int i = 0; i < pvs.size(); i++) { // My kingdom for Stream::zip ...
+ String fmt = ((i == 0)
+ ? " with %s"
+ : ",<br> %s");
+ sb.append(String.format(fmt, pvs.get(i)));
+ }
+ sb.append("\n");
+ return sb.toString();
+ }
+
public String servicesColumn() {
StringBuilder sb = new StringBuilder();
sb.append(String.format(" <td class=\"%s\">", CODE));
ms.descriptor().uses().stream()
.sorted()
.forEach(s -> sb.append("uses ").append(s).append("<br>").append("\n"));
ms.descriptor().provides().stream()
.sorted(Comparator.comparing(Provides::service))
! .map(this::providesEntry)
.forEach(p -> sb.append(p).append("<br>").append("\n"));
sb.append("</td>");
return sb.toString();
}
< prev index next >