use cache
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java
index a061c6a..4bac081 100644
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/lang/PropertyDescriptorUtils.java
@@ -66,26 +66,16 @@
private static Map<String, Map<String, ? extends PropertyDescriptorWrapper>> getCache(ExternalContext ec)
{
- Map<String, Map<String, ? extends PropertyDescriptorWrapper>> cache =
- (Map<String, Map<String, ? extends PropertyDescriptorWrapper>>)
- ec.getApplicationMap().get(CACHE_KEY);
- if (cache == null)
- {
- cache = new ConcurrentHashMap<>(1000);
- }
-
- return cache;
+ return (Map<String, Map<String, ? extends PropertyDescriptorWrapper>>)
+ ec.getApplicationMap().computeIfAbsent(CACHE_KEY, k -> new ConcurrentHashMap<>(1000));
}
-
+
public static Map<String, ? extends PropertyDescriptorWrapper> getCachedPropertyDescriptors(ExternalContext ec,
Class<?> target)
{
- return getCache(ec).computeIfAbsent(target.getName(), k ->
- {
- return getPropertyDescriptors(ec, target, false);
- });
+ return getCache(ec).computeIfAbsent(target.getName(), k -> getPropertyDescriptors(ec, target, false));
}
-
+
public static boolean isMethodHandlesSupported(ExternalContext ec)
{
if (privateLookupIn == null)