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