The following example searches an organization using the search parameters set through the search.set... methods below. The results of the forward search are assigned to the vector vsearch and are printed along with the search parameters.
SmDmsContext dmsContext = new SmDmsContext();
SmDmsDirectory dmsDir = dmsContext.getDmsDirectory();
SmApiResult result = new SmApiResult();
SmDmsOrganization org = dmsDir.newOrganization (DIR_ROOT);
// Search
SmDmsOrganization test = org.newOrganization("");
SmDmsSearch search = new SmDmsSearch (
"(&(objectclass=organizationalUnit) (ou=groups))",
"o=swdev.com");
// Define search parameters
search.setScope(2); // Number of levels to search.
search.setNextItem(0); // Initialize forward search start
search.setMaxItems(20); // Max number of items to display
search.setPreviousItem(0); // Initialize back search start
search.setMaxResults(500); // Max items in the result set
result = test.search(search, 1);
Vector vsearch = search.getResults();
System.out.println("Search object vector size " + vsearch.size());
SmDmsSearchResultParams searchParams =
(SmDmsSearchResultParams)vsearch.firstElement();
System.out.println("***Search Parameters***");
System.out.println(searchParams.toString());
System.out.println("removed element at 0");
vsearch.removeElementAt(0);
System.out.println("Search object vector size " + vsearch.size());
for (int i=0; i<vsearch.size(); i++)
{
SmDmsObject dmsObj = (SmDmsObject)vsearch.elementAt(i);
System.out.println("***Search**** " + dmsObj);
printObject (dmsObj, result);
}
Hashtable attrs = dmsObj.getAttributes();
Enumeration keys = attrs.keys();
Enumeration values = attrs.elements();
while(values.hasMoreElements() )
The following code fragment configures sorting and paging features through an SmDmsCursor object and performs a search. The parameters for the SmDmsSearch object search would be defined in the same way as in the previous example:
Vector SortOrder = new Vector();
SortOrder.add("uid");
int blockSize = 20;
SmDmsCursor cursor=new SmDmsCursor(SortOrder,blockSize,false,true);
cursor.setOffset(15);
result = org.search(search, cursor, 1); //Forward search
System.out.println(keys.nextElement() + " = " +
values.nextElement() );
| Copyright © 2011 CA. All rights reserved. | Email CA Technologies about this topic |