From 215b079bc97d45823c6e3a29b661a38c39901b89 Mon Sep 17 00:00:00 2001 From: tobias <tobias@thecodedev.de> Date: Sun, 29 Sep 2019 20:52:34 +0200 Subject: [PATCH] Fixed update items: Filter remote versions that are newer then local version --- .../option/global/UpdateTabViewController.java | 12 +++++++++++- .../playpad/initialize/VersionizerSetupTask.scala | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java index f3ebf8e5..fd2bb3bc 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/global/UpdateTabViewController.java @@ -5,8 +5,10 @@ import de.thecodelabs.utils.application.ApplicationInfo; import de.thecodelabs.utils.application.ApplicationUtils; import de.thecodelabs.utils.threading.Worker; import de.thecodelabs.utils.util.Localization; +import de.thecodelabs.versionizer.config.Artifact; import de.thecodelabs.versionizer.model.Version; import de.thecodelabs.versionizer.service.UpdateService; +import de.thecodelabs.versionizer.service.VersionTokenizer; import de.tobias.playpad.PlayPad; import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.Strings; @@ -22,6 +24,8 @@ import javafx.fxml.FXML; import javafx.scene.control.*; import java.io.IOException; +import java.util.Map; +import java.util.stream.Collectors; public class UpdateTabViewController extends GlobalSettingsTabViewController { @@ -99,10 +103,16 @@ public class UpdateTabViewController extends GlobalSettingsTabViewController { // Search for updates updateService.fetchCurrentVersion(); + // Filter remote versions that are newer then local version + final Map<Artifact, Version> remoteVersions = updateService.getRemoteVersions(); + final Map<Artifact, Version> availableUpdates = remoteVersions.entrySet().stream() + .filter(entry -> entry.getValue().isNewerThen(VersionTokenizer.getVersion(entry.getKey()))) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + Platform.runLater(() -> { openUpdateList.setPlaceholder(placeholderLabel); - openUpdateList.getItems().setAll(updateService.getRemoteVersions().values()); + openUpdateList.getItems().setAll(availableUpdates.values()); updateButton.setDisable(openUpdateList.getItems().isEmpty()); }); }); diff --git a/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala b/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala index ff860996..3c78ccb9 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/initialize/VersionizerSetupTask.scala @@ -18,6 +18,7 @@ class VersionizerSetupTask extends PlayPadInitializeTask { val versionizerItem = new VersionizerItem(repository, SystemUtils.getRunPath.toString) val updateService = UpdateService.startVersionizer(versionizerItem, UpdateService.Strategy.JAR, UpdateService.InteractionType.GUI) + updateService.addArtifact(artifact, SystemUtils.getRunPath) updateService.setRepositoryType(globalSettings.getUpdateChannel) instance.setUpdateService(updateService) -- GitLab