[ http://issues.apache.org/jira/browse/DISCOVERY-3?page=all ]
Henri Yandell updated DISCOVERY-3: ---------------------------------- Bugzilla Id: (was: 25357) Fix Version/s: (was: 0.4) Punting this to beyond 0.4 - Aiming to get a 0.4 released with the latest in SVN and then we'll see if any activity ever happens. > [discovery] Enumeration in Service broken > ----------------------------------------- > > Key: DISCOVERY-3 > URL: http://issues.apache.org/jira/browse/DISCOVERY-3 > Project: Commons Discovery > Issue Type: Bug > Affects Versions: Nightly Builds > Environment: Operating System: other > Platform: Other > Reporter: matthew_pocock > > The Enumeration in org.apache.commons.discovery.tools.Service is broken - it > will only work in the (admittedly common) case where you do: > while(e.hasMoreElements()) e.nextElement(); > If you repeatedly call nextElement(), you will get the wrong results. In > particular, this uggly but technically correct code will fail to behave > sanely: > try { > while(true) > e.nextElement(); > } catch (NoSuchElementException e) { > } > The code needs hacking arround to look something more like this: > return new Enumeration() { > private Object object = getNextClassInstance(); > public boolean hasMoreElements() { > return object != null; > } > public Object nextElement() { > if(object == null) { > throw new NoSuchElementException(); > } > Object obj = object; > object = getNextClassInstance(); > return obj; > } > private Object getNextClassInstance() { > // as before > } > }; -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]