OMSourcedElement forceExpand problem
------------------------------------
Key: WSCOMMONS-170
URL: https://issues.apache.org/jira/browse/WSCOMMONS-170
Project: WS-Commons
Issue Type: Bug
Components: AXIOM
Reporter: Rich Scheuerle
Assigned To: Rich Scheuerle
Here is the scenario:
The tree looks like the following
...
SOAP11Body (complete=true):
|
OMSourcedElement (complete=true)
Contains OMDataSource
Some code calls serialize (w/ caching) on the tree.
OMSourcedElement.forceExpand() is invoked, and the OMSourcedElement attaches
itself to an XMLStreamReader from OMDataSource.
So far everything is okay.
SOAP11Body (complete=true)
|
OMSourcedElement (complete=true)
XMLStreamReader from
OMDataSource
Towards the end of OMSourceElement.forceExpand(), setComplete(false) is called.
This is necessary to inform the OMSourcedElement
that it is attached to the builder.
Unfortunately, the setCompete(false) implementation propogates the "false" flag
to its ancestors. This is not appropriate since the
ancestors (SOAPBody) are already complete and its parser is already consumed.
The following fix is required. In forceExpand,:
Change:
// set the builder for this element
isParserSet = true;
super.setBuilder(new StAXOMBuilder(getOMFactory(), reader, this));
setComplete(false);
To:
// set the builder for this element
isParserSet = true;
super.setBuilder(new StAXOMBuilder(getOMFactory(), reader, this));
done = false; // The parser is specific to OMSourcedElement. We
don't want to propogate this flag up the tree, so don't use setComplete(false)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]