From 2626bd118ad673b7d3ba5acc2e608c4ecfaa7276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Thu, 24 Sep 2020 11:50:36 +0200 Subject: [PATCH] Use configured url as cache key Doing so, we will ignore the cached result every time a new feed url is specified. So a change of the url will be taken into account immediately --- .../main/java/sonia/scm/admin/ReleaseVersionChecker.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/admin/ReleaseVersionChecker.java b/scm-webapp/src/main/java/sonia/scm/admin/ReleaseVersionChecker.java index 6a11fcb5b3..3999850fa9 100644 --- a/scm-webapp/src/main/java/sonia/scm/admin/ReleaseVersionChecker.java +++ b/scm-webapp/src/main/java/sonia/scm/admin/ReleaseVersionChecker.java @@ -40,7 +40,6 @@ public class ReleaseVersionChecker { private static final Logger LOG = LoggerFactory.getLogger(ReleaseVersionChecker.class); private static final String CACHE_NAME = "sonia.cache.updateInfo"; - private static final String CACHE_KEY = "latestRelease"; private final ReleaseFeedParser releaseFeedParser; private final ScmConfiguration scmConfiguration; @@ -61,8 +60,8 @@ public class ReleaseVersionChecker { } public Optional checkForNewerVersion() { - if (cache.size() > 0) { - return cache.get(CACHE_KEY); + if (cache.contains(scmConfiguration.getReleaseFeedUrl())) { + return cache.get(scmConfiguration.getReleaseFeedUrl()); } return findLatestRelease(); } @@ -71,12 +70,12 @@ public class ReleaseVersionChecker { String releaseFeedUrl = scmConfiguration.getReleaseFeedUrl(); Optional latestRelease = releaseFeedParser.findLatestRelease(releaseFeedUrl); if (latestRelease.isPresent() && isNewerVersion(latestRelease.get())) { - cache.put(CACHE_KEY, latestRelease); + cache.put(scmConfiguration.getReleaseFeedUrl(), latestRelease); return latestRelease; } // we cache that no new version was available to prevent request every time LOG.debug("No newer version found for SCM-Manager"); - cache.put(CACHE_KEY, Optional.empty()); + cache.put(scmConfiguration.getReleaseFeedUrl(), Optional.empty()); return Optional.empty(); }