This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jxpath.git
The following commit(s) were added to refs/heads/master by this push: new 613c4e2 Use modern Map API 613c4e2 is described below commit 613c4e2abda6b0525d15b9569065bbbca9fc6796 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Jul 8 08:41:02 2023 -0400 Use modern Map API --- .../java/org/apache/commons/jxpath/util/ValueUtils.java | 17 +++++------------ .../apache/commons/jxpath/xml/DocumentContainer.java | 12 ++++-------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java b/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java index ecee382..cdd0419 100644 --- a/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java +++ b/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java @@ -522,21 +522,14 @@ public class ValueUtils { * @return DynamicPropertyHandler */ public static DynamicPropertyHandler getDynamicPropertyHandler(final Class clazz) { - DynamicPropertyHandler handler = - (DynamicPropertyHandler) dynamicPropertyHandlerMap.get(clazz); - if (handler == null) { + return (DynamicPropertyHandler) dynamicPropertyHandlerMap.computeIfAbsent(clazz, k -> { try { - handler = (DynamicPropertyHandler) clazz.newInstance(); - } + return (DynamicPropertyHandler) clazz.newInstance(); + } catch (final Exception ex) { - throw new JXPathException( - "Cannot allocate dynamic property handler of class " - + clazz.getName(), - ex); + throw new JXPathException("Cannot allocate dynamic property handler of class " + clazz.getName(), ex); } - dynamicPropertyHandlerMap.put(clazz, handler); - } - return handler; + }); } // -------------------------------------------------------- Private Methods diff --git a/src/main/java/org/apache/commons/jxpath/xml/DocumentContainer.java b/src/main/java/org/apache/commons/jxpath/xml/DocumentContainer.java index e87b715..f7f1599 100644 --- a/src/main/java/org/apache/commons/jxpath/xml/DocumentContainer.java +++ b/src/main/java/org/apache/commons/jxpath/xml/DocumentContainer.java @@ -172,22 +172,18 @@ public class DocumentContainer extends XMLParser2 implements Container { * @return XMLParser */ private static XMLParser getParser(final String model) { - XMLParser parser = (XMLParser) parsers.get(model); - if (parser == null) { + return (XMLParser) parsers.computeIfAbsent(model, k -> { final String className = (String) parserClasses.get(model); if (className == null) { throw new JXPathException("Unsupported XML model: " + model); } try { final Class clazz = ClassLoaderUtil.getClass(className, true); - parser = (XMLParser) clazz.newInstance(); + return (XMLParser) clazz.newInstance(); } catch (final Exception ex) { - throw new JXPathException( - "Cannot allocate XMLParser: " + className, ex); + throw new JXPathException("Cannot allocate XMLParser: " + className, ex); } - parsers.put(model, parser); - } - return parser; + }); } }