com.ibm.itim.dataservices.model.domain
Class BusinessUnitSearch

java.lang.Object
  extended by com.ibm.itim.dataservices.model.domain.BusinessUnitSearch

public class BusinessUnitSearch
extends java.lang.Object

Class that provides an interface for searching for business units. This interface is supplied to clients so that they can search in a more direct manner without having to traverse data model relationships to retrieve business units.

See Also:
BusinessUnitEntity

Constructor Summary
BusinessUnitSearch()
          Default constructor.
 
Method Summary
 BusinessUnitEntity lookup(DistinguishedName dn)
          Retrieves the business unit from the data store with the given distinguished name.
 SearchResults searchByFilter(CompoundDN searchContext, java.lang.String profileName, java.lang.String filter, SearchParameters params)
          Searches for business units that meet the criteria defined within the given filter.
 SearchResults searchByFilter(CompoundDN searchContext, java.lang.String profileName, java.lang.String filter, SearchParameters params, javax.naming.ldap.InitialLdapContext ldapContext)
          Searches for business units that meet the criteria defined within the given filter.
 SearchResults searchByFilter(OrganizationalContainerEntity searchContext, java.lang.String profileName, java.lang.String filter, SearchParameters params)
          Searches for business units that meet the criteria defined within the given filter.
 BusinessUnitEntity searchByURI(OrganizationalContainerEntity searchContext, java.lang.String uri)
          Find the account for a specific URI.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BusinessUnitSearch

public BusinessUnitSearch()
Default constructor.

Method Detail

lookup

public BusinessUnitEntity lookup(DistinguishedName dn)
                          throws ModelCommunicationException,
                                 ObjectNotFoundException
Retrieves the business unit from the data store with the given distinguished name.

Parameters:
dn - DistinguishedName of the business unit.
Returns:
BusinessUnitEntity with the corresponding distinguished name.
Throws:
ModelCommunicationException - Thrown if unable to communicate with the data store.
ObjectNotFoundException - Thrown if unable to locate the entity in the data store. This may be due to an invalid distinguished name, or the entity may have been removed by another client.

searchByFilter

public SearchResults searchByFilter(OrganizationalContainerEntity searchContext,
                                    java.lang.String profileName,
                                    java.lang.String filter,
                                    SearchParameters params)
                             throws ModelCommunicationException,
                                    ObjectNotFoundException
Searches for business units that meet the criteria defined within the given filter. This search is performed as a raw search against the data store without any semantic mapping.

Parameters:
searchContext - OrganizationalContainerEntity which is to be used as the base context to search from.
profileName - Name of the ObjectProfile that defines the type of business unit (i.e., Location, Organizational Unit) to search for. If empty string passed, business units of all types will be returned.
filter - Filter that defines the criteria for returned business units to meet. The filter must be in the format defined by RFC2254.
params - SearchParameters that provide additional context for how the search should be performed. If the search scope is ONELEVEL_SCOPE, the search is limited only to the business units belong to the given parent (searchContext.last()). Otherwise, the whole organizational logical subtree will be searched.
Returns:
SearchResults holding BusinessUnitEntities for all business units that meet the search criteria.
Throws:
ModelCommunicationException - Thrown if unable to communicate with the data store.
ObjectNotFoundException - Thrown if unable to locate the container specified in the searchContext. This may be due to the container being removed by another client.

searchByFilter

public SearchResults searchByFilter(CompoundDN searchContext,
                                    java.lang.String profileName,
                                    java.lang.String filter,
                                    SearchParameters params)
                             throws ModelCommunicationException,
                                    ObjectNotFoundException
Searches for business units that meet the criteria defined within the given filter. This search is performed as a raw search against the data store without any semantic mapping.

Parameters:
searchContext - CompoundDN that defines the base of the search. At least one (1) element and at most three (3) are expected:
  • searchContext.elements[0] must contain the tenant DN
  • searchContext.elements[1] may contain the organization DN
  • searchContext.elements[2] may contain the parent DN (optional)
An element cannot be skipped. For example, you can not pass the parent DN without passing the organization DN.
profileName - Name of the ObjectProfile that defines the type of business unit (i.e., Location, Organizational Unit) to search for. If empty string passed, business units of all types will be returned.
filter - Filter that defines the criteria for returned business units to meet. The filter must be in the format defined by RFC2254.
params - SearchParameters that provide additional context for how the search should be performed. If the search scope is ONELEVEL_SCOPE, the search is limited only to the business units belong to the given parent (searchContext.last()). Otherwise, the whole organizational logical subtree will be searched.
Returns:
SearchResults holding BusinessUnitEntities for all business units that meet the search criteria.
Throws:
ModelCommunicationException - Thrown if unable to communicate with the data store.
ObjectNotFoundException - Thrown if unable to locate the container specified in the searchContext. This may be due to the container being removed by another client.

searchByFilter

public SearchResults searchByFilter(CompoundDN searchContext,
                                    java.lang.String profileName,
                                    java.lang.String filter,
                                    SearchParameters params,
                                    javax.naming.ldap.InitialLdapContext ldapContext)
                             throws ModelCommunicationException,
                                    ObjectNotFoundException
Searches for business units that meet the criteria defined within the given filter. This search is performed as a raw search against the data store without any semantic mapping.

Parameters:
searchContext - CompoundDN that defines the base of the search. At least one (1) element and at most three (3) are expected:
  • searchContext.elements[0] must contain the tenant DN
  • searchContext.elements[1] may contain the organization DN
  • searchContext.elements[2] may contain the parent DN (optional)
An element cannot be skipped. For example, you can not pass the parent DN without passing the organization DN.
profileName - Name of the ObjectProfile that defines the type of business unit (i.e., Location, Organizational Unit) to search for. If empty string passed, business units of all types will be returned.
filter - Filter that defines the criteria for returned business units to meet. The filter must be in the format defined by RFC2254.
params - SearchParameters that provide additional context for how the search should be performed. If the search scope is ONELEVEL_SCOPE, the search is limited only to the business units belong to the given parent (searchContext.last()). Otherwise, the whole organizational logical subtree will be searched.
ldapContext - The JNDI context on which the search will be issued. Note: the SearchResults will hold a reference to this JNDI context.
Returns:
SearchResults(PagedResults) object having factory object of BusinessUnitObjectFactory.
Throws:
ModelCommunicationException - Thrown if unable to communicate with the data store.
ObjectNotFoundException - Thrown if unable to locate the container specified in the searchContext. This may be due to the container being removed by another client.

searchByURI

public BusinessUnitEntity searchByURI(OrganizationalContainerEntity searchContext,
                                      java.lang.String uri)
                               throws ModelCommunicationException,
                                      URINotUniqueException,
                                      ObjectNotFoundException
Find the account for a specific URI.

Parameters:
searchContext - OrganizationalContainerEntity which is to be used as the base context to search from.
uri - URI of the account.
Returns:
AccountEntity with the corresponding URI.
Throws:
ModelCommunicationException - Thrown if unable to communicate with the data store.
URINotUniqueException - Thrown if more than one object is found for the URI under the specified search context.
ObjectNotFoundException - Thrown if unable to locate the account or the search context in the data store. This may be due to an invalid distinguished name, or the entity may have been removed by another client.


IBM Security Identity Manager 6.0.0
© Copyright International Business Machines Corporation 2007, 2012. All rights reserved. US Government Users Restricited Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.