Downloading snapshot versions

This commit is contained in:
huangyuhui
2018-02-14 14:15:34 +08:00
parent c76bcb5d15
commit 8d1e335abf
8 changed files with 95 additions and 36 deletions

View File

@@ -78,20 +78,6 @@ public class RemoteVersion<T> implements Comparable<RemoteVersion<T>> {
@Override
public int compareTo(RemoteVersion<T> o) {
// newer versions are smaller than older versions
return -selfVersion.compareTo(o.selfVersion);
}
public static class RemoteVersionComparator implements Comparator<RemoteVersion<?>> {
public static final RemoteVersionComparator INSTANCE = new RemoteVersionComparator();
private RemoteVersionComparator() {
}
@Override
public int compare(RemoteVersion<?> o1, RemoteVersion<?> o2) {
return -VersionNumber.asVersion(o1.selfVersion).compareTo(VersionNumber.asVersion(o2.selfVersion));
}
return -VersionNumber.asVersion(selfVersion).compareTo(VersionNumber.asVersion(o.selfVersion));
}
}

View File

@@ -56,10 +56,7 @@ public final class GameVersionList extends VersionList<GameRemoteVersionTag> {
GameRemoteVersions root = Constants.GSON.fromJson(task.getResult(), GameRemoteVersions.class);
for (GameRemoteVersion remoteVersion : root.getVersions()) {
Optional<String> gameVersion = VersionNumber.parseVersion(remoteVersion.getGameVersion());
if (!gameVersion.isPresent())
continue;
versions.put(gameVersion.get(), new RemoteVersion<>(
versions.put(remoteVersion.getGameVersion(), new RemoteVersionGame(
remoteVersion.getGameVersion(),
remoteVersion.getGameVersion(),
remoteVersion.getUrl(),
@@ -70,4 +67,14 @@ public final class GameVersionList extends VersionList<GameRemoteVersionTag> {
};
}
private static class RemoteVersionGame extends RemoteVersion<GameRemoteVersionTag> {
public RemoteVersionGame(String gameVersion, String selfVersion, String url, GameRemoteVersionTag tag) {
super(gameVersion, selfVersion, url, tag);
}
@Override
public int compareTo(RemoteVersion<GameRemoteVersionTag> o) {
return -getTag().getTime().compareTo(o.getTag().getTime());
}
}
}