From 524a5dbb0ab8d310a3175971bdc191e7a2cb60f1 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:10:58 +0200 Subject: [PATCH] refactor: use Map.computeIfAbsent --- .../sonia/scm/cli/config/ScmClientConfig.java | 19 +++---------------- .../java/sonia/scm/logging/SVNKitLogger.java | 10 +--------- .../java/sonia/scm/cache/MapCacheManager.java | 10 +--------- 3 files changed, 5 insertions(+), 34 deletions(-) diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java index 9edb2b382a..281a0f8c3b 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java @@ -35,16 +35,11 @@ package sonia.scm.cli.config; //~--- JDK imports ------------------------------------------------------------ +import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.util.HashMap; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - /** * * @author Sebastian Sdorra @@ -148,15 +143,7 @@ public class ScmClientConfig */ public ServerConfig getConfig(String name) { - ServerConfig config = serverConfigMap.get(name); - - if (config == null) - { - config = new ServerConfig(); - serverConfigMap.put(name, config); - } - - return config; + return serverConfigMap.computeIfAbsent(name, k -> new ServerConfig()); } /** diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java index e156defaf5..177bc05069 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java @@ -211,15 +211,7 @@ public class SVNKitLogger extends SVNDebugLogAdapter */ private Logger getLogger(SVNLogType type) { - Logger logger = loggerMap.get(type); - - if (logger == null) - { - logger = LoggerFactory.getLogger(parseName(type.getName())); - loggerMap.put(type, logger); - } - - return logger; + return loggerMap.computeIfAbsent(type, t -> LoggerFactory.getLogger(parseName(t.getName()))); } //~--- fields --------------------------------------------------------------- diff --git a/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java b/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java index 0e4faddb4a..1f606fc908 100644 --- a/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java +++ b/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java @@ -81,15 +81,7 @@ public class MapCacheManager @Override public synchronized MapCache getCache(String name) { - MapCache cache = cacheMap.get(name); - - if (cache == null) - { - cache = new MapCache(); - cacheMap.put(name, cache); - } - - return cache; + return (MapCache) cacheMap.computeIfAbsent(name, k -> new MapCache()); } //~--- fields ---------------------------------------------------------------