diff --git a/app/src/cc/arduino/contributions/BuiltInCoreIsNewerCheck.java b/app/src/cc/arduino/contributions/BuiltInCoreIsNewerCheck.java index 207348c41..a1c0111e9 100644 --- a/app/src/cc/arduino/contributions/BuiltInCoreIsNewerCheck.java +++ b/app/src/cc/arduino/contributions/BuiltInCoreIsNewerCheck.java @@ -34,7 +34,6 @@ import cc.arduino.contributions.filters.InstalledPredicate; import cc.arduino.contributions.packages.ContributedPackage; import cc.arduino.contributions.packages.ContributedPlatform; import cc.arduino.view.Event; -import com.google.common.base.Function; import com.google.common.collect.Collections2; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -73,12 +72,7 @@ public class BuiltInCoreIsNewerCheck implements Runnable { return; } - LinkedList contributedPlatforms = Lists.newLinkedList(Iterables.concat(Collections2.transform(BaseNoGui.indexer.getPackages(), new Function>() { - @Override - public List apply(ContributedPackage input) { - return input.getPlatforms(); - } - }))); + LinkedList contributedPlatforms = Lists.newLinkedList(Iterables.concat(Collections2.transform(BaseNoGui.indexer.getPackages(), ContributedPackage::getPlatforms))); List installedBuiltInPlatforms = contributedPlatforms.stream().filter(new InstalledPredicate()).filter(new BuiltInPredicate()).collect(Collectors.toList()); if (installedBuiltInPlatforms.size() != 1) { @@ -96,18 +90,15 @@ public class BuiltInCoreIsNewerCheck implements Runnable { } if (VersionHelper.valueOf(installedBuiltIn.getParsedVersion()).greaterThan(VersionHelper.valueOf(installedNotBuiltIn.getParsedVersion()))) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - PreferencesData.setInteger("builtin_platform_is_newer", BaseNoGui.REVISION); - assert base.hasActiveEditor(); - int chosenOption = JOptionPane.showConfirmDialog(base.getActiveEditor(), I18n.format(_("The IDE includes an updated {0} package, but you're using an older one.\nDo you want to upgrade {0}?"), installedBuiltIn.getName()), I18n.format(_("A newer {0} package is available"), installedBuiltIn.getName()), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); - if (chosenOption == JOptionPane.YES_OPTION) { - Action openBoardsManager = base.getOpenBoardsManager(); - Event event = new Event(base.getActiveEditor(), ActionEvent.ACTION_PERFORMED, installedBuiltIn.getName()); - event.getPayload().put("filterText", installedBuiltIn.getName()); - openBoardsManager.actionPerformed(event); - } + SwingUtilities.invokeLater(() -> { + PreferencesData.setInteger("builtin_platform_is_newer", BaseNoGui.REVISION); + assert base.hasActiveEditor(); + int chosenOption = JOptionPane.showConfirmDialog(base.getActiveEditor(), I18n.format(_("The IDE includes an updated {0} package, but you're using an older one.\nDo you want to upgrade {0}?"), installedBuiltIn.getName()), I18n.format(_("A newer {0} package is available"), installedBuiltIn.getName()), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); + if (chosenOption == JOptionPane.YES_OPTION) { + Action openBoardsManager = base.getOpenBoardsManager(); + Event event = new Event(base.getActiveEditor(), ActionEvent.ACTION_PERFORMED, installedBuiltIn.getName()); + event.getPayload().put("filterText", installedBuiltIn.getName()); + openBoardsManager.actionPerformed(event); } }); } diff --git a/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCell.java b/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCell.java index bc43618ff..cdf8a9f4f 100644 --- a/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCell.java +++ b/app/src/cc/arduino/contributions/libraries/ui/ContributedLibraryTableCell.java @@ -29,7 +29,6 @@ package cc.arduino.contributions.libraries.ui; -import cc.arduino.contributions.DownloadableContribution; import cc.arduino.contributions.DownloadableContributionVersionComparator; import cc.arduino.contributions.VersionComparator; import cc.arduino.contributions.filters.BuiltInPredicate; @@ -39,22 +38,18 @@ import cc.arduino.contributions.libraries.filters.OnlyUpstreamReleasePredicate; import cc.arduino.contributions.ui.InstallerTableCell; import cc.arduino.contributions.ui.listeners.DelegatingKeyListener; import cc.arduino.utils.ReverseComparator; -import com.google.common.base.Function; import com.google.common.collect.Lists; import processing.app.Base; import javax.swing.*; import javax.swing.border.EmptyBorder; import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; import javax.swing.text.Document; import javax.swing.text.html.HTMLDocument; import javax.swing.text.html.StyleSheet; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -65,59 +60,43 @@ import static processing.app.I18n.format; @SuppressWarnings("serial") public class ContributedLibraryTableCell extends InstallerTableCell { - private JPanel panel; - private JButton installButton; - private Component installButtonPlaceholder; + private final JPanel panel; + private final JButton installButton; + private final Component installButtonPlaceholder; private JComboBox downgradeChooser; - private JComboBox versionToInstallChooser; - private JButton downgradeButton; - private JPanel buttonsPanel; - private JPanel inactiveButtonsPanel; - private JLabel statusLabel; + private final JComboBox versionToInstallChooser; + private final JButton downgradeButton; + private final JPanel buttonsPanel; + private final JPanel inactiveButtonsPanel; + private final JLabel statusLabel; public ContributedLibraryTableCell() { { installButton = new JButton(_("Install")); - installButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - onInstall(editorValue.getSelected(), editorValue.getInstalled()); - } - }); + installButton.addActionListener(e -> onInstall(editorValue.getSelected(), editorValue.getInstalled())); int width = installButton.getPreferredSize().width; installButtonPlaceholder = Box.createRigidArea(new Dimension(width, 1)); } downgradeButton = new JButton(_("Install")); - downgradeButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - ContributedLibrary selected = (ContributedLibrary) downgradeChooser.getSelectedItem(); - onInstall(selected, editorValue.getInstalled()); - } + downgradeButton.addActionListener(e -> { + ContributedLibrary selected = (ContributedLibrary) downgradeChooser.getSelectedItem(); + onInstall(selected, editorValue.getInstalled()); }); downgradeChooser = new JComboBox(); downgradeChooser.addItem("-"); downgradeChooser.setMaximumSize(downgradeChooser.getPreferredSize()); - downgradeChooser.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - Object selectVersionItem = downgradeChooser.getItemAt(0); - boolean disableDowngrade = (e.getItem() == selectVersionItem); - downgradeButton.setEnabled(!disableDowngrade); - } + downgradeChooser.addItemListener(e -> { + Object selectVersionItem = downgradeChooser.getItemAt(0); + boolean disableDowngrade = (e.getItem() == selectVersionItem); + downgradeButton.setEnabled(!disableDowngrade); }); versionToInstallChooser = new JComboBox(); versionToInstallChooser.addItem("-"); versionToInstallChooser.setMaximumSize(versionToInstallChooser.getPreferredSize()); - versionToInstallChooser.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - editorValue.select((ContributedLibrary) versionToInstallChooser.getSelectedItem()); - } - }); + versionToInstallChooser.addItemListener(e -> editorValue.select((ContributedLibrary) versionToInstallChooser.getSelectedItem())); panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); @@ -186,12 +165,9 @@ public class ContributedLibraryTableCell extends InstallerTableCell { description.setBorder(new EmptyBorder(4, 7, 7, 7)); description.setHighlighter(null); description.setEditable(false); - description.addHyperlinkListener(new HyperlinkListener() { - @Override - public void hyperlinkUpdate(HyperlinkEvent e) { - if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { - Base.openURL(e.getDescription()); - } + description.addHyperlinkListener(e -> { + if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { + Base.openURL(e.getDescription()); } }); description.addKeyListener(new DelegatingKeyListener(parentTable)); @@ -255,7 +231,7 @@ public class ContributedLibraryTableCell extends InstallerTableCell { uninstalledReleases.addAll(installedBuiltIn); } - Collections.sort(uninstalledReleases, new ReverseComparator(new DownloadableContributionVersionComparator())); + Collections.sort(uninstalledReleases, new ReverseComparator<>(new DownloadableContributionVersionComparator())); downgradeChooser.removeAllItems(); downgradeChooser.addItem(_("Select version")); @@ -264,32 +240,23 @@ public class ContributedLibraryTableCell extends InstallerTableCell { final List uninstalledNewerReleases = Lists.newLinkedList(); final VersionComparator versionComparator = new VersionComparator(); - Lists.newLinkedList(Lists.transform(uninstalledReleases, new Function() { - @Override - public ContributedLibrary apply(ContributedLibrary input) { - if (installed == null || versionComparator.greaterThan(installed.getParsedVersion(), input.getParsedVersion())) { - uninstalledPreviousReleases.add(input); - } else { - uninstalledNewerReleases.add(input); - } - - return input; + Lists.newLinkedList(Lists.transform(uninstalledReleases, input -> { + if (installed == null || versionComparator.greaterThan(installed.getParsedVersion(), input.getParsedVersion())) { + uninstalledPreviousReleases.add(input); + } else { + uninstalledNewerReleases.add(input); } + + return input; })); - for (ContributedLibrary release : uninstalledNewerReleases) { - downgradeChooser.addItem(release); - } - for (ContributedLibrary release : uninstalledPreviousReleases) { - downgradeChooser.addItem(release); - } + uninstalledNewerReleases.forEach(downgradeChooser::addItem); + uninstalledPreviousReleases.forEach(downgradeChooser::addItem); downgradeChooser.setVisible(installed != null && (!uninstalledPreviousReleases.isEmpty() || uninstalledNewerReleases.size() > 1)); downgradeButton.setVisible(installed != null && (!uninstalledPreviousReleases.isEmpty() || uninstalledNewerReleases.size() > 1)); versionToInstallChooser.removeAllItems(); - for (ContributedLibrary release : uninstalledReleases) { - versionToInstallChooser.addItem(release); - } + uninstalledReleases.forEach(versionToInstallChooser::addItem); versionToInstallChooser.setVisible(installed == null && uninstalledReleases.size() > 1); Component component = getUpdatedCellComponent(value, true, row, !installedBuiltIn.isEmpty()); @@ -310,14 +277,12 @@ public class ContributedLibraryTableCell extends InstallerTableCell { ContributedLibrary selected = releases.getSelected(); ContributedLibrary installed = releases.getInstalled(); - boolean removable, installable, upgradable; + boolean installable, upgradable; if (installed == null) { installable = true; - removable = false; upgradable = false; } else { installable = false; - removable = !installed.isReadOnly() && !hasBuiltInRelease; upgradable = new DownloadableContributionVersionComparator().compare(selected, installed) > 0; } if (installable) { @@ -405,7 +370,7 @@ public class ContributedLibraryTableCell extends InstallerTableCell { return panel; } - private Timer enabler = new Timer(100, new ActionListener() { + private final Timer enabler = new Timer(100, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { enable(true); diff --git a/app/src/cc/arduino/contributions/libraries/ui/LibrariesIndexTableModel.java b/app/src/cc/arduino/contributions/libraries/ui/LibrariesIndexTableModel.java index ebd47827b..6a9ab4ae5 100644 --- a/app/src/cc/arduino/contributions/libraries/ui/LibrariesIndexTableModel.java +++ b/app/src/cc/arduino/contributions/libraries/ui/LibrariesIndexTableModel.java @@ -59,8 +59,8 @@ public class LibrariesIndexTableModel extends FilteredAbstractTableModel(); - this.releases = new LinkedList(); + this.versions = new LinkedList<>(); + this.releases = new LinkedList<>(); this.selected = null; add(library); } @@ -112,7 +112,7 @@ public class LibrariesIndexTableModel extends FilteredAbstractTableModel contributions = new ArrayList(); + private final List contributions = new ArrayList<>(); private final String[] columnNames = {"Description"}; @@ -267,12 +267,8 @@ public class LibrariesIndexTableModel extends FilteredAbstractTableModel { typeChooser.addItem(new DropdownAllItem()); typeChooser.addItem(new DropdownUpdatableLibrariesItem(indexer)); typeChooser.addItem(new DropdownInstalledLibraryItem(indexer.getIndex())); - java.util.List types = new LinkedList(indexer.getIndex().getTypes()); + java.util.List types = new LinkedList<>(indexer.getIndex().getTypes()); Collections.sort(types, new LibraryTypeComparator()); for (String type : types) { typeChooser.addItem(new DropdownLibraryOfTypeItem(type)); @@ -217,18 +217,15 @@ public class LibraryManagerUI extends InstallerJDialog { @Override protected void onUpdatePressed() { super.onUpdatePressed(); - installerThread = new Thread(new Runnable() { - @Override - public void run() { - try { - setProgressVisible(true, ""); - installer.updateIndex(); - onIndexesUpdated(); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - setProgressVisible(false, ""); - } + installerThread = new Thread(() -> { + try { + setProgressVisible(true, ""); + installer.updateIndex(); + onIndexesUpdated(); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + setProgressVisible(false, ""); } }); installerThread.setUncaughtExceptionHandler(new InstallerJDialogUncaughtExceptionHandler(this, noConnectionErrorMessage)); @@ -237,19 +234,16 @@ public class LibraryManagerUI extends InstallerJDialog { public void onInstallPressed(final ContributedLibrary lib, final ContributedLibrary replaced) { clearErrorMessage(); - installerThread = new Thread(new Runnable() { - @Override - public void run() { - try { - setProgressVisible(true, _("Installing...")); - installer.install(lib, replaced); - onIndexesUpdated(); // TODO: Do a better job in refreshing only the needed element - //getContribModel().updateLibrary(lib); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - setProgressVisible(false, ""); - } + installerThread = new Thread(() -> { + try { + setProgressVisible(true, _("Installing...")); + installer.install(lib, replaced); + onIndexesUpdated(); // TODO: Do a better job in refreshing only the needed element + //getContribModel().updateLibrary(lib); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + setProgressVisible(false, ""); } }); installerThread.setUncaughtExceptionHandler(new InstallerJDialogUncaughtExceptionHandler(this, noConnectionErrorMessage)); @@ -267,19 +261,16 @@ public class LibraryManagerUI extends InstallerJDialog { } clearErrorMessage(); - installerThread = new Thread(new Runnable() { - @Override - public void run() { - try { - setProgressVisible(true, _("Removing...")); - installer.remove(lib); - onIndexesUpdated(); // TODO: Do a better job in refreshing only the needed element - //getContribModel().updateLibrary(lib); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - setProgressVisible(false, ""); - } + installerThread = new Thread(() -> { + try { + setProgressVisible(true, _("Removing...")); + installer.remove(lib); + onIndexesUpdated(); // TODO: Do a better job in refreshing only the needed element + //getContribModel().updateLibrary(lib); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + setProgressVisible(false, ""); } }); installerThread.setUncaughtExceptionHandler(new InstallerJDialogUncaughtExceptionHandler(this, noConnectionErrorMessage)); diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCell.java b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCell.java index ece4556e7..0d2449440 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCell.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCell.java @@ -29,7 +29,6 @@ package cc.arduino.contributions.packages.ui; -import cc.arduino.contributions.DownloadableContribution; import cc.arduino.contributions.DownloadableContributionVersionComparator; import cc.arduino.contributions.VersionComparator; import cc.arduino.contributions.filters.BuiltInPredicate; @@ -40,22 +39,18 @@ import cc.arduino.contributions.packages.ContributedPlatform; import cc.arduino.contributions.ui.InstallerTableCell; import cc.arduino.contributions.ui.listeners.DelegatingKeyListener; import cc.arduino.utils.ReverseComparator; -import com.google.common.base.Function; import com.google.common.collect.Lists; import processing.app.Base; import javax.swing.*; import javax.swing.border.EmptyBorder; import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; import javax.swing.text.Document; import javax.swing.text.html.HTMLDocument; import javax.swing.text.html.StyleSheet; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.util.Collections; import java.util.LinkedList; import java.util.stream.Collectors; @@ -66,73 +61,52 @@ import static processing.app.I18n.format; @SuppressWarnings("serial") public class ContributedPlatformTableCell extends InstallerTableCell { - private JPanel panel; - private JButton installButton; - private JButton removeButton; - private Component removeButtonPlaceholder; - private Component installButtonPlaceholder; + private final JPanel panel; + private final JButton installButton; + private final JButton removeButton; + private final Component removeButtonPlaceholder; + private final Component installButtonPlaceholder; private JComboBox downgradeChooser; - private JComboBox versionToInstallChooser; - private JButton downgradeButton; - private JPanel buttonsPanel; - private JPanel inactiveButtonsPanel; - private JLabel statusLabel; + private final JComboBox versionToInstallChooser; + private final JButton downgradeButton; + private final JPanel buttonsPanel; + private final JPanel inactiveButtonsPanel; + private final JLabel statusLabel; public ContributedPlatformTableCell() { { installButton = new JButton(_("Install")); - installButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - onInstall(editorValue.getSelected(), editorValue.getInstalled()); - } - }); + installButton.addActionListener(e -> onInstall(editorValue.getSelected(), editorValue.getInstalled())); int width = installButton.getPreferredSize().width; installButtonPlaceholder = Box.createRigidArea(new Dimension(width, 1)); } { removeButton = new JButton(_("Remove")); - removeButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - onRemove(editorValue.getInstalled()); - } - }); + removeButton.addActionListener(e -> onRemove(editorValue.getInstalled())); int width = removeButton.getPreferredSize().width; removeButtonPlaceholder = Box.createRigidArea(new Dimension(width, 1)); } downgradeButton = new JButton(_("Install")); - downgradeButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - ContributedPlatform selected = (ContributedPlatform) downgradeChooser.getSelectedItem(); - onInstall(selected, editorValue.getInstalled()); - } + downgradeButton.addActionListener(e -> { + ContributedPlatform selected = (ContributedPlatform) downgradeChooser.getSelectedItem(); + onInstall(selected, editorValue.getInstalled()); }); downgradeChooser = new JComboBox(); downgradeChooser.addItem("-"); downgradeChooser.setMaximumSize(downgradeChooser.getPreferredSize()); - downgradeChooser.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - Object selectVersionItem = downgradeChooser.getItemAt(0); - boolean disableDowngrade = (e.getItem() == selectVersionItem); - downgradeButton.setEnabled(!disableDowngrade); - } + downgradeChooser.addItemListener(e -> { + Object selectVersionItem = downgradeChooser.getItemAt(0); + boolean disableDowngrade = (e.getItem() == selectVersionItem); + downgradeButton.setEnabled(!disableDowngrade); }); versionToInstallChooser = new JComboBox(); versionToInstallChooser.addItem("-"); versionToInstallChooser.setMaximumSize(versionToInstallChooser.getPreferredSize()); - versionToInstallChooser.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - editorValue.select((ContributedPlatform) versionToInstallChooser.getSelectedItem()); - } - }); + versionToInstallChooser.addItemListener(e -> editorValue.select((ContributedPlatform) versionToInstallChooser.getSelectedItem())); panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); @@ -203,12 +177,9 @@ public class ContributedPlatformTableCell extends InstallerTableCell { description.setBorder(new EmptyBorder(4, 7, 7, 7)); description.setHighlighter(null); description.setEditable(false); - description.addHyperlinkListener(new HyperlinkListener() { - @Override - public void hyperlinkUpdate(HyperlinkEvent e) { - if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { - Base.openURL(e.getDescription()); - } + description.addHyperlinkListener(e -> { + if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { + Base.openURL(e.getDescription()); } }); description.addKeyListener(new DelegatingKeyListener(parentTable)); @@ -263,7 +234,7 @@ public class ContributedPlatformTableCell extends InstallerTableCell { final ContributedPlatform installed = editorValue.getInstalled(); - java.util.List releases = new LinkedList(editorValue.releases); + java.util.List releases = new LinkedList<>(editorValue.releases); java.util.List uninstalledReleases = releases.stream().filter(new InstalledPredicate().negate()).collect(Collectors.toList()); java.util.List installedBuiltIn = releases.stream().filter(new InstalledPredicate()).filter(new BuiltInPredicate()).collect(Collectors.toList()); @@ -272,7 +243,7 @@ public class ContributedPlatformTableCell extends InstallerTableCell { uninstalledReleases.addAll(installedBuiltIn); } - Collections.sort(uninstalledReleases, new ReverseComparator(new DownloadableContributionVersionComparator())); + Collections.sort(uninstalledReleases, new ReverseComparator<>(new DownloadableContributionVersionComparator())); downgradeChooser.removeAllItems(); downgradeChooser.addItem(_("Select version")); @@ -281,32 +252,23 @@ public class ContributedPlatformTableCell extends InstallerTableCell { final java.util.List uninstalledNewerReleases = Lists.newLinkedList(); final VersionComparator versionComparator = new VersionComparator(); - Lists.newLinkedList(Lists.transform(uninstalledReleases, new Function() { - @Override - public ContributedPlatform apply(ContributedPlatform input) { - if (installed == null || versionComparator.greaterThan(installed.getParsedVersion(), input.getParsedVersion())) { - uninstalledPreviousReleases.add(input); - } else { - uninstalledNewerReleases.add(input); - } - - return input; + Lists.newLinkedList(Lists.transform(uninstalledReleases, input -> { + if (installed == null || versionComparator.greaterThan(installed.getParsedVersion(), input.getParsedVersion())) { + uninstalledPreviousReleases.add(input); + } else { + uninstalledNewerReleases.add(input); } + + return input; })); - for (ContributedPlatform release : uninstalledNewerReleases) { - downgradeChooser.addItem(release); - } - for (ContributedPlatform release : uninstalledPreviousReleases) { - downgradeChooser.addItem(release); - } + uninstalledNewerReleases.forEach(downgradeChooser::addItem); + uninstalledPreviousReleases.forEach(downgradeChooser::addItem); downgradeChooser.setVisible(installed != null && (!uninstalledPreviousReleases.isEmpty() || uninstalledNewerReleases.size() > 1)); downgradeButton.setVisible(installed != null && (!uninstalledPreviousReleases.isEmpty() || uninstalledNewerReleases.size() > 1)); versionToInstallChooser.removeAllItems(); - for (ContributedPlatform release : uninstalledReleases) { - versionToInstallChooser.addItem(release); - } + uninstalledReleases.forEach(versionToInstallChooser::addItem); versionToInstallChooser.setVisible(installed == null && uninstalledReleases.size() > 1); Component component = getUpdatedCellComponent(value, true, row, !installedBuiltIn.isEmpty()); @@ -412,7 +374,7 @@ public class ContributedPlatformTableCell extends InstallerTableCell { return panel; } - private Timer enabler = new Timer(100, new ActionListener() { + private final Timer enabler = new Timer(100, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { enable(true); diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java b/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java index f7f9b9b38..c545b55bc 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributionIndexTableModel.java @@ -59,8 +59,8 @@ public class ContributionIndexTableModel extends FilteredAbstractTableModel(); - this.versions = new LinkedList(); + this.releases = new LinkedList<>(); + this.versions = new LinkedList<>(); add(platform); } @@ -108,11 +108,11 @@ public class ContributionIndexTableModel extends FilteredAbstractTableModel contributions = new ArrayList(); + private final List contributions = new ArrayList<>(); - private String[] columnNames = {"Description"}; + private final String[] columnNames = {"Description"}; - private Class[] columnTypes = {ContributedPlatform.class}; + private final Class[] columnTypes = {ContributedPlatform.class}; private ContributionsIndexer indexer; diff --git a/app/src/cc/arduino/contributions/packages/ui/ContributionManagerUI.java b/app/src/cc/arduino/contributions/packages/ui/ContributionManagerUI.java index 2d2e4118d..f9871f056 100644 --- a/app/src/cc/arduino/contributions/packages/ui/ContributionManagerUI.java +++ b/app/src/cc/arduino/contributions/packages/ui/ContributionManagerUI.java @@ -148,19 +148,16 @@ public class ContributionManagerUI extends InstallerJDialog { @Override public void onUpdatePressed() { super.onUpdatePressed(); - installerThread = new Thread(new Runnable() { - @Override - public void run() { - try { - setProgressVisible(true, ""); - List downloadedPackageIndexFiles = installer.updateIndex(); - installer.deleteUnknownFiles(downloadedPackageIndexFiles); - onIndexesUpdated(); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - setProgressVisible(false, ""); - } + installerThread = new Thread(() -> { + try { + setProgressVisible(true, ""); + List downloadedPackageIndexFiles = installer.updateIndex(); + installer.deleteUnknownFiles(downloadedPackageIndexFiles); + onIndexesUpdated(); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + setProgressVisible(false, ""); } }); installerThread.setUncaughtExceptionHandler(new InstallerJDialogUncaughtExceptionHandler(this, noConnectionErrorMessage)); @@ -169,24 +166,21 @@ public class ContributionManagerUI extends InstallerJDialog { public void onInstallPressed(final ContributedPlatform platformToInstall, final ContributedPlatform platformToRemove) { clearErrorMessage(); - installerThread = new Thread(new Runnable() { - @Override - public void run() { - List errors = new LinkedList(); - try { - setProgressVisible(true, _("Installing...")); - errors.addAll(installer.install(platformToInstall)); - if (platformToRemove != null && !platformToRemove.isReadOnly()) { - errors.addAll(installer.remove(platformToRemove)); - } - onIndexesUpdated(); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - setProgressVisible(false, ""); - if (!errors.isEmpty()) { - setErrorMessage(errors.get(0)); - } + installerThread = new Thread(() -> { + List errors = new LinkedList<>(); + try { + setProgressVisible(true, _("Installing...")); + errors.addAll(installer.install(platformToInstall)); + if (platformToRemove != null && !platformToRemove.isReadOnly()) { + errors.addAll(installer.remove(platformToRemove)); + } + onIndexesUpdated(); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + setProgressVisible(false, ""); + if (!errors.isEmpty()) { + setErrorMessage(errors.get(0)); } } }); @@ -204,18 +198,15 @@ public class ContributionManagerUI extends InstallerJDialog { } } - installerThread = new Thread(new Runnable() { - @Override - public void run() { - try { - setProgressVisible(true, _("Removing...")); - installer.remove(platform); - onIndexesUpdated(); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - setProgressVisible(false, ""); - } + installerThread = new Thread(() -> { + try { + setProgressVisible(true, _("Removing...")); + installer.remove(platform); + onIndexesUpdated(); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + setProgressVisible(false, ""); } }); installerThread.setUncaughtExceptionHandler(new InstallerJDialogUncaughtExceptionHandler(this, noConnectionErrorMessage)); diff --git a/app/src/cc/arduino/contributions/packages/ui/DropdownAllCoresItem.java b/app/src/cc/arduino/contributions/packages/ui/DropdownAllCoresItem.java index 4624dacb8..4cc2add1e 100644 --- a/app/src/cc/arduino/contributions/packages/ui/DropdownAllCoresItem.java +++ b/app/src/cc/arduino/contributions/packages/ui/DropdownAllCoresItem.java @@ -45,7 +45,7 @@ public class DropdownAllCoresItem implements DropdownItem { @Override public Predicate getFilterPredicate() { - return new NoopPredicate(); + return new NoopPredicate<>(); } @Override diff --git a/app/src/cc/arduino/contributions/ui/DropdownAllItem.java b/app/src/cc/arduino/contributions/ui/DropdownAllItem.java index 3b9739c99..6637a3bda 100644 --- a/app/src/cc/arduino/contributions/ui/DropdownAllItem.java +++ b/app/src/cc/arduino/contributions/ui/DropdownAllItem.java @@ -44,7 +44,7 @@ public class DropdownAllItem implements DropdownItem { @Override public Predicate getFilterPredicate() { - return new NoopPredicate(); + return new NoopPredicate<>(); } @Override diff --git a/app/src/cc/arduino/contributions/ui/FilterJTextField.java b/app/src/cc/arduino/contributions/ui/FilterJTextField.java index 8947587f5..9dc7fd8d6 100644 --- a/app/src/cc/arduino/contributions/ui/FilterJTextField.java +++ b/app/src/cc/arduino/contributions/ui/FilterJTextField.java @@ -102,7 +102,7 @@ public class FilterJTextField extends JTextField { // Empty } - public void updateStyle() { + private void updateStyle() { if (showingHint) { setText(filterHint); setForeground(Color.gray); diff --git a/app/src/cc/arduino/contributions/ui/FilteredAbstractTableModel.java b/app/src/cc/arduino/contributions/ui/FilteredAbstractTableModel.java index cd3b71015..93d418068 100644 --- a/app/src/cc/arduino/contributions/ui/FilteredAbstractTableModel.java +++ b/app/src/cc/arduino/contributions/ui/FilteredAbstractTableModel.java @@ -34,7 +34,6 @@ import cc.arduino.contributions.VersionComparator; import javax.swing.table.AbstractTableModel; import java.util.Collections; -import java.util.Comparator; import java.util.LinkedList; import java.util.List; import java.util.function.Predicate; @@ -45,14 +44,9 @@ public abstract class FilteredAbstractTableModel extends AbstractTableModel { abstract public void updateIndexFilter(String[] filters, Stream> additionalFilters); protected static T getLatestOf(List contribs) { - contribs = new LinkedList(contribs); + contribs = new LinkedList<>(contribs); final VersionComparator versionComparator = new VersionComparator(); - Collections.sort(contribs, new Comparator() { - @Override - public int compare(T contrib1, T contrib2) { - return versionComparator.compare(contrib1.getParsedVersion(), contrib2.getParsedVersion()); - } - }); + Collections.sort(contribs, (contrib1, contrib2) -> versionComparator.compare(contrib1.getParsedVersion(), contrib2.getParsedVersion())); if (contribs.isEmpty()) { return null; diff --git a/app/src/cc/arduino/contributions/ui/InstallerJDialog.java b/app/src/cc/arduino/contributions/ui/InstallerJDialog.java index 7ba6b1a21..ea8ef2c09 100644 --- a/app/src/cc/arduino/contributions/ui/InstallerJDialog.java +++ b/app/src/cc/arduino/contributions/ui/InstallerJDialog.java @@ -170,12 +170,7 @@ public abstract class InstallerJDialog extends JDialog { { JButton cancelButton = new JButton(_("Cancel")); - cancelButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent arg0) { - onCancelPressed(); - } - }); + cancelButton.addActionListener(arg0 -> onCancelPressed()); progressBox = Box.createHorizontalBox(); progressBox.add(progressBar); @@ -183,21 +178,13 @@ public abstract class InstallerJDialog extends JDialog { progressBox.add(cancelButton); dismissErrorMessageButton = new JButton(_("OK")); - dismissErrorMessageButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent arg0) { - clearErrorMessage(); - setErrorMessageVisible(false); - } + dismissErrorMessageButton.addActionListener(arg0 -> { + clearErrorMessage(); + setErrorMessageVisible(false); }); closeButton = new JButton(_("Close")); - closeButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent arg0) { - InstallerJDialog.this.dispatchEvent(new WindowEvent(InstallerJDialog.this, WindowEvent.WINDOW_CLOSING)); - } - }); + closeButton.addActionListener(arg0 -> InstallerJDialog.this.dispatchEvent(new WindowEvent(InstallerJDialog.this, WindowEvent.WINDOW_CLOSING))); errorMessageBox = Box.createHorizontalBox(); errorMessageBox.add(Box.createHorizontalGlue()); @@ -222,19 +209,9 @@ public abstract class InstallerJDialog extends JDialog { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - Base.registerWindowCloseKeys(getRootPane(), new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - InstallerJDialog.this.dispatchEvent(new WindowEvent(InstallerJDialog.this, WindowEvent.WINDOW_CLOSING)); - } - }); + Base.registerWindowCloseKeys(getRootPane(), e -> InstallerJDialog.this.dispatchEvent(new WindowEvent(InstallerJDialog.this, WindowEvent.WINDOW_CLOSING))); - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - onUpdatePressed(); - } - }); + SwingUtilities.invokeLater(InstallerJDialog.this::onUpdatePressed); } public void updateIndexFilter(String[] filters, Predicate... additionalFilters) { diff --git a/app/src/cc/arduino/contributions/ui/InstallerJDialogUncaughtExceptionHandler.java b/app/src/cc/arduino/contributions/ui/InstallerJDialogUncaughtExceptionHandler.java index 9e7247c09..da950145a 100644 --- a/app/src/cc/arduino/contributions/ui/InstallerJDialogUncaughtExceptionHandler.java +++ b/app/src/cc/arduino/contributions/ui/InstallerJDialogUncaughtExceptionHandler.java @@ -50,12 +50,9 @@ public class InstallerJDialogUncaughtExceptionHandler implements Thread.Uncaught errorMessage = connectionErrorMessage; } final String finalErrorMessage = errorMessage; - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - System.err.println(finalErrorMessage); - e.printStackTrace(); - } + SwingUtilities.invokeLater(() -> { + System.err.println(finalErrorMessage); + e.printStackTrace(); }); parent.setErrorMessage(finalErrorMessage); } diff --git a/arduino-core/src/cc/arduino/contributions/DownloadableContributionsDownloader.java b/arduino-core/src/cc/arduino/contributions/DownloadableContributionsDownloader.java index 3b63f8951..dc90bf38f 100644 --- a/arduino-core/src/cc/arduino/contributions/DownloadableContributionsDownloader.java +++ b/arduino-core/src/cc/arduino/contributions/DownloadableContributionsDownloader.java @@ -39,8 +39,6 @@ import java.nio.file.Files; import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.Observable; -import java.util.Observer; import static processing.app.I18n._; import static processing.app.I18n.format; @@ -98,20 +96,17 @@ public class DownloadableContributionsDownloader { public void download(URL url, File tmpFile, Progress progress, String statusText) throws Exception { FileDownloader downloader = new FileDownloader(url, tmpFile); - downloader.addObserver(new Observer() { - @Override - public void update(Observable o, Object arg) { - FileDownloader me = (FileDownloader) o; - String msg = ""; - if (me.getDownloadSize() != null) { - long downloaded = (me.getInitialSize() + me.getDownloaded()) / 1000; - long total = (me.getInitialSize() + me.getDownloadSize()) / 1000; - msg = format(_("Downloaded {0}kb of {1}kb."), downloaded, total); - } - progress.setStatus(statusText + " " + msg); - progress.setProgress(me.getProgress()); - onProgress(progress); + downloader.addObserver((o, arg) -> { + FileDownloader me = (FileDownloader) o; + String msg = ""; + if (me.getDownloadSize() != null) { + long downloaded = (me.getInitialSize() + me.getDownloaded()) / 1000; + long total = (me.getInitialSize() + me.getDownloadSize()) / 1000; + msg = format(_("Downloaded {0}kb of {1}kb."), downloaded, total); } + progress.setStatus(statusText + " " + msg); + progress.setProgress(me.getProgress()); + onProgress(progress); }); downloader.download(); if (!downloader.isCompleted()) {