You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2010/03/02 15:25:42 UTC
svn commit: r918051 - in /directory/clients/ldap/trunk:
ldap-client-api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java
ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java
Author: kayyagari
Date: Tue Mar 2 14:25:41 2010
New Revision: 918051
URL: http://svn.apache.org/viewvc?rev=918051&view=rev
Log:
o updated the synchronous search method to use the SearchCursor
o fixed the test case by removing the call to unsupported beforeFirst() operation on SearchCursor
o changed the scope of some static variables
Modified:
directory/clients/ldap/trunk/ldap-client-api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java
directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java
Modified: directory/clients/ldap/trunk/ldap-client-api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java
URL: http://svn.apache.org/viewvc/directory/clients/ldap/trunk/ldap-client-api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java?rev=918051&r1=918050&r2=918051&view=diff
==============================================================================
--- directory/clients/ldap/trunk/ldap-client-api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java (original)
+++ directory/clients/ldap/trunk/ldap-client-api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java Tue Mar 2 14:25:41 2010
@@ -216,9 +216,9 @@
private static final String OPERATION_CANCELLED = "Operation would have been cancelled";
- private static final String TIME_OUT_ERROR = "TimeOut occured";
+ static final String TIME_OUT_ERROR = "TimeOut occured";
- private static final String NO_RESPONSE_ERROR = "The response queue has been emptied, no response was found.";
+ static final String NO_RESPONSE_ERROR = "The response queue has been emptied, no response was found.";
private static final String COMPARE_FAILED = "Failed to perform compare operation";
@@ -1484,65 +1484,10 @@
public Cursor<SearchResponse> search( SearchRequest searchRequest ) throws LdapException
{
SearchFuture searchFuture = searchAsync( searchRequest );
- int messageId = searchRequest.getMessageId();
-
- // Read the response, waiting for it if not available immediately
- try
- {
- long timeout = getTimeout( searchRequest.getTimeout() );
- SearchResponse searchResponse = null;
- List<SearchResponse> searchResponses = new ArrayList<SearchResponse>();
-
- // We may have more than one response, so loop on the queue
- do
- {
- searchResponse = ( SearchResponse ) searchFuture.get( timeout, TimeUnit.MILLISECONDS );
-
- // Check that we didn't get out because of a timeout
- if ( searchResponse == null )
- {
- // Send an abandon request
- abandon( messageId );
-
- // We didn't received anything : this is an error
- LOG.error( "Search failed : timeout occured" );
-
- // Remove the future from the map
- removeFromFutureMaps( messageId );
-
- throw new LdapException( TIME_OUT_ERROR );
- }
-
- if ( !( searchResponse instanceof SearchResultDone ) )
- {
- searchResponses.add( searchResponse );
- }
- }
- while ( !( searchResponse instanceof SearchResultDone ) );
-
- LOG.debug( "Search successful, {} elements found", searchResponses.size() );
- return new ListCursor<SearchResponse>( searchResponses );
- }
- catch ( InterruptedException ie )
- {
- LOG.error( OPERATION_CANCELLED, ie );
- throw new LdapException( OPERATION_CANCELLED, ie );
- }
- catch ( Exception e )
- {
- LOG.error( NO_RESPONSE_ERROR, e );
- LdapException ldapException = new LdapException( NO_RESPONSE_ERROR );
- ldapException.initCause( e );
-
- // Send an abandon request
- if ( !searchFuture.isCancelled() )
- {
- abandon( messageId );
- }
-
- throw ldapException;
- }
+ long timeout = getTimeout( searchRequest.getTimeout() );
+
+ return new SearchCursor( searchFuture, timeout, TimeUnit.MILLISECONDS );
}
Modified: directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java
URL: http://svn.apache.org/viewvc/directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java?rev=918051&r1=918050&r2=918051&view=diff
==============================================================================
--- directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java (original)
+++ directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java Tue Mar 2 14:25:41 2010
@@ -150,7 +150,6 @@
// Now do a simple synchronous search
Cursor<SearchResponse> results = connection.search( sr );
- results.beforeFirst();
int n = -1;
while ( results.next() )