directory-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "George S." <geor...@mhsoftware.com>
Subject Re: LdapConnection.search() Help
Date Wed, 07 Mar 2018 00:03:57 GMT
I looked at 
LdapNetworkConnection.search(String,String,SearchScope,String...) and 
it's a wrapper around a call to search using a SearchRequest, and 
constructing a EntryCursorImpl from the SearchCursor.

There seems to be something wrong in EntryCursorImpl. If I change my 
code to use a SearchRequest, then I get results in a SearchCursor and I 
can iterate over them.

public  Collection<Response>search(String  base,String... attributeNames)throws  LdapException{

     if  (attributeNames.length ==0){
         attributeNames =new  String[]{  "distinguishedName","objectClass","name", prop.getProperty("emailAddress","mail")};
     }
     Collection<Response> entries =new  ArrayList<>();
     SearchRequest sr=new  SearchRequestImpl();
     sr.setBase(new  Dn(base));
     sr.setTimeLimit(Integer.MAX_VALUE);
     sr.setFilter("(objectclass=*)");
     sr.addAttributes(attributeNames);
     sr.setScope(SearchScope.ONELEVEL);
     sr.setDerefAliases(AliasDerefMode.DEREF_ALWAYS);

     SearchCursor cursor = lc.search(sr);
     // EntryCursor cursor=new EntryCursorImpl(scursor);

     if  (isDebugMode()){
         System.err.print("search(\""+base+"\"");
         for  (String  s : attributeNames){
             System.err.print(",\""+s+"\"");
         }
         System.err.println(");");
     }
     
     if  (true  || cursor.available()){
         for  (Response entry: cursor){
             entries.add(entry);
         }
     }  else  {
         if  (isDebugMode()){
             System.err.println("SearchResults came back null!");
         }
     }
     try  {
         cursor.close();
     }  catch  (IOException ioeClose){
         ioeClose.printStackTrace(System.err);
     }
     return  entries;
}


On 3/6/2018 4:27 PM, Emmanuel Lécharny wrote:
>
> Le 07/03/2018 à 00:08, George S. a écrit :
>> and, just to throw in another point, I've got some other code using the
>> Novell LDAP API library and it is able to do the query, and I can use
>> JXplorer to browse the tree.
>>
>> It's really looking like there's something wrong in the library.
> Sorry, I missed the point. Removed the 'if ( cursor.available() )', it
> should work.
>

-- 
George S.
*MH Software, Inc.*
Voice: 303 438 9585
http://www.mhsoftware.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message