Skip to content

Commit

Permalink
Merge remote-tracking branch 'arduino/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
cmaglie committed Nov 24, 2015
2 parents 4c2af08 + 7bd4c8e commit 8f2514f
Show file tree
Hide file tree
Showing 25 changed files with 108 additions and 142 deletions.
17 changes: 6 additions & 11 deletions app/src/cc/arduino/contributions/ContributionsSelfCheck.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,13 @@

package cc.arduino.contributions;

import cc.arduino.contributions.libraries.LibrariesIndexer;
import cc.arduino.contributions.libraries.LibraryInstaller;
import cc.arduino.contributions.libraries.filters.UpdatableLibraryPredicate;
import cc.arduino.contributions.packages.ContributionInstaller;
import cc.arduino.contributions.packages.ContributionsIndexer;
import cc.arduino.contributions.packages.filters.UpdatablePlatformPredicate;
import cc.arduino.view.NotificationPopup;
import processing.app.Base;
import processing.app.BaseNoGui;
import processing.app.I18n;

import javax.swing.*;
Expand All @@ -49,21 +48,17 @@ public class ContributionsSelfCheck extends TimerTask {

private final Base base;
private final HyperlinkListener hyperlinkListener;
private final ContributionsIndexer contributionsIndexer;
private final ContributionInstaller contributionInstaller;
private final LibrariesIndexer librariesIndexer;
private final LibraryInstaller libraryInstaller;
private final ProgressListener progressListener;

private volatile boolean cancelled;
private volatile NotificationPopup notificationPopup;

public ContributionsSelfCheck(Base base, HyperlinkListener hyperlinkListener, ContributionsIndexer contributionsIndexer, ContributionInstaller contributionInstaller, LibrariesIndexer librariesIndexer, LibraryInstaller libraryInstaller) {
public ContributionsSelfCheck(Base base, HyperlinkListener hyperlinkListener, ContributionInstaller contributionInstaller, LibraryInstaller libraryInstaller) {
this.base = base;
this.hyperlinkListener = hyperlinkListener;
this.contributionsIndexer = contributionsIndexer;
this.contributionInstaller = contributionInstaller;
this.librariesIndexer = librariesIndexer;
this.libraryInstaller = libraryInstaller;
this.progressListener = new NoopProgressListener();
this.cancelled = false;
Expand All @@ -74,12 +69,12 @@ public void run() {
updateContributionIndex();
updateLibrariesIndex();

long updatablePlatforms = contributionsIndexer.getPackages().stream()
long updatablePlatforms = BaseNoGui.indexer.getPackages().stream()
.flatMap(pack -> pack.getPlatforms().stream())
.filter(new UpdatablePlatformPredicate(contributionsIndexer)).count();
.filter(new UpdatablePlatformPredicate()).count();

long updatableLibraries = librariesIndexer.getInstalledLibraries().stream()
.filter(new UpdatableLibraryPredicate(librariesIndexer))
long updatableLibraries = BaseNoGui.librariesIndexer.getInstalledLibraries().stream()
.filter(new UpdatableLibraryPredicate())
.count();

if (updatableLibraries <= 0 && updatablePlatforms <= 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,21 @@

import cc.arduino.contributions.filters.InstalledPredicate;
import cc.arduino.contributions.libraries.ContributedLibrary;
import cc.arduino.contributions.libraries.LibrariesIndex;
import processing.app.BaseNoGui;

import java.util.List;
import java.util.function.Predicate;

public class InstalledLibraryPredicate implements Predicate<ContributedLibrary> {

private final LibrariesIndex index;

public InstalledLibraryPredicate(LibrariesIndex index) {
this.index = index;
}

@Override
public boolean test(ContributedLibrary input) {
if (input.isInstalled()) {
return true;
}

List<ContributedLibrary> libraries = index.find(input.getName());
List<ContributedLibrary> libraries = BaseNoGui.librariesIndexer.getIndex().find(input.getName());

return libraries.stream()
.filter(new InstalledPredicate())
.count() > 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,30 +31,28 @@

import cc.arduino.contributions.VersionComparator;
import cc.arduino.contributions.libraries.ContributedLibrary;
import cc.arduino.contributions.libraries.LibrariesIndexer;
import processing.app.BaseNoGui;
import processing.app.packages.UserLibrary;

import java.util.List;
import java.util.function.Predicate;

public class UpdatableLibraryPredicate implements Predicate<ContributedLibrary> {

private final LibrariesIndexer indexer;
private final VersionComparator versionComparator;

public UpdatableLibraryPredicate(LibrariesIndexer indexer) {
this.indexer = indexer;
public UpdatableLibraryPredicate() {
this.versionComparator = new VersionComparator();
}

@Override
public boolean test(ContributedLibrary contributedLibrary) {
String libraryName = contributedLibrary.getName();
UserLibrary installed = indexer.getInstalledLibraries().getByName(libraryName);
UserLibrary installed = BaseNoGui.librariesIndexer.getInstalledLibraries().getByName(libraryName);
if (installed == null) {
return false;
}
List<ContributedLibrary> libraries = indexer.getIndex().find(libraryName);
List<ContributedLibrary> libraries = BaseNoGui.librariesIndexer.getIndex().find(libraryName);
return libraries.stream()
.filter(library -> versionComparator.greaterThan(library.getParsedVersion(), installed.getParsedVersion()))
.count() > 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
package cc.arduino.contributions.libraries.ui;

import cc.arduino.contributions.libraries.ContributedLibrary;
import cc.arduino.contributions.libraries.LibrariesIndex;
import cc.arduino.contributions.libraries.filters.InstalledLibraryPredicate;
import cc.arduino.contributions.ui.DropdownItem;

Expand All @@ -40,19 +39,13 @@

public class DropdownInstalledLibraryItem implements DropdownItem<ContributedLibrary> {

private final LibrariesIndex index;

public DropdownInstalledLibraryItem(LibrariesIndex index) {
this.index = index;
}

public String toString() {
return tr("Installed");
}

@Override
public Predicate<ContributedLibrary> getFilterPredicate() {
return new InstalledLibraryPredicate(index);
return new InstalledLibraryPredicate();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
package cc.arduino.contributions.libraries.ui;

import cc.arduino.contributions.libraries.ContributedLibrary;
import cc.arduino.contributions.libraries.LibrariesIndexer;
import cc.arduino.contributions.libraries.filters.UpdatableLibraryPredicate;
import cc.arduino.contributions.ui.DropdownItem;

Expand All @@ -40,15 +39,9 @@

public class DropdownUpdatableLibrariesItem implements DropdownItem<ContributedLibrary> {

private final LibrariesIndexer indexer;

public DropdownUpdatableLibrariesItem(LibrariesIndexer indexer) {
this.indexer = indexer;
}

@Override
public Predicate<ContributedLibrary> getFilterPredicate() {
return new UpdatableLibraryPredicate(indexer);
return new UpdatableLibraryPredicate();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
package cc.arduino.contributions.libraries.ui;

import cc.arduino.contributions.libraries.ContributedLibrary;
import cc.arduino.contributions.libraries.LibrariesIndexer;
import cc.arduino.contributions.packages.ContributedPlatform;
import cc.arduino.contributions.ui.FilteredAbstractTableModel;
import processing.app.BaseNoGui;

import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -51,12 +51,6 @@ public class LibrariesIndexTableModel extends FilteredAbstractTableModel<Contrib

private final Class<?>[] columnTypes = {ContributedPlatform.class};

private LibrariesIndexer indexer;

public void setIndexer(LibrariesIndexer _index) {
indexer = _index;
}

Predicate<ContributedLibrary> selectedCategoryFilter = null;
String selectedFilters[] = null;

Expand Down Expand Up @@ -202,8 +196,8 @@ public void updateLibrary(ContributedLibrary lib) {

private void updateContributions() {
contributions.clear();
indexer.getIndex().getLibraries().forEach(this::applyFilterToLibrary);
indexer.getInstalledLibraries().forEach(this::applyFilterToLibrary);
BaseNoGui.librariesIndexer.getIndex().getLibraries().forEach(this::applyFilterToLibrary);
BaseNoGui.librariesIndexer.getInstalledLibraries().forEach(this::applyFilterToLibrary);
Collections.sort(contributions, new ContributedLibraryReleasesComparator("Arduino"));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@

import cc.arduino.contributions.DownloadableContribution;
import cc.arduino.contributions.libraries.ContributedLibrary;
import cc.arduino.contributions.libraries.LibrariesIndexer;
import cc.arduino.contributions.libraries.LibraryInstaller;
import cc.arduino.contributions.libraries.LibraryTypeComparator;
import cc.arduino.contributions.ui.*;
Expand Down Expand Up @@ -136,17 +135,12 @@ public void updateUI() {
categoryChooser.removeActionListener(categoryChooserActionListener);
typeChooser.removeActionListener(typeChooserActionListener);

// TODO: Remove setIndexer and make getContribModel
// return a FilteredAbstractTableModel
LibrariesIndexer indexer = BaseNoGui.librariesIndexer;
getContribModel().setIndexer(indexer);

categoryFilter = null;
categoryChooser.removeAllItems();

// Load categories
categoryChooser.addItem(new DropdownAllItem());
Collection<String> categories = indexer.getIndex().getCategories();
Collection<String> categories = BaseNoGui.librariesIndexer.getIndex().getCategories();
for (String category : categories) {
categoryChooser.addItem(new DropdownLibraryOfCategoryItem(category));
}
Expand All @@ -163,9 +157,9 @@ public void updateUI() {
typeFilter = null;
typeChooser.removeAllItems();
typeChooser.addItem(new DropdownAllItem());
typeChooser.addItem(new DropdownUpdatableLibrariesItem(indexer));
typeChooser.addItem(new DropdownInstalledLibraryItem(indexer.getIndex()));
java.util.List<String> types = new LinkedList<>(indexer.getIndex().getTypes());
typeChooser.addItem(new DropdownUpdatableLibrariesItem());
typeChooser.addItem(new DropdownInstalledLibraryItem());
java.util.List<String> types = new LinkedList<>(BaseNoGui.librariesIndexer.getIndex().getTypes());
Collections.sort(types, new LibraryTypeComparator());
for (String type : types) {
typeChooser.addItem(new DropdownLibraryOfTypeItem(type));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,16 @@

import cc.arduino.contributions.VersionComparator;
import cc.arduino.contributions.packages.ContributedPlatform;
import cc.arduino.contributions.packages.ContributionsIndexer;
import processing.app.BaseNoGui;

import java.util.List;
import java.util.function.Predicate;

public class UpdatablePlatformPredicate implements Predicate<ContributedPlatform> {

private final ContributionsIndexer indexer;
private final VersionComparator versionComparator;

public UpdatablePlatformPredicate(ContributionsIndexer indexer) {
this.indexer = indexer;
public UpdatablePlatformPredicate() {
this.versionComparator = new VersionComparator();
}

Expand All @@ -51,12 +49,12 @@ public boolean test(ContributedPlatform contributedPlatform) {
String packageName = contributedPlatform.getParentPackage().getName();
String architecture = contributedPlatform.getArchitecture();

ContributedPlatform installed = indexer.getInstalled(packageName, architecture);
ContributedPlatform installed = BaseNoGui.indexer.getInstalled(packageName, architecture);
if (installed == null) {
return false;
}

List<ContributedPlatform> platforms = indexer.getIndex().findPlatforms(packageName, architecture);
List<ContributedPlatform> platforms = BaseNoGui.indexer.getIndex().findPlatforms(packageName, architecture);
return platforms.stream()
.filter(platform -> versionComparator.greaterThan(platform.getParsedVersion(), installed.getParsedVersion()))
.count() > 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
import cc.arduino.contributions.packages.ContributedBoard;
import cc.arduino.contributions.packages.ContributedPackage;
import cc.arduino.contributions.packages.ContributedPlatform;
import cc.arduino.contributions.packages.ContributionsIndexer;
import cc.arduino.contributions.ui.FilteredAbstractTableModel;
import processing.app.BaseNoGui;

import java.util.ArrayList;
import java.util.Collections;
Expand Down Expand Up @@ -115,16 +115,10 @@ public void select(ContributedPlatform value) {

private final Class<?>[] columnTypes = {ContributedPlatform.class};

private ContributionsIndexer indexer;

public void setIndexer(ContributionsIndexer indexer) {
this.indexer = indexer;
}

public void updateIndexFilter(String[] filters, Stream<Predicate<ContributedPlatform>> additionalFilters) {
contributions.clear();
Predicate<ContributedPlatform> filter = additionalFilters.reduce(Predicate::and).get();
for (ContributedPackage pack : indexer.getPackages()) {
for (ContributedPackage pack : BaseNoGui.indexer.getPackages()) {
for (ContributedPlatform platform : pack.getPlatforms()) {
String compoundTargetSearchText = platform.getName() + "\n" + platform.getBoards().stream().map(ContributedBoard::getName).collect(Collectors.joining(" "));
if (!filter.test(platform)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import cc.arduino.contributions.DownloadableContribution;
import cc.arduino.contributions.packages.ContributedPlatform;
import cc.arduino.contributions.packages.ContributionInstaller;
import cc.arduino.contributions.packages.ContributionsIndexer;
import cc.arduino.contributions.ui.*;
import cc.arduino.utils.Progress;
import processing.app.BaseNoGui;
Expand Down Expand Up @@ -94,9 +93,6 @@ public void updateUI() {

categoryChooser.removeActionListener(categoryChooserActionListener);

ContributionsIndexer indexer = BaseNoGui.indexer;
getContribModel().setIndexer(indexer);

categoryFilter = null;
categoryChooser.removeAllItems();

Expand All @@ -106,8 +102,8 @@ public void updateUI() {

// Enable categories combo only if there are two or more choices
categoryChooser.addItem(new DropdownAllCoresItem());
categoryChooser.addItem(new DropdownUpdatableCoresItem(indexer));
Collection<String> categories = indexer.getCategories();
categoryChooser.addItem(new DropdownUpdatableCoresItem());
Collection<String> categories = BaseNoGui.indexer.getCategories();
for (String s : categories) {
categoryChooser.addItem(new DropdownCoreOfCategoryItem(s));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
package cc.arduino.contributions.packages.ui;

import cc.arduino.contributions.packages.ContributedPlatform;
import cc.arduino.contributions.packages.ContributionsIndexer;
import cc.arduino.contributions.packages.filters.UpdatablePlatformPredicate;
import cc.arduino.contributions.ui.DropdownItem;

Expand All @@ -40,15 +39,9 @@

public class DropdownUpdatableCoresItem implements DropdownItem<ContributedPlatform> {

private final ContributionsIndexer indexer;

public DropdownUpdatableCoresItem(ContributionsIndexer indexer) {
this.indexer = indexer;
}

@Override
public Predicate<ContributedPlatform> getFilterPredicate() {
return new UpdatablePlatformPredicate(indexer);
return new UpdatablePlatformPredicate();
}

@Override
Expand Down
8 changes: 4 additions & 4 deletions app/src/processing/app/Base.java
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,8 @@ public Base(String[] args) throws Exception {
this.pdeKeywords = new PdeKeywords();
this.pdeKeywords.reload();

contributionInstaller = new ContributionInstaller(BaseNoGui.indexer, BaseNoGui.getPlatform(), new GPGDetachedSignatureVerifier());
libraryInstaller = new LibraryInstaller(BaseNoGui.librariesIndexer, BaseNoGui.getPlatform());
contributionInstaller = new ContributionInstaller(BaseNoGui.getPlatform(), new GPGDetachedSignatureVerifier());
libraryInstaller = new LibraryInstaller(BaseNoGui.getPlatform());

parser.parseArgumentsPhase2();

Expand Down Expand Up @@ -379,7 +379,7 @@ public Base(String[] args) throws Exception {
System.exit(0);

} else if (parser.isInstallLibrary()) {
LibrariesIndexer indexer = new LibrariesIndexer(BaseNoGui.getSettingsFolder(), new ContributionsIndexer(BaseNoGui.getSettingsFolder(), BaseNoGui.getPlatform(), new GPGDetachedSignatureVerifier()));
LibrariesIndexer indexer = new LibrariesIndexer(BaseNoGui.getSettingsFolder());
ProgressListener progressListener = new ConsoleProgressListener();
indexer.parseIndex();
BaseNoGui.onBoardOrPortChange();
Expand Down Expand Up @@ -462,7 +462,7 @@ public Base(String[] args) throws Exception {
if (PreferencesData.getBoolean("update.check")) {
new UpdateCheck(this);

contributionsSelfCheck = new ContributionsSelfCheck(this, new UpdatableBoardsLibsFakeURLsHandler(this), BaseNoGui.indexer, contributionInstaller, BaseNoGui.librariesIndexer, libraryInstaller);
contributionsSelfCheck = new ContributionsSelfCheck(this, new UpdatableBoardsLibsFakeURLsHandler(this), contributionInstaller, libraryInstaller);
new Timer(false).schedule(contributionsSelfCheck, Constants.BOARDS_LIBS_UPDATABLE_CHECK_START_PERIOD);
}

Expand Down
Loading

0 comments on commit 8f2514f

Please sign in to comment.