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 "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2008/03/05 16:57:43 UTC
[jira] Updated: (WSCOMMONS-286) getChildrenWithQName.next throws
ClassCastException, OMChildrenQNameIterator implements Iterator but does
not satisfy published interface behavior
[ https://issues.apache.org/jira/browse/WSCOMMONS-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rich Scheuerle updated WSCOMMONS-286:
-------------------------------------
Priority: Blocker (was: Major)
Assignee: Rich Scheuerle
This should be considered for 1.2.6. There have been recent changes in this area of code, and perhaps this issue is now fixed.
I will assign it to myself for evaluation.
> getChildrenWithQName.next throws ClassCastException, OMChildrenQNameIterator implements Iterator but does not satisfy published interface behavior
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WSCOMMONS-286
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-286
> Project: WS-Commons
> Issue Type: Bug
> Components: AXIOM
> Environment: OS : Any
> Axiom Version 1.2.5
> Java Runtime version : 1.5
> Reporter: Bhaskar Maddala
> Assignee: Rich Scheuerle
> Priority: Blocker
> Attachments: _286.diff
>
>
> Given the following xml fragment
> <ns1:BOSettings xmlns:ns1="http://a.b.c/pro">
> <ns1:ObjectType>X</ns1:ObjectType>
> </ns1:BOSettings>
> Iterator objectTypeIt = bosettings.getChildrenWithName(helper.createQNameForField("ObjectType"));
> invoking
> OMElement element = objectTypeIt.next();
> throws a ClassCastException
> the OMChildrenQNameIterator return the first child which in this case is of type OMText
> the issue can be fixed by first calling hasNext and then next, the hasNext method has a side effect which allows the next to proceed correctly.
> This behavior does not obey the published Iterator documentation, the following is expected Iterator behavior
> Iterator<Integer> it = Arrays.asList(new Integer[] { Integer.valueOf(1), Integer.valueOf(2),});
> do
> {
> it.next();
> } while(it.hasNext());
> will work correctly and is the expected behavior.
> Whereas calling it.next on an Iterator instance of type OMChildrenQNameIterator will result in a ClassCastException
--
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: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org