From 9159c87bf9f073810ac3da9a85292a9253d09985 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 10 Jan 2017 09:51:01 -0500 Subject: [PATCH] Polish --- .../rich/InMemoryRichGaugeRepository.java | 10 ++--- ...stractEmbeddedServletContainerFactory.java | 2 +- .../TomcatEmbeddedWebappClassLoader.java | 45 ++++++++----------- 3 files changed, 24 insertions(+), 33 deletions(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/rich/InMemoryRichGaugeRepository.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/rich/InMemoryRichGaugeRepository.java index 510eaf02ca..d80eb5aa34 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/rich/InMemoryRichGaugeRepository.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/rich/InMemoryRichGaugeRepository.java @@ -41,22 +41,20 @@ public class InMemoryRichGaugeRepository implements RichGaugeRepository { @Override public void set(Metric metric) { - final String name = metric.getName(); final double value = metric.getValue().doubleValue(); this.repository.update(name, new Callback() { + @Override public RichGauge modify(RichGauge current) { if (current == null) { - current = new RichGauge(name, value); - } - else { - current.set(value); + return new RichGauge(name, value); } + current.set(value); return current; } - }); + }); } @Override diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerFactory.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerFactory.java index e870db7638..37efcc1ede 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerFactory.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerFactory.java @@ -115,7 +115,7 @@ public abstract class AbstractEmbeddedServletContainerFactory private File getCommonDocumentRoot() { for (String commonDocRoot : COMMON_DOC_ROOTS) { File root = new File(commonDocRoot); - if (root != null && root.exists() && root.isDirectory()) { + if (root.exists() && root.isDirectory()) { return root.getAbsoluteFile(); } } diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java index d26685acd8..4406d450af 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java @@ -46,35 +46,28 @@ public class TomcatEmbeddedWebappClassLoader extends WebappClassLoader { @Override public synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { - Class resultClass = null; - - // Check local class caches - resultClass = (resultClass == null ? findLoadedClass0(name) : resultClass); - resultClass = (resultClass == null ? findLoadedClass(name) : resultClass); - if (resultClass != null) { - return resolveIfNecessary(resultClass, resolve); - } - - // Check security - checkPackageAccess(name); - - // Perform the actual load - boolean delegateLoad = (this.delegate || filter(name, true)); - - if (delegateLoad) { - resultClass = (resultClass == null ? loadFromParent(name) : resultClass); - } - resultClass = (resultClass == null ? findClassIgnoringNotFound(name) - : resultClass); - if (!delegateLoad) { - resultClass = (resultClass == null ? loadFromParent(name) : resultClass); - } - - if (resultClass == null) { + Class result = findExistingLoadedClass(name); + result = (result == null ? doLoadClass(name) : result); + if (result == null) { throw new ClassNotFoundException(name); } + return resolveIfNecessary(result, resolve); + } - return resolveIfNecessary(resultClass, resolve); + private Class findExistingLoadedClass(String name) { + Class resultClass = findLoadedClass0(name); + resultClass = (resultClass == null ? findLoadedClass(name) : resultClass); + return resultClass; + } + + private Class doLoadClass(String name) throws ClassNotFoundException { + checkPackageAccess(name); + if ((this.delegate || filter(name, true))) { + Class result = loadFromParent(name); + return (result == null ? findClassIgnoringNotFound(name) : result); + } + Class result = findClassIgnoringNotFound(name); + return (result == null ? loadFromParent(name) : result); } private Class resolveIfNecessary(Class resultClass, boolean resolve) {