reformatted all src files (#141)
This commit is contained in:
@@ -19,104 +19,86 @@
|
||||
package appeng.services.version.github;
|
||||
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Type;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
||||
import appeng.core.AELog;
|
||||
import appeng.services.version.Channel;
|
||||
import appeng.services.version.Version;
|
||||
import appeng.services.version.VersionCheckerConfig;
|
||||
import appeng.services.version.VersionParser;
|
||||
import appeng.services.version.exceptions.VersionCheckerException;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Type;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public final class ReleaseFetcher
|
||||
{
|
||||
private static final String GITHUB_RELEASES_URL = "https://api.github.com/repos/AppliedEnergistics/Applied-Energistics-2/releases";
|
||||
private static final FormattedRelease EXCEPTIONAL_RELEASE = new MissingFormattedRelease();
|
||||
public final class ReleaseFetcher {
|
||||
private static final String GITHUB_RELEASES_URL = "https://api.github.com/repos/AppliedEnergistics/Applied-Energistics-2/releases";
|
||||
private static final FormattedRelease EXCEPTIONAL_RELEASE = new MissingFormattedRelease();
|
||||
|
||||
@Nonnull
|
||||
private final VersionCheckerConfig config;
|
||||
@Nonnull
|
||||
private final VersionParser parser;
|
||||
@Nonnull
|
||||
private final VersionCheckerConfig config;
|
||||
@Nonnull
|
||||
private final VersionParser parser;
|
||||
|
||||
public ReleaseFetcher( @Nonnull final VersionCheckerConfig config, @Nonnull final VersionParser parser )
|
||||
{
|
||||
this.config = config;
|
||||
this.parser = parser;
|
||||
}
|
||||
public ReleaseFetcher(@Nonnull final VersionCheckerConfig config, @Nonnull final VersionParser parser) {
|
||||
this.config = config;
|
||||
this.parser = parser;
|
||||
}
|
||||
|
||||
public FormattedRelease get()
|
||||
{
|
||||
final Gson gson = new Gson();
|
||||
final Type type = new ReleasesTypeToken().getType();
|
||||
public FormattedRelease get() {
|
||||
final Gson gson = new Gson();
|
||||
final Type type = new ReleasesTypeToken().getType();
|
||||
|
||||
try
|
||||
{
|
||||
final URL releasesURL = new URL( GITHUB_RELEASES_URL );
|
||||
final String rawReleases = this.getRawReleases( releasesURL );
|
||||
try {
|
||||
final URL releasesURL = new URL(GITHUB_RELEASES_URL);
|
||||
final String rawReleases = this.getRawReleases(releasesURL);
|
||||
|
||||
this.config.updateLastCheck();
|
||||
this.config.updateLastCheck();
|
||||
|
||||
final List<Release> releases = gson.fromJson( rawReleases, type );
|
||||
final FormattedRelease latestFitRelease = this.getLatestFitRelease( releases );
|
||||
final List<Release> releases = gson.fromJson(rawReleases, type);
|
||||
final FormattedRelease latestFitRelease = this.getLatestFitRelease(releases);
|
||||
|
||||
return latestFitRelease;
|
||||
}
|
||||
catch( final VersionCheckerException e )
|
||||
{
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final MalformedURLException e )
|
||||
{
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.debug( e );
|
||||
}
|
||||
return latestFitRelease;
|
||||
} catch (final VersionCheckerException e) {
|
||||
AELog.debug(e);
|
||||
} catch (final MalformedURLException e) {
|
||||
AELog.debug(e);
|
||||
} catch (final IOException e) {
|
||||
AELog.debug(e);
|
||||
}
|
||||
|
||||
return EXCEPTIONAL_RELEASE;
|
||||
}
|
||||
return EXCEPTIONAL_RELEASE;
|
||||
}
|
||||
|
||||
private String getRawReleases( final URL url ) throws IOException
|
||||
{
|
||||
return IOUtils.toString( url );
|
||||
}
|
||||
private String getRawReleases(final URL url) throws IOException {
|
||||
return IOUtils.toString(url);
|
||||
}
|
||||
|
||||
private FormattedRelease getLatestFitRelease( final Iterable<Release> releases ) throws VersionCheckerException
|
||||
{
|
||||
final String levelInConfig = this.config.level();
|
||||
final Channel level = Channel.valueOf( levelInConfig );
|
||||
final int levelOrdinal = level.ordinal();
|
||||
private FormattedRelease getLatestFitRelease(final Iterable<Release> releases) throws VersionCheckerException {
|
||||
final String levelInConfig = this.config.level();
|
||||
final Channel level = Channel.valueOf(levelInConfig);
|
||||
final int levelOrdinal = level.ordinal();
|
||||
|
||||
for( final Release release : releases )
|
||||
{
|
||||
final String rawVersion = release.tag_name;
|
||||
final String changelog = release.body;
|
||||
for (final Release release : releases) {
|
||||
final String rawVersion = release.tag_name;
|
||||
final String changelog = release.body;
|
||||
|
||||
final Version version = this.parser.parse( rawVersion );
|
||||
final Version version = this.parser.parse(rawVersion);
|
||||
|
||||
if( version.channel().ordinal() >= levelOrdinal )
|
||||
{
|
||||
return new DefaultFormattedRelease( version, changelog );
|
||||
}
|
||||
}
|
||||
if (version.channel().ordinal() >= levelOrdinal) {
|
||||
return new DefaultFormattedRelease(version, changelog);
|
||||
}
|
||||
}
|
||||
|
||||
return EXCEPTIONAL_RELEASE;
|
||||
}
|
||||
return EXCEPTIONAL_RELEASE;
|
||||
}
|
||||
|
||||
private static final class ReleasesTypeToken extends TypeToken<List<Release>>
|
||||
{
|
||||
}
|
||||
private static final class ReleasesTypeToken extends TypeToken<List<Release>> {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user