Robert Hou created DIRAPI-178:
---------------------------------
Summary: 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)