Skip to content

Commit

Permalink
Remove "MrBean" dependency
Browse files Browse the repository at this point in the history
Sacrifice abstract classes and interfaces to reduce the amount of magic
performed by MrBean.

Refs HuayraLinux/pkg-arduino#4
  • Loading branch information
tlk authored and cmaglie committed Feb 19, 2020
1 parent 15133a0 commit 4883880
Show file tree
Hide file tree
Showing 24 changed files with 143 additions and 153 deletions.
1 change: 0 additions & 1 deletion .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
<classpathentry kind="lib" path="app/lib/bcprov-jdk15on-152.jar"/>
<classpathentry kind="lib" path="app/lib/jackson-core-2.9.5.jar"/>
<classpathentry kind="lib" path="app/lib/jackson-databind-2.9.5.jar"/>
<classpathentry kind="lib" path="app/lib/jackson-module-mrbean-2.9.5.jar"/>
<classpathentry kind="lib" path="app/lib/jackson-annotations-2.9.5.jar"/>
<classpathentry kind="lib" path="app/lib/commons-compress-1.8.jar"/>
<classpathentry kind="lib" path="app/lib/commons-lang3-3.8.1.jar"/>
Expand Down
1 change: 0 additions & 1 deletion app/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
<classpathentry kind="lib" path="lib/jackson-annotations-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/jackson-core-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/jackson-databind-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/jackson-module-mrbean-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/java-semver-0.8.0.jar"/>
<classpathentry kind="lib" path="lib/jmdns-3.5.3.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.7.22.jar"/>
Expand Down
Binary file removed app/lib/jackson-module-mrbean-2.9.5.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import cc.arduino.utils.MultiStepProgress;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.mrbean.MrBeanModule;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Expand Down Expand Up @@ -47,7 +46,6 @@ public void testJsonDownload() throws Exception {

InputStream indexIn = new FileInputStream(tempFile);
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new MrBeanModule());
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Expand Down
2 changes: 0 additions & 2 deletions app/test/cc/arduino/contributions/JsonDownloaderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import cc.arduino.utils.MultiStepProgress;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.mrbean.MrBeanModule;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Expand Down Expand Up @@ -46,7 +45,6 @@ public void testJsonDownload() throws Exception {

InputStream indexIn = new FileInputStream(tempFile);
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new MrBeanModule());
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Expand Down
1 change: 0 additions & 1 deletion arduino-core/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
<classpathentry kind="lib" path="lib/jackson-annotations-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/jackson-core-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/jackson-databind-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/jackson-module-mrbean-2.9.5.jar"/>
<classpathentry kind="lib" path="lib/java-semver-0.8.0.jar"/>
<classpathentry kind="lib" path="lib/jna-4.2.2.jar"/>
<classpathentry kind="lib" path="lib/jna-platform-4.2.2.jar"/>
Expand Down
Binary file removed arduino-core/lib/jackson-module-mrbean-2.9.5.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -35,38 +35,69 @@
import static processing.app.I18n.tr;

import java.util.Comparator;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

import cc.arduino.contributions.VersionHelper;

