Simplicity with Map operations with new operations
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/cb67f0e5 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/cb67f0e5 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/cb67f0e5 Branch: refs/heads/master Commit: cb67f0e51aa2efb6e6959dd3d49fd2f322ed491a Parents: 59c77e5 Author: Otavio Santana <otaviopolianasant...@gmail.com> Authored: Thu Dec 20 08:17:22 2018 -0200 Committer: Otavio Santana <otaviopolianasant...@gmail.com> Committed: Thu Dec 20 08:17:22 2018 -0200 ---------------------------------------------------------------------- .../org/apache/openejb/ClassLoaderUtil.java | 12 ++------ .../openejb/assembler/classic/Assembler.java | 12 ++------ .../openejb/assembler/classic/EjbResolver.java | 6 +--- .../java/org/apache/openejb/cdi/CdiScanner.java | 12 ++------ .../openejb/config/AnnotationDeployer.java | 12 ++------ .../org/apache/openejb/config/AutoConfig.java | 30 ++++---------------- .../openejb/config/WebappAggregatedArchive.java | 6 +--- .../openejb/core/CoreContainerSystem.java | 6 +--- .../webservices/PortAddressRegistryImpl.java | 18 ++---------- .../openejb/resource/AutoConnectionTracker.java | 12 ++------ .../org/apache/openejb/util/LinkResolver.java | 6 +--- .../java/org/apache/openejb/util/UrlCache.java | 6 +--- .../openejb/web/LightweightWebAppBuilder.java | 12 ++------ .../org/apache/openejb/DependencyVisitor.java | 6 +--- .../apache/openejb/jee/AssemblyDescriptor.java | 6 +--- .../main/java/org/apache/openejb/jee/Beans.java | 6 +--- 16 files changed, 28 insertions(+), 140 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java b/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java index 642ceab..d11d26a 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java @@ -103,18 +103,10 @@ public class ClassLoaderUtil { } private static URLClassLoader cacheClassLoader(final String appId, final URLClassLoader classLoader) { - List<ClassLoader> classLoaders = classLoadersByApp.get(appId); - if (classLoaders == null) { - classLoaders = new ArrayList<>(2); - classLoadersByApp.put(appId, classLoaders); - } + List<ClassLoader> classLoaders = classLoadersByApp.computeIfAbsent(appId, k -> new ArrayList<>(2)); classLoaders.add(classLoader); - Set<String> apps = appsByClassLoader.get(classLoader); - if (apps == null) { - apps = new LinkedHashSet<>(1); - appsByClassLoader.put(classLoader, apps); - } + Set<String> apps = appsByClassLoader.computeIfAbsent(classLoader, k -> new LinkedHashSet<>(1)); apps.add(appId); return classLoader; http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java index b7b2c3a..808725e 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java @@ -602,11 +602,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A final Map<String, List<ContainerInfo>> appContainers = new HashMap<>(); for (final ContainerInfo serviceInfo : containerSystemInfo.containers) { - List<ContainerInfo> containerInfos = appContainers.get(serviceInfo.originAppName); - if (containerInfos == null) { - containerInfos = new ArrayList<>(); - appContainers.put(serviceInfo.originAppName, containerInfos); - } + List<ContainerInfo> containerInfos = appContainers.computeIfAbsent(serviceInfo.originAppName, k -> new ArrayList<>()); containerInfos.add(serviceInfo); } @@ -3783,11 +3779,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A instrumentation.addTransformer(classFileTransformer); if (unitId != null) { - List<ClassFileTransformer> transformers = this.transformers.get(unitId); - if (transformers == null) { - transformers = new ArrayList<>(1); - this.transformers.put(unitId, transformers); - } + List<ClassFileTransformer> transformers = this.transformers.computeIfAbsent(unitId, k -> new ArrayList<>(1)); transformers.add(classFileTransformer); } } else if (!logged.getAndSet(true)) { http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java index 51377cb..bf6dacc 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java @@ -125,11 +125,7 @@ public class EjbResolver { } private void addInterfaces(final Interfaces interfaces) { - List<Interfaces> similar = this.interfaces.get(interfaces); - if (similar == null) { - similar = new ArrayList<>(); - this.interfaces.put(interfaces, similar); - } + List<Interfaces> similar = this.interfaces.computeIfAbsent(interfaces, k -> new ArrayList<>()); similar.add(interfaces); } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java index 882e3d1..e6947b0 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java @@ -220,11 +220,7 @@ public class CdiScanner implements BdaScannerService { } private void addClasses(BeanArchiveService.BeanArchiveInformation bdaInfo, final Collection<String> list, final ClassLoader loader) { - Set<Class<?>> classes = beanClassesPerBda.get(bdaInfo); - if (classes == null) { - classes = new HashSet<>(); - beanClassesPerBda.put(bdaInfo, classes); - } + Set<Class<?>> classes = beanClassesPerBda.computeIfAbsent(bdaInfo, k -> new HashSet<>()); for (final String s : list) { final Class<?> load = load(s, loader); @@ -234,11 +230,7 @@ public class CdiScanner implements BdaScannerService { } } private void addClasses(BeanArchiveService.BeanArchiveInformation bdaInfo, final Collection<Class<?>> list) { - Set<Class<?>> classes = beanClassesPerBda.get(bdaInfo); - if (classes == null) { - classes = new HashSet<>(); - beanClassesPerBda.put(bdaInfo, classes); - } + Set<Class<?>> classes = beanClassesPerBda.computeIfAbsent(bdaInfo, k -> new HashSet<>()); classes.addAll(list); } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java index 79b5ed8..1edd22b 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java @@ -5191,11 +5191,7 @@ public class AnnotationDeployer implements DynamicDeployer { final Map<String, List<MethodAttribute>> declarations = new HashMap<>(); final List<ConcurrentMethod> methods = bean.getConcurrentMethod(); for (final ConcurrentMethod method : methods) { - List<MethodAttribute> list = declarations.get(method.getMethod().getMethodName()); - if (list == null) { - list = new ArrayList<>(); - declarations.put(method.getMethod().getMethodName(), list); - } + List<MethodAttribute> list = declarations.computeIfAbsent(method.getMethod().getMethodName(), k -> new ArrayList<>()); list.add(new MethodAttribute(null, bean.getEjbName(), method.getMethod())); } return declarations; @@ -5810,11 +5806,7 @@ public class AnnotationDeployer implements DynamicDeployer { } } - Set<String> list = classes.get(url); - if (list == null) { - list = new HashSet<>(); - classes.put(url, list); - } + Set<String> list = classes.computeIfAbsent(url, k -> new HashSet<>()); // saving class url // first try the file approach (if the same class is in several classloaders it avoids weird errors) http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java index 0add1df..00be44a 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java @@ -2429,11 +2429,7 @@ public class AutoConfig implements DynamicDeployer, JndiConstants { final MdbContainerInfo mdbContainerInfo = MdbContainerInfo.class.cast(containerInfo); final String messageListenerInterface = mdbContainerInfo.properties.getProperty("MessageListenerInterface"); if (messageListenerInterface != null) { - List<String> containerIds = containerIdsByType.get(messageListenerInterface); - if (containerIds == null) { - containerIds = new ArrayList<>(); - containerIdsByType.put(messageListenerInterface, containerIds); - } + List<String> containerIds = containerIdsByType.computeIfAbsent(messageListenerInterface, k -> new ArrayList<>()); containerIds.add(containerInfo.id); } } @@ -2466,11 +2462,7 @@ public class AutoConfig implements DynamicDeployer, JndiConstants { resourceId = connectorModule.getModuleId() + "-" + type; } - List<String> resourceIds = resourceIdsByType.get(type); - if (resourceIds == null) { - resourceIds = new ArrayList<>(); - resourceIdsByType.put(type, resourceIds); - } + List<String> resourceIds = resourceIdsByType.computeIfAbsent(type, k -> new ArrayList<>()); resourceIds.add(resourceId); } } @@ -2489,11 +2481,7 @@ public class AutoConfig implements DynamicDeployer, JndiConstants { containerId = connectorModule.getModuleId() + "-" + type; } - List<String> containerIds = containerIdsByType.get(type); - if (containerIds == null) { - containerIds = new ArrayList<>(); - containerIdsByType.put(type, containerIds); - } + List<String> containerIds = containerIdsByType.computeIfAbsent(type, k -> new ArrayList<>()); containerIds.add(containerId); } } @@ -2510,11 +2498,7 @@ public class AutoConfig implements DynamicDeployer, JndiConstants { resourceEnvId = connectorModule.getModuleId() + "-" + type; } - List<String> resourceEnvIds = resourceEnvIdsByType.get(type); - if (resourceEnvIds == null) { - resourceEnvIds = new ArrayList<>(); - resourceEnvIdsByType.put(type, resourceEnvIds); - } + List<String> resourceEnvIds = resourceEnvIdsByType.computeIfAbsent(type, k -> new ArrayList<>()); resourceEnvIds.add(resourceEnvId); } } @@ -2524,11 +2508,7 @@ public class AutoConfig implements DynamicDeployer, JndiConstants { if (type != null) { final String[] types = type.trim().split(","); for (final String t : types) { - List<String> ids = resourceIdsByType.get(t); - if (ids == null) { - ids = new ArrayList<>(); - resourceIdsByType.put(t, ids); - } + List<String> ids = resourceIdsByType.computeIfAbsent(t, k -> new ArrayList<>()); ids.add(r.getId()); if (r.getJndi() != null) { ids.add(r.getJndi()); http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/config/WebappAggregatedArchive.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/WebappAggregatedArchive.java b/container/openejb-core/src/main/java/org/apache/openejb/config/WebappAggregatedArchive.java index 2e0a90b..cd7fd0a 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/config/WebappAggregatedArchive.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/WebappAggregatedArchive.java @@ -58,11 +58,7 @@ public class WebappAggregatedArchive implements Archive, ScanConstants { final Class<?> aClass = module.getClassLoader().loadClass(clazz); loaded.add(aClass); final URL jar = jarLocation(aClass).toURI().toURL(); - List<String> list = map.get(jar); - if (list == null) { - list = new ArrayList<>(); - map.put(jar, list); - } + List<String> list = map.computeIfAbsent(jar, k -> new ArrayList<>()); list.add(clazz); } catch (final ClassNotFoundException e) { throw new IllegalArgumentException(e); http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContainerSystem.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContainerSystem.java b/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContainerSystem.java index cdde447..15a3296 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContainerSystem.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContainerSystem.java @@ -150,11 +150,7 @@ public class CoreContainerSystem implements ContainerSystem { public void addWebContext(final WebContext webDeployment) { final String id = webDeployment.getId(); - List<WebContext> list = this.webDeployments.get(id); - if (list == null) { - list = new ArrayList<>(); - this.webDeployments.put(id, list); - } + List<WebContext> list = this.webDeployments.computeIfAbsent(id, k -> new ArrayList<>()); list.add(webDeployment); } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/PortAddressRegistryImpl.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/PortAddressRegistryImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/PortAddressRegistryImpl.java index 3be867f..1344bfd 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/PortAddressRegistryImpl.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/PortAddressRegistryImpl.java @@ -61,28 +61,16 @@ public class PortAddressRegistryImpl implements PortAddressRegistry { // portsByInterface Map<String, PortAddress> ports = null; if (portInterface != null) { // localbean have no interface - ports = portsByInterface.get(portInterface); - if (ports == null) { - ports = new TreeMap<>(); - portsByInterface.put(portInterface, ports); - } + ports = portsByInterface.computeIfAbsent(portInterface, k -> new TreeMap<>()); ports.put(portId, portAddress); } // portsByServiceId - ports = portsByServiceId.get(serviceId); - if (ports == null) { - ports = new TreeMap<>(); - portsByServiceId.put(serviceId, ports); - } + ports = portsByServiceId.computeIfAbsent(serviceId, k -> new TreeMap<>()); ports.put(portId, portAddress); // portsByServiceQName - ports = portsByServiceQName.get(serviceQName); - if (ports == null) { - ports = new TreeMap<>(); - portsByServiceQName.put(serviceQName, ports); - } + ports = portsByServiceQName.computeIfAbsent(serviceQName, k -> new TreeMap<>()); ports.put(portId, portAddress); } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java index 4f735c1..49135c8 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java @@ -119,11 +119,7 @@ public class AutoConnectionTracker implements ConnectionTracker { registry.putResource(KEY, txConnections); } - Map<ConnectionInfo, Object> connectionObjects = txConnections.get(connectionInfo.getManagedConnectionInfo()); - if (connectionObjects == null) { - connectionObjects = new HashMap<>(); - txConnections.put(connectionInfo.getManagedConnectionInfo(), connectionObjects); - } + Map<ConnectionInfo, Object> connectionObjects = txConnections.computeIfAbsent(connectionInfo.getManagedConnectionInfo(), k -> new HashMap<>()); connectionObjects.put(connectionInfo, connectionInfo.getConnectionProxy()); @@ -181,11 +177,7 @@ public class AutoConnectionTracker implements ConnectionTracker { registry.putResource(KEY, txConnections); } - Map<ConnectionInfo, Object> connectionObjects = txConnections.get(connectionInfo.getManagedConnectionInfo()); - if (connectionObjects == null) { - connectionObjects = new HashMap<>(); - txConnections.put(connectionInfo.getManagedConnectionInfo(), connectionObjects); - } + Map<ConnectionInfo, Object> connectionObjects = txConnections.computeIfAbsent(connectionInfo.getManagedConnectionInfo(), k -> new HashMap<>()); connectionObjects.remove(connectionInfo); if (connectionObjects.size() == 0) { http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java b/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java index 31e6853..9254ac3 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java @@ -45,11 +45,7 @@ public class LinkResolver<E> { byFullName.put(uri, value); // Short name: name -> List(values) - Collection<E> values = byShortName.get(name); - if (values == null) { - values = new ArrayList<>(); - byShortName.put(name, values); - } + Collection<E> values = byShortName.computeIfAbsent(name, k -> new ArrayList<>()); values.add(value); return true; http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/util/UrlCache.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/UrlCache.java b/container/openejb-core/src/main/java/org/apache/openejb/util/UrlCache.java index e532d41..53b1e00 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/util/UrlCache.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/util/UrlCache.java @@ -244,11 +244,7 @@ public class UrlCache { } private synchronized Map<URL, File> getAppCache(final String appId) { - Map<URL, File> urlFileMap = cache.get(appId); - if (urlFileMap == null) { - urlFileMap = new LinkedHashMap<>(); - cache.put(appId, urlFileMap); - } + Map<URL, File> urlFileMap = cache.computeIfAbsent(appId, k -> new LinkedHashMap<>()); return urlFileMap; } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java index 9a869c3..447830b 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java @@ -193,11 +193,7 @@ public class LightweightWebAppBuilder implements WebAppBuilder { }); } - List<Object> list = listeners.get(webAppInfo); - if (list == null) { - list = new ArrayList<>(); - listeners.put(webAppInfo, list); - } + List<Object> list = listeners.computeIfAbsent(webAppInfo, k -> new ArrayList<>()); list.add(instance); } for (final ClassListInfo info : webAppInfo.webAnnotatedClasses) { @@ -216,11 +212,7 @@ public class LightweightWebAppBuilder implements WebAppBuilder { }); } - List<Object> list = listeners.get(webAppInfo); - if (list == null) { - list = new ArrayList<>(); - listeners.put(webAppInfo, list); - } + List<Object> list = listeners.computeIfAbsent(webAppInfo, k -> new ArrayList<>()); list.add(instance); } } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-core/src/test/java/org/apache/openejb/DependencyVisitor.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/test/java/org/apache/openejb/DependencyVisitor.java b/container/openejb-core/src/test/java/org/apache/openejb/DependencyVisitor.java index d1eadb7..0a63d0d 100644 --- a/container/openejb-core/src/test/java/org/apache/openejb/DependencyVisitor.java +++ b/container/openejb-core/src/test/java/org/apache/openejb/DependencyVisitor.java @@ -93,11 +93,7 @@ public class DependencyVisitor extends EmptyVisitor { current = new HashMap<>(); } else { final String p = getGroupKey(name); - current = groups.get(p); - if (current == null) { - current = new HashMap<>(); - groups.put(p, current); - } + current = groups.computeIfAbsent(p, k -> new HashMap<>()); if (signature == null) { addName(superName); http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-jee/src/main/java/org/apache/openejb/jee/AssemblyDescriptor.java ---------------------------------------------------------------------- diff --git a/container/openejb-jee/src/main/java/org/apache/openejb/jee/AssemblyDescriptor.java b/container/openejb-jee/src/main/java/org/apache/openejb/jee/AssemblyDescriptor.java index 8bde1c9..a9f160f 100644 --- a/container/openejb-jee/src/main/java/org/apache/openejb/jee/AssemblyDescriptor.java +++ b/container/openejb-jee/src/main/java/org/apache/openejb/jee/AssemblyDescriptor.java @@ -145,11 +145,7 @@ public class AssemblyDescriptor { for (final Method method : binding.getMethod()) { if (method.getEjbName().equals(ejbName)) { final String methodName = method.getMethodName(); - List<MethodAttribute> list = methods.get(methodName); - if (list == null) { - list = new ArrayList<MethodAttribute>(); - methods.put(methodName, list); - } + List<MethodAttribute> list = methods.computeIfAbsent(methodName, k -> new ArrayList<MethodAttribute>()); list.add(new MethodAttribute(binding.getAttribute(), method)); } } http://git-wip-us.apache.org/repos/asf/tomee/blob/cb67f0e5/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java ---------------------------------------------------------------------- diff --git a/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java b/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java index 8d59bb5..e879b77 100644 --- a/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java +++ b/container/openejb-jee/src/main/java/org/apache/openejb/jee/Beans.java @@ -152,11 +152,7 @@ public class Beans { } public void addManagedClass(final URL url, final String clazz) { - List<String> list = managedClasses.get(url); - if (list == null) { - list = new LinkedList<>(); - managedClasses.put(url, list); - } + List<String> list = managedClasses.computeIfAbsent(url, k -> new LinkedList<>()); list.add(clazz); }