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]