From b68d4b64e6bdfcc2d4a7de53001d68aae2392999 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 10 May 2021 09:36:09 +0200 Subject: [PATCH 1/5] Fixed some trivial warnings --- .../packages/ContributedPlatform.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java index 5fea546c1..3c45b7325 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java @@ -29,11 +29,18 @@ package cc.arduino.contributions.packages; -import cc.arduino.contributions.DownloadableContribution; +import java.io.File; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + import com.fasterxml.jackson.annotation.JsonIgnore; -import java.io.File; -import java.util.*; +import cc.arduino.contributions.DownloadableContribution; public class ContributedPlatform extends DownloadableContribution { @@ -45,8 +52,8 @@ public class ContributedPlatform extends DownloadableContribution { private String category; private String architecture; private String checksum; - private ArrayList toolsDependencies = new ArrayList(); - private ArrayList boards = new ArrayList(); + private ArrayList toolsDependencies = new ArrayList<>(); + private ArrayList boards = new ArrayList<>(); private ContributedHelp help; private boolean installed; private File installedFolder; @@ -54,12 +61,16 @@ public class ContributedPlatform extends DownloadableContribution { private Map resolvedToolReferences; private ContributedPackage parentPackage; + @Override public String getUrl() { return url; } + @Override public String getVersion() { return version; } + @Override public long getSize() { return size; } + @Override public String getArchiveFileName() { return archiveFileName; } public String getName() { return name; } From bf2f90dffff07a037ebe87265f898b648baa97ba Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 10 May 2021 09:36:36 +0200 Subject: [PATCH 2/5] Added deprecated field in index parsing --- .../contributions/packages/ContributedPlatform.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java index 3c45b7325..6c11a4cc2 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java @@ -60,6 +60,7 @@ public class ContributedPlatform extends DownloadableContribution { private boolean builtIn; private Map resolvedToolReferences; private ContributedPackage parentPackage; + private boolean deprecated; @Override public String getUrl() { return url; } @@ -157,6 +158,14 @@ public class ContributedPlatform extends DownloadableContribution { this.parentPackage = parentPackage; } + public boolean isDeprecated() { + return deprecated; + } + + public void setDeprecated(boolean deprecated) { + this.deprecated = deprecated; + } + @Override public String toString() { return getParsedVersion(); From cecc61c7eb9660f05e93f88d722dd76991343c9c Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 10 May 2021 09:37:07 +0200 Subject: [PATCH 3/5] Propagate deprecated flag in ContributedPlatformReleases --- .../packages/ui/ContributedPlatformReleases.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformReleases.java b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformReleases.java index 3545b1ff4..fc516512d 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformReleases.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformReleases.java @@ -44,12 +44,14 @@ public class ContributedPlatformReleases { public final List releases; public final List versions; public ContributedPlatform selected = null; + public boolean deprecated; public ContributedPlatformReleases(ContributedPlatform platform) { packager = platform.getParentPackage(); arch = platform.getArchitecture(); releases = new LinkedList<>(); versions = new LinkedList<>(); + deprecated = platform.isDeprecated(); add(platform); } @@ -65,7 +67,9 @@ public class ContributedPlatformReleases { if (version != null) { versions.add(version); } - selected = getLatest(); + ContributedPlatform latest = getLatest(); + selected = latest; + deprecated = latest.isDeprecated(); } public ContributedPlatform getInstalled() { @@ -89,6 +93,10 @@ public class ContributedPlatformReleases { return selected; } + public boolean isDeprecated() { + return deprecated; + } + public void select(ContributedPlatform value) { for (ContributedPlatform plat : releases) { if (plat == value) { From 24556e7bf245fb4959282b2c94b5e5726dc693d9 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 10 May 2021 09:37:45 +0200 Subject: [PATCH 4/5] Deprioritize deprecated contributions --- .../packages/ui/ContributionIndexTableModel.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java b/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java index 7472c6247..f7dbd95d7 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java @@ -36,6 +36,7 @@ import cc.arduino.contributions.ui.FilteredAbstractTableModel; import processing.app.BaseNoGui; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -73,6 +74,18 @@ public class ContributionIndexTableModel addContribution(platform); } } + Collections.sort(contributions, (x,y)-> { + if (x.isDeprecated() != y.isDeprecated()) { + return x.isDeprecated() ? 1 : -1; + } + ContributedPlatform x1 = x.getLatest(); + ContributedPlatform y1 = y.getLatest(); + int category = (x1.getCategory().equals("Arduino") ? -1 : 0) + (y1.getCategory().equals("Arduino") ? 1 : 0); + if (category != 0) { + return category; + } + return x1.getName().compareToIgnoreCase(y1.getName()); + }); fireTableDataChanged(); } From 12cb3f0dc92bd8868e3e21538ae6b9a2f0f79d4e Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 10 May 2021 10:06:39 +0200 Subject: [PATCH 5/5] Added 'deprecated' label --- .../packages/ui/ContributedPlatformTableCellJPanel.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java index 75e26783d..19961c1c9 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java @@ -232,6 +232,9 @@ public class ContributedPlatformTableCellJPanel extends JPanel { + format(tr("version {0}"), installed.getParsedVersion()) + " INSTALLED"; } + if (releases.isDeprecated()) { + desc += " DEPRECATED"; + } desc += "
"; desc += tr("Boards included in this package:") + "
";