Author: scheu
Date: Tue Mar 11 17:21:04 2008
New Revision: 636159
URL: http://svn.apache.org/viewvc?rev=636159&view=rev
Log:
Quick Fix
The OMStaXWrapper.getReaderProperty method throws an exception if the parser is
closed. This is not expected.
I changed the OMStAXWrapper to avoid calling the reader property when the
parser is closed.
I also changed the SOAPEnvelopeImpl code to firewall the call to this code.
And I added a unit verification test.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java?rev=636159&r1=636158&r2=636159&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java
Tue Mar 11 17:21:04 2008
@@ -649,7 +649,10 @@
* @return
*/
public Object getReaderProperty(String name) throws
IllegalArgumentException {
- return parser.getProperty(name);
+ if (!isClosed()) {
+ return parser.getProperty(name);
+ }
+ return null;
}
/**
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java?rev=636159&r1=636158&r2=636159&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
Tue Mar 11 17:21:04 2008
@@ -283,7 +283,7 @@
QName payloadQName = (QName) ((StAXSOAPModelBuilder) builder).
getReaderProperty(SOAPConstants.SOAPBODY_FIRST_CHILD_ELEMENT_QNAME);
return payloadQName;
- } catch (IllegalArgumentException e) {
+ } catch (Throwable e) {
// The parser may not support this property.
// In such cases, processing continues below in the fallback
approach
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java?rev=636159&r1=636158&r2=636159&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
Tue Mar 11 17:21:04 2008
@@ -295,7 +295,7 @@
QName payloadQName = (QName) ((StAXSOAPModelBuilder) builder).
getReaderProperty(SOAPConstants.SOAPBODY_FIRST_CHILD_ELEMENT_QNAME);
return payloadQName;
- } catch (IllegalArgumentException e) {
+ } catch (Throwable e) {
// The parser may not support this property.
// In such cases, processing continues below in the fallback
approach
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java?rev=636159&r1=636158&r2=636159&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java
Tue Mar 11 17:21:04 2008
@@ -87,6 +87,9 @@
// Calling getProperty after a close should return null, not an
exception
assertTrue(reader.getProperty("dummyProperty") == null);
+
+ // Calling builder.getReaderProperty should return null, not an
exception
+ assertTrue(b.getReaderProperty("dummyProperty") == null);
} catch (XMLStreamException e) {
fail(e.getMessage());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]