Use the search method to find entries in the profile repositories
that match the search criteria.
Purpose
The search SPI searches the profile repository
to get the entities which matches the search expression.
A list of properties
that are returned from the search is included in the SearchControl in the
input data graph. A PageControl and, or, or both a SortControl can also be
included in the input data graph. SearchControl in the input data graph includes
the search expression string. The implementation class of the Repository API
needs to parse the XPath based search expression string.
Note: If an adapter
does not support sorting. The SortControl in the input data object is ignored.
The
method returns a data graph that includes all the entities that match the
search expression, if the paging function is not used. For paging function,
a PageResponseControl also needs to be included in the output data graph.
If the number of the entities are greater than the page size, a cookie has
to be returned from PageResponseControl so that it can be used in subsequent
calls. If the page size is set to 0 in a subsequent call for paging search,
it means the caller does not want the rest of the search results. The adapter
can perform a data clean up, such as purging the cache, if necessary.
Note: Virtual
member manager does not utilize the paging function of an underlying datastore.
The
uniqueName of a returned entity is the virtual member manager uniqueName,
which is not always the same as the unique name in the data store. The adapter
transfers the unique name of the data store to the virtual member manager
uniqueName according to the adapter's configuration information.
Parameters
- root
- Specifies the root data object containing the controls related to the
search.
Returns
The root data object containing the entities
matching the search expression.
Signature
DataObject search(DataObject root) throws
WIMException