Author: fanningpj
Date: Tue Feb 14 18:45:04 2023
New Revision: 1907661

URL: http://svn.apache.org/viewvc?rev=1907661&view=rev
Log:
check for fatal errors

Added:
    
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/util/ExceptionUtil.java
      - copied, changed from r1907660, 
poi/trunk/poi/src/main/java/org/apache/poi/util/ExceptionUtil.java
    xmlbeans/trunk/src/test/java/misc/checkin/ExceptionUtilTest.java
      - copied, changed from r1907660, 
poi/trunk/poi/src/test/java/org/apache/poi/util/ExceptionUtilTest.java
Modified:
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlCalendar.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlException.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlRuntimeException.java
    
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java
    
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
    
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/CodeGenUtil.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/RunXQuery.java
    xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java
    
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/validator/Validator.java

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java Tue Feb 14 
18:45:04 2023
@@ -15,6 +15,8 @@
 
 package org.apache.xmlbeans;
 
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
+
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.math.RoundingMode;
@@ -270,6 +272,9 @@ public final class GDate implements GDat
                     try {
                         fs = new BigDecimal(string.subSequence(start, 
len).toString());
                     } catch (Throwable e) {
+                        if (ExceptionUtil.isFatal(e)) {
+                            ExceptionUtil.rethrow(e);
+                        }
                         throw new IllegalArgumentException();
                     }
                 }

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlCalendar.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlCalendar.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlCalendar.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlCalendar.java Tue Feb 
14 18:45:04 2023
@@ -15,6 +15,7 @@
 
 package org.apache.xmlbeans;
 
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.apache.xmlbeans.impl.util.SuppressForbidden;
 
 import java.math.BigDecimal;
@@ -278,6 +279,9 @@ public class XmlCalendar extends Gregori
             }
             catch (Throwable t)
             {
+                if (ExceptionUtil.isFatal(t)) {
+                    ExceptionUtil.rethrow(t);
+                }
                 defaultYear = DEFAULT_DEFAULT_YEAR;
             }
         }

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlException.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlException.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlException.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlException.java Tue Feb 
14 18:45:04 2023
@@ -45,7 +45,7 @@ public class XmlException extends Except
     /**
      * Constructs an XmlException from a cause.
      */
-    public XmlException ( Throwable t           ) { super( t );    }
+    public XmlException ( Throwable t ) { super( t );    }
 
     /**
      * Constructs an XmlException from an {@link XmlError}.

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlRuntimeException.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlRuntimeException.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlRuntimeException.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlRuntimeException.java 
Tue Feb 14 18:45:04 2023
@@ -44,7 +44,7 @@ public class XmlRuntimeException extends
     /**
      * Constructs an XmlRuntimeException from a cause.
      */ 
