private static int versionComparator()

in geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java [129:153]


    private static int versionComparator(final Download o1, final Download o2) {
        final int formatComp = o2.format.compareTo(o1.format); // pom before jar
        if (formatComp != 0) {
            return formatComp;
        }

        final int nameComp = o1.name.compareTo(o2.name);
        if (nameComp != 0) {
            return nameComp;
        }

        final int versionComp = -compareVersions(o1.version, o2.version);
        if (versionComp != 0) {
            return versionComp;
        }

        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);
    }