[ https://issues.apache.org/jira/browse/WSCOMMONS-346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen updated WSCOMMONS-346: -------------------------------------- Fix Version/s: (was: Axiom 1.2.10) Axiom 1.2.11 > getFirstChildWithName should not read the next element. > ------------------------------------------------------- > > Key: WSCOMMONS-346 > URL: https://issues.apache.org/jira/browse/WSCOMMONS-346 > Project: WS-Commons > Issue Type: Improvement > Components: AXIOM > Reporter: Jose Antonio > Assignee: Andreas Veithen > Priority: Minor > Fix For: Axiom 1.2.11 > > > When calling getFirstChildWithName operation over an element, it reads not > only the first element, but the next also. I think that could be improved > since the operation name semantics specifies that the caller is only > interested in the first element and not the rest of them, so a iterator (the > reason to read the next element) is useless here. Suppose the following > scenario. > <root-element> > <chlid-element att="value"> > <sub-child-element> > -- very big content -- > </sub-child-element> > </child-element> > </root-element> > I want to read the sub-child-element only in some cases depending on the > 'value' attribute. If I call to getFirstElement I get the behaviour I want, > since only the header is readed and I can skip and discard the message if it > doesn't match. I get the behaviour that I would expect from a StaX parser and > a getFirst* method, so I can discard the message quickly. Instead, > getFirstElementWithName seems to call internally to getElementsWithName and > returns the first occurence, which forces the parser to read the next element > and (in this case) the complete big message. > I think that the efficiency of that method could be improved since, for a > StaX model, one expects that the parser only reads the minimal information > needed to serve the request. Instead of calling to getElementsWithName, it > would be better an implementation based on getFirstElement and then going > through getNextOMSibling. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.