directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerald Turner (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DIRSHARED-124) SearchCursorImpl breaks java.lang.Iterable
Date Tue, 03 May 2011 22:29:03 GMT
SearchCursorImpl breaks java.lang.Iterable
------------------------------------------

                 Key: DIRSHARED-124
                 URL: https://issues.apache.org/jira/browse/DIRSHARED-124
             Project: Directory Shared
          Issue Type: Bug
    Affects Versions: 1.0.0-M3
            Reporter: Gerald Turner
            Priority: Minor


Code like:

  SearchCursor search = connection.search(...);
  for (Response response : search) { ... }

Does not work (no elements iterated), even though SearchCursor is advertised as being Iterable<Response>.

The problem begins with the CursorIterator constructor:

    public CursorIterator( Cursor<E> cursor )
    {
        this.cursor = cursor;
        this.available = cursor.available();
    }

The available field will be set to false for SearchCursorImpl, just as the javadoc in Cursor
implies "Determines whether or not a call to get() will succeed." - since next() must be called
first.

Initially I thought about patching the CursorIterator to call next() instead of available(),
however next throws an exception and it is impractical to handle an exception in the iterator
constructor.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message