mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 09:25:43 +01:00
cleanup
This commit is contained in:
@@ -73,7 +73,7 @@ public class ScmConfiguration implements Configuration {
|
|||||||
* SCM Manager release feed url
|
* SCM Manager release feed url
|
||||||
*/
|
*/
|
||||||
public static final String DEFAULT_RELEASE_FEED_URL =
|
public static final String DEFAULT_RELEASE_FEED_URL =
|
||||||
"https://www.scm-manager.org/download/rss.xml";
|
"https://scm-manager.org/download/rss.xml";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default url for login information (plugin and feature tips on the login page).
|
* Default url for login information (plugin and feature tips on the login page).
|
||||||
|
|||||||
@@ -44,16 +44,21 @@ public class ReleaseFeedParser {
|
|||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<ReleaseInfo> findLatestRelease(String url) throws IOException {
|
Optional<ReleaseInfo> findLatestRelease(String url) {
|
||||||
LOG.info("Search for newer versions of SCM-Manager");
|
LOG.info("Search for newer versions of SCM-Manager");
|
||||||
ReleaseFeedDto releaseFeed = client.get(url).request().contentFromXml(ReleaseFeedDto.class);
|
Optional<ReleaseFeedDto.Release> latestRelease = parseLatestReleaseFromRssFeed(url);
|
||||||
Optional<ReleaseFeedDto.Release> latestRelease = filterForLatestRelease(releaseFeed);
|
return latestRelease.map(release -> new ReleaseInfo(release.getTitle(), release.getLink()));
|
||||||
if (latestRelease.isPresent()) {
|
|
||||||
ReleaseFeedDto.Release release = latestRelease.get();
|
|
||||||
return Optional.of(new ReleaseInfo(release.getTitle(), release.getLink()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Optional<ReleaseFeedDto.Release> parseLatestReleaseFromRssFeed(String url) {
|
||||||
|
try {
|
||||||
|
ReleaseFeedDto releaseFeed = client.get(url).request().contentFromXml(ReleaseFeedDto.class);
|
||||||
|
return filterForLatestRelease(releaseFeed);
|
||||||
|
} catch (IOException e) {
|
||||||
|
LOG.error(String.format("Could not parse release feed from %s", url));
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Optional<ReleaseFeedDto.Release> filterForLatestRelease(ReleaseFeedDto releaseFeed) {
|
private Optional<ReleaseFeedDto.Release> filterForLatestRelease(ReleaseFeedDto releaseFeed) {
|
||||||
return releaseFeed.getChannel().getReleases()
|
return releaseFeed.getChannel().getReleases()
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import sonia.scm.config.ScmConfiguration;
|
|||||||
import sonia.scm.version.Version;
|
import sonia.scm.version.Version;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public class ReleaseVersionChecker {
|
public class ReleaseVersionChecker {
|
||||||
@@ -65,12 +64,11 @@ public class ReleaseVersionChecker {
|
|||||||
if (cachedReleaseInfo != null) {
|
if (cachedReleaseInfo != null) {
|
||||||
return Optional.of(cachedReleaseInfo);
|
return Optional.of(cachedReleaseInfo);
|
||||||
} else {
|
} else {
|
||||||
return findLatestReleaseInRssFeed();
|
return findLatestRelease();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Optional<ReleaseInfo> findLatestReleaseInRssFeed() {
|
private Optional<ReleaseInfo> findLatestRelease() {
|
||||||
try {
|
|
||||||
String releaseFeedUrl = scmConfiguration.getReleaseFeedUrl();
|
String releaseFeedUrl = scmConfiguration.getReleaseFeedUrl();
|
||||||
Optional<ReleaseInfo> latestRelease = releaseFeedParser.findLatestRelease(releaseFeedUrl);
|
Optional<ReleaseInfo> latestRelease = releaseFeedParser.findLatestRelease(releaseFeedUrl);
|
||||||
if (latestRelease.isPresent() && isNewerVersion(latestRelease.get())) {
|
if (latestRelease.isPresent() && isNewerVersion(latestRelease.get())) {
|
||||||
@@ -79,11 +77,6 @@ public class ReleaseVersionChecker {
|
|||||||
}
|
}
|
||||||
LOG.info("No newer version found for SCM-Manager");
|
LOG.info("No newer version found for SCM-Manager");
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
} catch (IOException e) {
|
|
||||||
// This is a silent action. We don't want the user to get any kind of error for this.
|
|
||||||
LOG.info("No newer version found for SCM-Manager");
|
|
||||||
return Optional.empty();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isNewerVersion(ReleaseInfo releaseInfo) {
|
private boolean isNewerVersion(ReleaseInfo releaseInfo) {
|
||||||
|
|||||||
Reference in New Issue
Block a user