[ https://issues.apache.org/jira/browse/WSCOMMONS-512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rich Scheuerle reopened WSCOMMONS-512: -------------------------------------- I found a corner case broken by this fix. I will commit a solution soon. > StreamingOMSerializer expands OMSourcedElement nodes > ---------------------------------------------------- > > Key: WSCOMMONS-512 > URL: https://issues.apache.org/jira/browse/WSCOMMONS-512 > Project: WS-Commons > Issue Type: Bug > Components: AXIOM > Reporter: Rich Scheuerle > Assignee: Rich Scheuerle > Original Estimate: 24h > Remaining Estimate: 24h > > Background: > An OM tree may have one or more OMSourcedElement nodes in the tree. An > OMSourcedElement represents an OMElement but contains its content in an > alternative form (String, bytes, JAXB object etc.) > The OMSourcedElement nodes allow OM to represent a message with a much > flatter tree. > Problem: > If an OM tree containing OMSourcedElements is serialized with the > StreamingOMSerializer, the OMSourcedElements are inadvertently expanded. > This extra processing is slow and unnecessary. > Solution: > The StreamingOMSerializer uses an OMNavigator to walk the incoming > XMLStreamReader events. When the OMNavigator encounters a OMSourcedElement, > it expands the OMSourcedElement so that it can generated the XMLStreamReader > events for the content. > The solution is to add a property to the OMNavigator to allow it to tree > OMSourcedElements as leaf objects. In such cases, the StreamingOMSerializer > can gain access to the OMDataSource and write it out directly. This > increases performance because it eliminates the expansion of the tree. > I am working on a series of validation tests and a code solution. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.