public abstract class ContributedLibrary extends DownloadableContribution {
public class ContributedLibrary extends DownloadableContribution {

public abstract String getName();
private String url;
public String getUrl() { return url; }

public abstract String getMaintainer();
private String version;
public String getVersion() { return version; }

public abstract String getAuthor();
private String checksum;
public String getChecksum() { return checksum; }

public abstract String getWebsite();
private long size;
public long getSize() { return size; }

public abstract String getCategory();
private String archiveFileName;
public String getArchiveFileName() { return archiveFileName; }

public abstract void setCategory(String category);

public abstract String getLicense();

public abstract String getParagraph();
private String name;
public String getName() { return name; }

public abstract String getSentence();
private String maintainer;
public String getMaintainer() { return maintainer; }

public abstract List<String> getArchitectures();
private String author;
public String getAuthor() { return author; }

public abstract List<String> getTypes();
private String website;
public String getWebsite() { return website; }

private String category;
public String getCategory() { return category; }
public void setCategory(String category) { this.category = category; }

private String licence;
public String getLicense() { return licence; }

private String paragraph;
public String getParagraph() { return paragraph; }

private String sentence;
public String getSentence() { return sentence; }

private ArrayList<String> architectures;
public List<String> getArchitectures() { return architectures; }

private ArrayList<String> types;
public List<String> getTypes() { return types; }

private ArrayList<ContributedLibraryDependency> dependencies;
public List<ContributedLibraryDependency> getDependencies() { return dependencies; }

private ArrayList<String> providesIncludes;
public List<String> getProvidesIncludes() { return providesIncludes; }

public abstract List<ContributedLibraryDependency> getDependencies();

public abstract List<String> getProvidesIncludes();

public static final Comparator<ContributedLibrary> CASE_INSENSITIVE_ORDER = (o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@

package cc.arduino.contributions.libraries;

public abstract class ContributedLibraryDependency {
public class ContributedLibraryDependency {

public abstract String getName();
private String name;
public String getName() { return name; }

public abstract String getVersion();
private String version;
public String getVersion() { return version; }

@Override
public String toString() {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,13 @@

import cc.arduino.contributions.VersionComparator;

public abstract class LibrariesIndex {
public class LibrariesIndex {

public abstract List<ContributedLibrary> getLibraries();
private ArrayList<ContributedLibrary> list = new ArrayList<>();

public List<ContributedLibrary> getLibraries() {
return list;
}

public List<ContributedLibrary> find(final String name) {
return getLibraries().stream() //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.mrbean.MrBeanModule;
import org.apache.commons.compress.utils.IOUtils;
import processing.app.BaseNoGui;
import processing.app.I18n;
Expand Down Expand Up @@ -76,7 +75,7 @@ public LibrariesIndexer(File preferencesFolder) {
}

public void parseIndex() throws IOException {
index = new EmptyLibrariesIndex(); // Fallback
index = new LibrariesIndex(); // Fallback

if (!indexFile.exists()) {
return;
Expand All @@ -92,7 +91,6 @@ private void parseIndex(File file) throws IOException {
try {
indexIn = new FileInputStream(file);
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new MrBeanModule());
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@

package cc.arduino.contributions.packages;

public interface ContributedBoard {
public class ContributedBoard {

String getName();
private String name;
public String getName() { return name; }

}
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@

package cc.arduino.contributions.packages;

public abstract class ContributedHelp {
public class ContributedHelp {

public abstract String getOnline();
private String online;
public String getOnline() { return online; }

}
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,31 @@

package cc.arduino.contributions.packages;

import java.util.ArrayList;
import java.util.List;

public abstract class ContributedPackage {
public class ContributedPackage {

public abstract String getName();
private String name;
public String getName() { return name; }

public abstract String getMaintainer();
private String maintainer;
public String getMaintainer() { return maintainer; }

public abstract String getWebsiteURL();
private String websiteURL;
public String getWebsiteURL() { return websiteURL; }

public abstract String getEmail();
private String email;
public String getEmail() { return email; }

public abstract List<ContributedPlatform> getPlatforms();
private ArrayList<ContributedPlatform> platforms = new ArrayList<ContributedPlatform>();
public List<ContributedPlatform> getPlatforms() { return platforms; }

public abstract List<ContributedTool> getTools();
private ArrayList<ContributedTool> tools = new ArrayList<ContributedTool>();
public List<ContributedTool> getTools() { return tools; }

public abstract ContributedHelp getHelp();
private ContributedHelp help;
public ContributedHelp getHelp() { return help; }

private boolean trusted;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,24 +35,42 @@
import java.io.File;
import java.util.*;

public abstract class ContributedPlatform extends DownloadableContribution {
public class ContributedPlatform extends DownloadableContribution {

public abstract String getName();
private String url;
public String getUrl() { return url; }

public abstract String getCategory();
private String version;
public String getVersion() { return version; }

public abstract void setCategory(String category);
private long size;
public long getSize() { return size; }

public abstract String getArchitecture();
private String archiveFileName;
public String getArchiveFileName() { return archiveFileName; }

private String name;
public String getName() { return name; }

private String category;
public String getCategory() { return category; }
public void setCategory(String category) { this.category = category; }

private String architecture;
public String getArchitecture() { return architecture; }

private String checksum;
@Override
public abstract String getChecksum();
public String getChecksum() { return checksum; }

public abstract List<ContributedToolReference> getToolsDependencies();
private ArrayList<ContributedToolReference> toolsDependencies = new ArrayList<ContributedToolReference>();
public List<ContributedToolReference> getToolsDependencies() { return toolsDependencies; }

public abstract List<ContributedBoard> getBoards();
private ArrayList<ContributedBoard> boards = new ArrayList<ContributedBoard>();
public List<ContributedBoard> getBoards() { return boards; }

public abstract ContributedHelp getHelp();
private ContributedHelp help;
public ContributedHelp getHelp() { return help; }

private boolean installed;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,19 @@
import processing.app.Platform;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public abstract class ContributedTool {
public class ContributedTool {

public abstract String getName();
private String name;
public String getName() { return name; }

public abstract String getVersion();
private String version;
public String getVersion() { return version; }

public abstract List<HostDependentDownloadableContribution> getSystems();
private ArrayList<HostDependentDownloadableContribution> systems = new ArrayList<HostDependentDownloadableContribution>();
public List<HostDependentDownloadableContribution> getSystems() { return systems; }

private boolean installed;

Expand Down
Loading

0 comments on commit 4883880

Please sign in to comment.