commit | 5558959ef693644e751a0cde2b4ce76542a165ee | [log] [tgz] |
---|---|---|
author | Richard J. Scheuerle, Jr <scheu@apache.org> | Tue Apr 15 19:57:09 2008 +0000 |
committer | Richard J. Scheuerle, Jr <scheu@apache.org> | Tue Apr 15 19:57:09 2008 +0000 |
tree | 6684e20b7c35ad96898e10fc4b64fdc822c3470a | |
parent | eb8a2efe2b3efe27296681ef1f829826904841de [diff] |
WSCOMMONS-321 Contributor:Rich Scheuerle Root cause of for NoSuchElementException (found by JAXWS CTS testing) OMStAXWrapper code was accidentally disabling caching. The validating test is in Axis2/JAXWS and will be contributed soon.
diff --git a/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java b/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java index ea52239..8b5346d 100644 --- a/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java +++ b/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java
@@ -48,6 +48,11 @@ * @throws OMException */ void setCache(boolean b) throws OMException; + + /** + * @return true if caching + */ + boolean isCache(); /** * Allows to access the underlying parser. Since the parser depends on the underlying
diff --git a/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java b/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java index 5b0bef0..39f0953 100644 --- a/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java +++ b/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java
@@ -209,8 +209,11 @@ try { if (startNode instanceof OMSourcedElement && !cache && builder != null) { + if (!builder.isCache()) { + resetCache = true; + } builder.setCache(true); // bootstrap the navigator - resetCache = true; + } } catch(Throwable t) {}