-    public XmlRuntimeException ( Throwable t           ) { super( t );    }
+    public XmlRuntimeException ( Throwable t ) { super( t );    }
     
     /**
      * Constructs an XmlRuntimeException from a message, a cause, and a 
collection of XmlErrors.

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java
 (original)
+++ 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/DocumentHelper.java
 Tue Feb 14 18:45:04 2023
@@ -18,6 +18,7 @@ package org.apache.xmlbeans.impl.common;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.w3c.dom.Document;
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.InputSource;
@@ -131,6 +132,9 @@ public final class DocumentHelper {
             } catch (ClassNotFoundException e) {
                 // continue without log, this is expected in some setups
             } catch (Throwable e) {     // NOSONAR - also catch things like 
NoClassDefError here
+                if (ExceptionUtil.isFatal(e)) {
+                    ExceptionUtil.rethrow(e);
+                }
                 if(System.currentTimeMillis() > lastLog + 
TimeUnit.MINUTES.toMillis(5)) {
                     LOG.atWarn().withThrowable(e).log("DocumentBuilderFactory 
Security Manager could not be setup [log suppressed for 5 minutes]");
                     lastLog = System.currentTimeMillis();
@@ -142,6 +146,9 @@ public final class DocumentHelper {
         try {
             dbf.setAttribute(XMLBeansConstants.ENTITY_EXPANSION_LIMIT, 
options.getEntityExpansionLimit());
         } catch (Throwable e) {
+            if (ExceptionUtil.isFatal(e)) {
+                ExceptionUtil.rethrow(e);
+            }
             if(System.currentTimeMillis() > lastLog + 
TimeUnit.MINUTES.toMillis(5)) {
                 LOG.atWarn().withThrowable(e).log("DocumentBuilderFactory 
Entity Expansion Limit could not be setup [log suppressed for 5 minutes]");
                 lastLog = System.currentTimeMillis();

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/common/SAXHelper.java 
Tue Feb 14 18:45:04 2023
@@ -18,6 +18,7 @@ package org.apache.xmlbeans.impl.common;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -99,6 +100,9 @@ public final class SAXHelper {
             try {
                 clazz = Class.forName(securityManagerClassName);
             } catch (Throwable e) { // NOSONAR
+                if (ExceptionUtil.isFatal(e)) {
+                    ExceptionUtil.rethrow(e);
+                }
                 // xerces is not available on class-/modulepath
                 continue;
             }
@@ -111,6 +115,9 @@ public final class SAXHelper {
                 // Stop once one can be setup without error
                 return;
             } catch (Throwable e) {     // NOSONAR - also catch things like 
NoClassDefError here
+                if (ExceptionUtil.isFatal(e)) {
+                    ExceptionUtil.rethrow(e);
+                }
                 // throttle the log somewhat as it can spam the log otherwise
                 if (System.currentTimeMillis() > lastLog + 
TimeUnit.MINUTES.toMillis(5)) {
                     LOG.atWarn().withThrowable(e).log("SAX Security Manager 
could not be setup [log suppressed for 5 minutes]");

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
 (original)
+++ 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
 Tue Feb 14 18:45:04 2023
@@ -18,6 +18,7 @@ package org.apache.xmlbeans.impl.schema;
 import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.common.QNameHelper;
 import org.apache.xmlbeans.impl.common.XBeanDebug;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.apache.xmlbeans.impl.values.*;
 import org.apache.xmlbeans.impl.xb.xsdschema.AnnotationDocument.Annotation;
 import 
org.apache.xmlbeans.impl.xb.xsdschema.DocumentationDocument.Documentation;
@@ -2409,7 +2410,10 @@ public final class SchemaTypeImpl implem
         Element el;
         try {
             el = Element.Factory.parse(str);
-        } catch (Throwable ignore) {
+        } catch (Throwable e) {
+            if (ExceptionUtil.isFatal(e)) {
+                ExceptionUtil.rethrow(e);
+            }
             return "";
         }
 

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
 (original)
+++ 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
 Tue Feb 14 18:45:04 2023
@@ -18,6 +18,7 @@ package org.apache.xmlbeans.impl.schema;
 import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.common.QNameHelper;
 import org.apache.xmlbeans.impl.common.XBeanDebug;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.apache.xmlbeans.impl.util.FilerImpl;
 import org.apache.xmlbeans.impl.util.HexBin;
 import org.apache.xmlbeans.impl.util.LongUTFDataInputStream;
@@ -211,6 +212,9 @@ public class SchemaTypeSystemImpl extend
             Class<?> c = Class.forName(name + "." + 
SchemaTypeCodePrinter.INDEX_CLASSNAME, true, loader);
             return (SchemaTypeSystemImpl) c.getField("typeSystem").get(null);
         } catch (Throwable e) {
+            if (ExceptionUtil.isFatal(e)) {
+                ExceptionUtil.rethrow(e);
+            }
             return null;
         }
     }

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/store/Locale.java Tue 
Feb 14 18:45:04 2023
@@ -26,6 +26,7 @@ import org.apache.xmlbeans.impl.common.X
 import org.apache.xmlbeans.impl.store.Cur.Locations;
 import org.apache.xmlbeans.impl.store.DomImpl.Dom;
 import org.apache.xmlbeans.impl.store.Saaj.SaajCallback;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.w3c.dom.*;
 import org.xml.sax.*;
 import org.xml.sax.ext.DeclHandler;
@@ -2502,16 +2503,25 @@ public final class Locale
                 _xr.setDTDHandler(this);
                 _xr.setErrorHandler(this);
             } catch (Throwable e) {
+                if (ExceptionUtil.isFatal(e)) {
+                    ExceptionUtil.rethrow(e);
+                }
                 throw new RuntimeException(e.getMessage(), e);
             }
             try {
                 _xr.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
             } catch (Throwable e) {
+                if (ExceptionUtil.isFatal(e)) {
+                    ExceptionUtil.rethrow(e);
+                }
                 LOG.atWarn().withThrowable(e).log("Secure Processing Feature 
is not supported");
             }
             try {
                 
_xr.setProperty("http://xml.org/sax/properties/declaration-handler";, this);
             } catch (Throwable e) {
+                if (ExceptionUtil.isFatal(e)) {
+                    ExceptionUtil.rethrow(e);
+                }
                 LOG.atWarn().withThrowable(e).log("SAX Declaration Handler is 
not supported");
             }
         }

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/CodeGenUtil.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/CodeGenUtil.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/CodeGenUtil.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/CodeGenUtil.java 
Tue Feb 14 18:45:04 2023
@@ -17,6 +17,7 @@ package org.apache.xmlbeans.impl.tool;
 
 import org.apache.xmlbeans.SystemProperties;
 import org.apache.xmlbeans.impl.common.IOUtil;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 
 import java.io.*;
 import java.net.URI;
@@ -219,14 +220,17 @@ public class CodeGenUtil {
                 }
             }
         } catch (Throwable e) {
+            if (ExceptionUtil.isFatal(e)) {
+                ExceptionUtil.rethrow(e);
+            }
             System.err.println(e.toString());
             System.err.println(e.getCause());
             e.printStackTrace(System.err);
             return false;
-        }
-
-        if (clFile != null) {
-            clFile.delete();
+        } finally {
+            if (clFile != null) {
+                clFile.delete();
+            }
         }
 
         return true;

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/RunXQuery.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/RunXQuery.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/RunXQuery.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/RunXQuery.java 
Tue Feb 14 18:45:04 2023
@@ -18,6 +18,7 @@ package org.apache.xmlbeans.impl.tool;
 import org.apache.xmlbeans.XmlBeans;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -138,6 +139,9 @@ public class RunXQuery {
                 query = sb.toString();
             }
         } catch (Throwable e) {
+            if (ExceptionUtil.isFatal(e)) {
+                ExceptionUtil.rethrow(e);
+            }
             System.err.println("Cannot read query file: " + e.getMessage());
             System.exit(1);
             return;

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java 
(original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java Tue 
Feb 14 18:45:04 2023
@@ -27,6 +27,7 @@ import org.apache.tools.ant.types.Refere
 import org.apache.xmlbeans.XmlError;
 import org.apache.xmlbeans.XmlOptions;
 import org.apache.xmlbeans.impl.common.IOUtil;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 
 import java.io.File;
 import java.io.PrintWriter;
@@ -297,6 +298,9 @@ public class XMLBean extends MatchingTas
             if (e instanceof InterruptedException || failonerror) {
                 throw new BuildException(e);
             }
+            if (ExceptionUtil.isFatal(e)) {
+                ExceptionUtil.rethrow(e);
+            }
 
             log("Exception while building schemas: " + e.getMessage(), 
Project.MSG_ERR);
             StringWriter sw = new StringWriter();

Copied: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/util/ExceptionUtil.java 
(from r1907660, 
poi/trunk/poi/src/main/java/org/apache/poi/util/ExceptionUtil.java)
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/util/ExceptionUtil.java?p2=xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/util/ExceptionUtil.java&p1=poi/trunk/poi/src/main/java/org/apache/poi/util/ExceptionUtil.java&r1=1907660&r2=1907661&rev=1907661&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/util/ExceptionUtil.java 
(original)
+++ 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/util/ExceptionUtil.java 
Tue Feb 14 18:45:04 2023
@@ -14,12 +14,12 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-package org.apache.poi.util;
+package org.apache.xmlbeans.impl.util;
 
 /**
  * Utilitity methods for dealing with exceptions/throwables
  *
- * @since POI 5.2.4
+ * @since 5.1.2
  */
 public class ExceptionUtil {
     private ExceptionUtil() {}

Modified: 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/validator/Validator.java
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/validator/Validator.java?rev=1907661&r1=1907660&r2=1907661&view=diff
==============================================================================
--- 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/validator/Validator.java 
(original)
+++ 
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/validator/Validator.java 
Tue Feb 14 18:45:04 2023
@@ -19,6 +19,7 @@ import org.apache.xmlbeans.*;
 import org.apache.xmlbeans.impl.common.*;
 import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
 import org.apache.xmlbeans.impl.schema.SchemaTypeVisitorImpl;
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.apache.xmlbeans.impl.util.XsTypeConverter;
 import org.apache.xmlbeans.impl.values.*;
 
@@ -330,6 +331,9 @@ public final class Validator
 
                 xsiType = 
_globalTypes.findType(XmlQNameImpl.validateLexical(value, _vc, event));
             } catch (Throwable t) {
+                if (ExceptionUtil.isFatal(t)) {
+                    ExceptionUtil.rethrow(t);
+                }
                 _errorState++;
             } finally {
                 _suspendErrors--;

Copied: xmlbeans/trunk/src/test/java/misc/checkin/ExceptionUtilTest.java (from 
r1907660, 
poi/trunk/poi/src/test/java/org/apache/poi/util/ExceptionUtilTest.java)
URL: 
http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/misc/checkin/ExceptionUtilTest.java?p2=xmlbeans/trunk/src/test/java/misc/checkin/ExceptionUtilTest.java&p1=poi/trunk/poi/src/test/java/org/apache/poi/util/ExceptionUtilTest.java&r1=1907660&r2=1907661&rev=1907661&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/util/ExceptionUtilTest.java 
(original)
+++ xmlbeans/trunk/src/test/java/misc/checkin/ExceptionUtilTest.java Tue Feb 14 
18:45:04 2023
@@ -14,8 +14,9 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-package org.apache.poi.util;
+package misc.checkin;
 
+import org.apache.xmlbeans.impl.util.ExceptionUtil;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;



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

Reply via email to