You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2009/03/10 13:30:50 UTC

[jira] Commented: (WSCOMMONS-449) OMDocument#serializeAndConsume doesn't consume the document

    [ https://issues.apache.org/jira/browse/WSCOMMONS-449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680452#action_12680452 ] 

Andreas Veithen commented on WSCOMMONS-449:
-------------------------------------------

There are two possible solutions for this issue: WSCOMMONS-450 and WSCOMMONS-451.

> OMDocument#serializeAndConsume doesn't consume the document
> -----------------------------------------------------------
>
>                 Key: WSCOMMONS-449
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-449
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>    Affects Versions: Axiom 1.2.8
>            Reporter: Andreas Veithen
>            Priority: Minor
>
> OMDocument#serializeAndConsume doesn't consume the document but instead fully builds it.
> This is caused by the following piece of code:
>             while (children.hasNext()) {
>                 OMNodeEx omNode = (OMNodeEx) children.next();
>                 omNode.internalSerializeAndConsume(writer);
>             }
> As described in WSCOMMONS-346, the call to Iterator#next() actually builds the returned node, so that the call to internalSerializeAndConsume has the same effect as serialization with caching enabled. This means that the code fully builds the document.
> Note that the code actually doesn't make sense because once a child (in particular the document element) has been consumed, it is not possible to retrieve the next sibling. This means that even if WSCOMMONS-346 is solved, to code still wouldn't behave as expected. Worse, it would trigger an exception.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.