in src/main/java/org/apache/tomee/website/Downloads.java [47:143]
public static void main(final String[] args) {
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "512");
AtomicReference<String> version1 = new AtomicReference<>();
AtomicReference<String> version7 = new AtomicReference<>();
final List<Download> downloads = Stream.of(
Stream.of("org/apache/openejb/openejb", "org/apache/tomee/tomee-project")
.flatMap(Downloads::toVersions)
.map(v -> v.extensions("zip"))
.map(v -> v.classifiers("source-release")),
versionStream("apache-tomee")
.map(v -> v.version.startsWith("1.") ?
v.classifiers("plus", "plume", "webprofile", "jaxrs") : v.classifiers("plus", "plume", "webprofile"))
.map(v -> v.extensions("tar.gz", "zip")),
versionStream("openejb-standalone")
.map(v -> v.extensions("tar.gz", "zip")),
versionStream("tomee-webapp")
.map(v -> v.extensions("war")),
versionStream("tomee-plus-webapp")
.map(v -> v.extensions("war")),
versionStream("tomee-plume-webapp")
.map(v -> v.extensions("war")))
.flatMap(s -> s)
.flatMap(Downloads::toDownloadable)
.parallel()
.map(Downloads::fillDownloadable)
.filter(Objects::nonNull /* skipped */)
.sorted((o1, o2) -> {
int versionComp = o2.version.compareTo(o1.version);
if (versionComp != 0) {
if (o2.version.startsWith(o1.version) && o2.version.contains("-M")) { // milestone
versionComp = -1;
} else if (o1.version.startsWith(o2.version) && o1.version.contains("-M")) { // milestone
versionComp = 1;
}
checkMaxVersion(version1, version7, o1, versionComp);
return versionComp;
}
final int nameComp = o1.name.compareTo(o2.name);
if (nameComp != 0) {
checkMaxVersion(version1, version7, o1, nameComp);
return nameComp;
}
final long dateComp = LocalDateTime.parse(o2.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC).toEpochMilli()
- LocalDateTime.parse(o1.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC).toEpochMilli();
if (dateComp != 0) {
return (int) dateComp;
}
return o1.url.compareTo(o2.url);
})
.collect(toList());
String versionCurrent = version7.get();
//Current
for (final Download d : downloads) {
if (d.version.startsWith(version7.get()) || d.version.startsWith(version1.get())) {
if (!versionCurrent.equals(d.version)) {
versionCurrent = d.version;
System.out.println("||||||");
}
printRow(d);
}
}
System.out.println();
versionCurrent = version7.get();
//Archive
for (final Download d : downloads) {
if (!d.version.startsWith(version7.get()) && !d.version.startsWith(version1.get())) {
if (!versionCurrent.equals(d.version)) {
versionCurrent = d.version;
System.out.println("||||||");
}
printRow(d);
}
}
}