Author: fanningpj
Date: Fri Jul 15 21:02:15 2022
New Revision: 1902748

URL: http://svn.apache.org/viewvc?rev=1902748&view=rev
Log:
[github-343] use try-with-resources. Thanks to XenoAmess. This closes #343

Modified:
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java?rev=1902748&r1=1902747&r2=1902748&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/ooxml/util/XPathHelper.java 
Fri Jul 15 21:02:15 2022
@@ -37,15 +37,15 @@ public final class XPathHelper {
     private static final Logger LOG = LogManager.getLogger(XPathHelper.class);
 
     private static final String OSGI_ERROR =
-        "Schemas (*.xsb) for <CLASS> can't be loaded - usually this happens 
when OSGI " +
-        "loading is used and the thread context classloader has no reference 
to " +
-        "the xmlbeans classes - please either verify if the <XSB>.xsb is on 
the " +
-        "classpath or alternatively try to use the poi-ooxml-full-x.x.jar";
+            "Schemas (*.xsb) for <CLASS> can't be loaded - usually this 
happens when OSGI " +
+                    "loading is used and the thread context classloader has no 
reference to " +
+                    "the xmlbeans classes - please either verify if the 
<XSB>.xsb is on the " +
+                    "classpath or alternatively try to use the 
poi-ooxml-full-x.x.jar";
 
     private static final String MC_NS = 
"http://schemas.openxmlformats.org/markup-compatibility/2006";;
     private static final String MAC_DML_NS = 
"http://schemas.microsoft.com/office/mac/drawingml/2008/main";;
     private static final QName ALTERNATE_CONTENT_TAG = new QName(MC_NS, 
"AlternateContent");
-     // AlternateContentDocument.AlternateContent.type.getName();
+    // AlternateContentDocument.AlternateContent.type.getName();
 
     private XPathHelper() {}
 
@@ -109,9 +109,10 @@ public final class XPathHelper {
     public static <T extends XmlObject> T selectProperty(XmlObject 
startObject, Class<T> resultClass, XSLFShape.ReparseFactory<T> factory, 
QName[]... path)
             throws XmlException {
         XmlObject xo = startObject;
-        XmlCursor innerCur = null;
-        try (XmlCursor cur = startObject.newCursor()) {
-            innerCur = selectProperty(cur, path, 0, factory != null, false);
+        try (
+                XmlCursor cur = startObject.newCursor();
+                XmlCursor innerCur = selectProperty(cur, path, 0, factory != 
null, false)
+        ) {
             if (innerCur == null) {
                 return null;
             }
@@ -122,7 +123,7 @@ public final class XPathHelper {
             if (xo instanceof XmlAnyTypeImpl) {
                 String errorTxt = OSGI_ERROR
                         .replace("<CLASS>", resultClass.getSimpleName())
-                        .replace("<XSB>", 
resultClass.getSimpleName().toLowerCase(Locale.ROOT)+"*");
+                        .replace("<XSB>", 
resultClass.getSimpleName().toLowerCase(Locale.ROOT) + "*");
                 if (factory == null) {
                     throw new XmlException(errorTxt);
                 } else {
@@ -130,11 +131,7 @@ public final class XPathHelper {
                 }
             }
 
-            return (T)xo;
-        } finally {
-            if (innerCur != null) {
-                innerCur.close();
-            }
+            return (T) xo;
         }
     }
 
@@ -169,8 +166,8 @@ public final class XPathHelper {
             // it never happens when using poi-ooxml-full jar but may happen 
with the abridged poi-ooxml-lite jar
             if (!reparseAlternate) {
                 throw new XmlException(OSGI_ERROR
-                                               .replace("<CLASS>", 
"AlternateContent")
-                                               .replace("<XSB>", 
"alternatecontentelement")
+                        .replace("<CLASS>", "AlternateContent")
+                        .replace("<XSB>", "alternatecontentelement")
                 );
             }
             try {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to