From 6add7b4dec627f8d4b476ed3410da25abbc6860e Mon Sep 17 00:00:00 2001 From: ZhangT Date: Tue, 18 Feb 2020 00:33:39 +0800 Subject: [PATCH] Polishing Closes gh-24543 --- .../TrickyAspectJPointcutExpressionTests.java | 2 +- .../beans/CollectingReaderEventListener.java | 6 +----- .../cache/config/CacheAdviceParser.java | 18 +++--------------- .../concurrent/ConcurrentMapCacheTests.java | 3 +-- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/spring-aop/src/test/java/org/springframework/aop/aspectj/TrickyAspectJPointcutExpressionTests.java b/spring-aop/src/test/java/org/springframework/aop/aspectj/TrickyAspectJPointcutExpressionTests.java index a69b4c76b2a..bac21dadf9f 100644 --- a/spring-aop/src/test/java/org/springframework/aop/aspectj/TrickyAspectJPointcutExpressionTests.java +++ b/spring-aop/src/test/java/org/springframework/aop/aspectj/TrickyAspectJPointcutExpressionTests.java @@ -87,7 +87,7 @@ public class TrickyAspectJPointcutExpressionTests { testAdvice(new DefaultPointcutAdvisor(pointcut, logAdvice), logAdvice, new TestServiceImpl(), "TestServiceImpl"); // Then try again with a different class loader on the target... - SimpleThrowawayClassLoader loader = new SimpleThrowawayClassLoader(new TestServiceImpl().getClass().getClassLoader()); + SimpleThrowawayClassLoader loader = new SimpleThrowawayClassLoader(TestServiceImpl.class.getClassLoader()); // Make sure the interface is loaded from the parent class loader loader.excludeClass(TestService.class.getName()); loader.excludeClass(TestException.class.getName()); diff --git a/spring-beans/src/testFixtures/java/org/springframework/beans/testfixture/beans/CollectingReaderEventListener.java b/spring-beans/src/testFixtures/java/org/springframework/beans/testfixture/beans/CollectingReaderEventListener.java index 63e2e20a426..f5b6193e348 100644 --- a/spring-beans/src/testFixtures/java/org/springframework/beans/testfixture/beans/CollectingReaderEventListener.java +++ b/spring-beans/src/testFixtures/java/org/springframework/beans/testfixture/beans/CollectingReaderEventListener.java @@ -70,11 +70,7 @@ public class CollectingReaderEventListener implements ReaderEventListener { @Override public void aliasRegistered(AliasDefinition aliasDefinition) { - List aliases = this.aliasMap.get(aliasDefinition.getBeanName()); - if (aliases == null) { - aliases = new ArrayList<>(); - this.aliasMap.put(aliasDefinition.getBeanName(), aliases); - } + List aliases = this.aliasMap.computeIfAbsent(aliasDefinition.getBeanName(), k -> new ArrayList<>()); aliases.add(aliasDefinition); } diff --git a/spring-context/src/main/java/org/springframework/cache/config/CacheAdviceParser.java b/spring-context/src/main/java/org/springframework/cache/config/CacheAdviceParser.java index e57bbab99d2..2d75593e50d 100644 --- a/spring-context/src/main/java/org/springframework/cache/config/CacheAdviceParser.java +++ b/spring-context/src/main/java/org/springframework/cache/config/CacheAdviceParser.java @@ -113,11 +113,7 @@ class CacheAdviceParser extends AbstractSingleBeanDefinitionParser { builder.setUnless(getAttributeValue(opElement, "unless", "")); builder.setSync(Boolean.parseBoolean(getAttributeValue(opElement, "sync", "false"))); - Collection col = cacheOpMap.get(nameHolder); - if (col == null) { - col = new ArrayList<>(2); - cacheOpMap.put(nameHolder, col); - } + Collection col = cacheOpMap.computeIfAbsent(nameHolder, k -> new ArrayList<>(2)); col.add(builder.build()); } @@ -140,11 +136,7 @@ class CacheAdviceParser extends AbstractSingleBeanDefinitionParser { builder.setBeforeInvocation(Boolean.parseBoolean(after.trim())); } - Collection col = cacheOpMap.get(nameHolder); - if (col == null) { - col = new ArrayList<>(2); - cacheOpMap.put(nameHolder, col); - } + Collection col = cacheOpMap.computeIfAbsent(nameHolder, k -> new ArrayList<>(2)); col.add(builder.build()); } @@ -158,11 +150,7 @@ class CacheAdviceParser extends AbstractSingleBeanDefinitionParser { parserContext.getReaderContext(), new CachePutOperation.Builder()); builder.setUnless(getAttributeValue(opElement, "unless", "")); - Collection col = cacheOpMap.get(nameHolder); - if (col == null) { - col = new ArrayList<>(2); - cacheOpMap.put(nameHolder, col); - } + Collection col = cacheOpMap.computeIfAbsent(nameHolder, k -> new ArrayList<>(2)); col.add(builder.build()); } diff --git a/spring-context/src/test/java/org/springframework/cache/concurrent/ConcurrentMapCacheTests.java b/spring-context/src/test/java/org/springframework/cache/concurrent/ConcurrentMapCacheTests.java index 5ac1d4b225e..96715e5e3c4 100644 --- a/spring-context/src/test/java/org/springframework/cache/concurrent/ConcurrentMapCacheTests.java +++ b/spring-context/src/test/java/org/springframework/cache/concurrent/ConcurrentMapCacheTests.java @@ -85,8 +85,7 @@ public class ConcurrentMapCacheTests assertThat(serializeCache.isStoreByValue()).isTrue(); Object key = createRandomKey(); - List content = new ArrayList<>(); - content.addAll(Arrays.asList("one", "two", "three")); + List content = new ArrayList<>(Arrays.asList("one", "two", "three")); serializeCache.put(key, content); content.remove(0); List entry = (List) serializeCache.get(key).get();