[ 
https://issues.apache.org/jira/browse/DIRAPI-178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931477#comment-13931477
 ] 

Robert Hou commented on DIRAPI-178:
-----------------------------------

Sorry, before we use AD to do test for PS. As we know, AD don't support 
standant PS, it has another OID for PS control.
Then we tested currect four kinds of LDAP Server which all support standard PS, 
SunOne and RedHat can work, but IBM and Novell falied.

> How to use Apache Directory API to do persistent search
> -------------------------------------------------------
>
>                 Key: DIRAPI-178
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-178
>             Project: Directory Client API
>          Issue Type: Question
>    Affects Versions: 1.0.0-M20
>            Reporter: Robert Hou
>
> Persistent search in Directory Client API seems not work, the code I write as 
> below: I refer to the code under DIRSERVER-1908 to complete following code. 
> After the code run, it will print all the entries it searched, but the 
> printed entries are not changed entries. In the while block, I clear the list 
> of entries after first print, then I want to it print the entires I modified 
> later, but it doesn't print.
> @Test
>       public void testPsearchMove() throws Exception
>       {
>               LdapNetworkConnection connection = new LdapNetworkConnection(
>                               "192.168.80.223", 50001);
>               connection.bind("cn=robert,cn=roles,dc=tibco,dc=com", "robert");
> //            Entry newOu = new DefaultEntry("uid=persist, 
> ou=users,ou=system");
> //            newOu.add("objectClass", "inetOrgPerson");
> //            newOu.add("cn", "persist_cn");
> //            newOu.add("sn", "persist_sn");
> //            connection.add(newOu);
>               SearchRequest sr = new SearchRequestImpl();
>               sr.setBase(new Dn("dc=tibco,dc=com"));
>               sr.setFilter("(objectClass=inetorgperson)");
>               sr.setScope(SearchScope.SUBTREE);
>               sr.addControl(new PersistentSearchImpl());
>               final SearchCursor cursor = connection.search(sr);
>               final List<Entry> entryList = new ArrayList<Entry>();
>               Runnable r = new Runnable() {
>                       @Override
>                       public void run() {
>                               try {
>                                       while (cursor.next()) {
>                                               
> entryList.add(cursor.getEntry());
> //                                            
> System.out.println(cursor.getEntry());
>                                       }
>                               } catch (Exception e) {
>                                       throw new RuntimeException(e);
>                               }
>                       }
>               };
>               new Thread(r).start();
> //            connection.move(newOu.getDn(), 
> newOu.getDn().getParent().getParent());
>               while(true){
>                       Thread.sleep(1000);
>                       if(!entryList.isEmpty()){
>                               System.out.println(entryList);
>                               entryList.clear();
>                       }
>               }
>               
> //            assertFalse(entryList.isEmpty());
> //            assertEquals(1, entryList.size());
> //            assertEquals("uid=persist,ou=system", entryList.get(0).getDn()
> //                            .getName());
> //            connection.close();
>       }



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to