com.webmethods.caf.faces.data.dir
Class DirectorySearchProvider

java.lang.Object
  extended by com.webmethods.caf.faces.bean.PageFlowScopeAdapter
      extended by com.webmethods.caf.faces.data.object.ListTableContentProvider
          extended by com.webmethods.caf.faces.data.object.SelectableListTableContentProvider
              extended by com.webmethods.caf.faces.data.dir.DirectorySearchProvider
All Implemented Interfaces:
IPageFlowScopeAdapter, IAddressableTableContentProvider, IContentProvider, IRefreshable, IRefreshableContentProvider, IReorderableTableContentProvider, ISelectableTableContentProvider, ISortableTableContentProvider, ITableContentProvider, IUpdateableContentProvider, IUpdateableTableContentProvider, Serializable

public class DirectorySearchProvider
extends SelectableListTableContentProvider

Directory Search Provider for searching on users/groups/roles principles. The provider extends a list Table content provider.

Since:
7.0
See Also:
Serialized Form

Nested Class Summary
 class DirectorySearchProvider.DirectoryPagingIterator
          Paging iterator from directory service.
protected  class DirectorySearchProvider.PrincipalSortComparator
          comparator that simply reverses the result of a standard compare (for descending key sorts)
protected  class DirectorySearchProvider.SortEntry
          Sort utility class.
 
Nested classes/interfaces inherited from class com.webmethods.caf.faces.data.object.SelectableListTableContentProvider
SelectableListTableContentProvider.Row, SelectableListTableContentProvider.RowComparator
 
Field Summary
protected  String fDirService
           
protected  List fExcludePrincipalsList
           
protected  Integer fMaxResults
           
protected  String fQueryString
           
protected  Integer fSearchType
           
 
Fields inherited from class com.webmethods.caf.faces.data.object.SelectableListTableContentProvider
m_autoIdCounter, m_map, m_originalList, m_selectableHelper
 
Fields inherited from class com.webmethods.caf.faces.data.object.ListTableContentProvider
m_array, m_canTemplateRow, m_index, m_list, m_onCreateRow, m_onDeleteRow, m_rowId, m_rowType, m_sort, m_templateRow, m_var
 
Fields inherited from class com.webmethods.caf.faces.bean.PageFlowScopeAdapter
fExpireWithPageFlow
 
Constructor Summary
DirectorySearchProvider()
          Default constructor that sets the row variable and row Id binding for the selectable list table content provider parent class.
 
Method Summary
protected  int getAsInt(Object o, int defaultValue)
          Get an integer for the object or use the default value.
protected  String getAsString(Object o, String defaultValue)
          Get a String for the object or use the default value.
protected  IThingIDList getDirectoryServices()
          Get the directory services from the portal system.
 String getDirService()
          Get the directory service for the search query.
 Integer getMaxResults()
          Set the directory service in the search query.
 String getQueryString()
          Deprecated. Use field on fSearchQuery instead
 Integer getSearchType()
          Get the search type to search for.
static String getSortValue(Object obj, String propertyExpression)
          Get the value of the property used to sort the principal.
protected  boolean isPrincipleExcluded(IDirPrincipal principal)
          Is the directory principal in the list of excluded principals.
protected  boolean isPrincipleExcluded(IURI principalURI)
          Is the principal URI in the list of excluded principals.
 void refresh()
          Refresh the list of search results.
 void setDirService(String dirService)
          Set the directory service in the search query.
 void setExcludePrincipalsList(List excludePrincipalsList)
          Set the list of principal to exclude.
 void setMaxResults(Integer maxResults)
          Deprecated. Use field on fSearchQuery instead.
 void setQueryString(String queryString)
          Deprecated. use field on fSearchQuery instead
 void setSearchType(Integer searchType)
          Set the search type to IDirConstants.TYPE_USER, IDirConstants.TYPE_ROLE, or IDirConstants.TYPE_GROUP.
 void setSort(ISortInfo sort)
          Set the sort information for this provider.
protected  void sort()
          Sort is handled by the refresh method.
 
Methods inherited from class com.webmethods.caf.faces.data.object.SelectableListTableContentProvider
createRow, deleteRow, getCurrentRow, getList, getNeedRefresh, getRowId, getRowSelectedCount, getRowSelectedIds, getRowUnselectedIds, getSelectedRows, getUseUnselectedModel, isAddressable, isAutoRefresh, isRowSelected, moveTo, setAutoRefresh, setCurrentRow, setList, setNeedRefresh, setRowById, setRowSelected, setRowSelectedIds, setRowUnselectedIds, setRowVariable, setTemplateRow, supportsAutoRefresh, updateOriginalList
 
Methods inherited from class com.webmethods.caf.faces.data.object.ListTableContentProvider
calculateRowId, calculateRowId, getArray, getCanTemplateRow, getOnCreateRow, getOnDeleteRow, getPropertyKeys, getRowCount, getRowIdBinding, getRowIndex, getRowType, getRowVariable, getSort, getType, getValue, hasProperty, isReadOnly, isReorderable, isRowAvailable, isTemplateRow, newRow, setArray, setCanTemplateRow, setOnCreateRow, setOnDeleteRow, setRowId, setRowIdBinding, setRowIndex, setRowType, setValue, toString
 
Methods inherited from class com.webmethods.caf.faces.bean.PageFlowScopeAdapter
getExpireWithPageFlow, setExpireWithPageFlow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.webmethods.caf.faces.data.ITableContentProvider
getRowCount, getRowIndex, getRowVariable, isRowAvailable, setRowIndex
 
Methods inherited from interface com.webmethods.caf.faces.data.IContentProvider
getPropertyKeys, getType, getValue, hasProperty, toString
 

Field Detail

fMaxResults

protected Integer fMaxResults

fSearchType

protected Integer fSearchType

fDirService

protected String fDirService

fQueryString

protected String fQueryString

fExcludePrincipalsList

protected List fExcludePrincipalsList
Constructor Detail

DirectorySearchProvider

public DirectorySearchProvider()
Default constructor that sets the row variable and row Id binding for the selectable list table content provider parent class. The row variable is set to "row". The row Id binding is set to the value binding for #{row.principalURI}".

See Also:
SelectableListTableContentProvider.setRowVariable(String), ListTableContentProvider.setRowIdBinding(ValueBinding)
Method Detail

getDirService

public String getDirService()
Get the directory service for the search query.

Returns:
The dirService.

setDirService

public void setDirService(String dirService)
Set the directory service in the search query.

Parameters:
dirService - The dirService to set.

getMaxResults

public Integer getMaxResults()
Set the directory service in the search query.

Parameters:
dirService - The dirService to set.

setMaxResults

public void setMaxResults(Integer maxResults)
Deprecated. Use field on fSearchQuery instead.

Set the maximum number of results allowed in the search results.

Parameters:
maxResults - The maxResults to set.

getQueryString

public String getQueryString()
Deprecated. Use field on fSearchQuery instead

Gets the raw value of the query string.

Returns:
the queryString

setQueryString

public void setQueryString(String queryString)
Deprecated. use field on fSearchQuery instead

Set the raw value of the query string.

Parameters:
queryString - the queryString to set

getSearchType

public Integer getSearchType()
Get the search type to search for.

Returns:
The searchType is -1 (null), IDirConstants.TYPE_USER, IDirConstants.TYPE_ROLE, or IDirConstants.TYPE_GROUP.

setSearchType

public void setSearchType(Integer searchType)
Set the search type to IDirConstants.TYPE_USER, IDirConstants.TYPE_ROLE, or IDirConstants.TYPE_GROUP.

Parameters:
searchType - The search type to set.

setExcludePrincipalsList

public void setExcludePrincipalsList(List excludePrincipalsList)
Set the list of principal to exclude.

Parameters:
excludePrincipalsList - the excludePrincipalsList to set

sort

protected void sort()
Sort is handled by the refresh method.

Overrides:
sort in class SelectableListTableContentProvider
See Also:
ListTableContentProvider.setSort(ISortInfo)

setSort

public void setSort(ISortInfo sort)
Set the sort information for this provider. If it has changed then refresh the table.

Specified by:
setSort in interface ISortableTableContentProvider
Overrides:
setSort in class ListTableContentProvider
Parameters:
sort - The table sort information.
See Also:
ListTableContentProvider.setSort(com.webmethods.caf.faces.data.ISortInfo)

isPrincipleExcluded

protected boolean isPrincipleExcluded(IURI principalURI)
                               throws PortalException
Is the principal URI in the list of excluded principals.

Parameters:
principalURI - The principal URI to check.
Returns:
True if in the list excluded principal list.
Throws:
PortalException

isPrincipleExcluded

protected boolean isPrincipleExcluded(IDirPrincipal principal)
                               throws PortalException
Is the directory principal in the list of excluded principals.

Parameters:
principal - The directory principal to check.
Returns:
True if in the list excluded principal list.
Throws:
PortalException

refresh

public void refresh()
Refresh the list of search results.

Specified by:
refresh in interface IRefreshable
Overrides:
refresh in class SelectableListTableContentProvider
See Also:
SelectableListTableContentProvider.refresh()

getSortValue

public static String getSortValue(Object obj,
                                  String propertyExpression)
Get the value of the property used to sort the principal.

Parameters:
obj - The target to evaluate.
propertyExpression - The value expression (ie '{name}').

getAsString

protected String getAsString(Object o,
                             String defaultValue)
Get a String for the object or use the default value. If the object is not null then get the to string value.

Parameters:
o -
defaultValue - The value to return if o is null.
Returns:
The parsed or default value.

getAsInt

protected int getAsInt(Object o,
                       int defaultValue)
Get an integer for the object or use the default value. If the object is a Sting or Integer try to convert the object to an int.

Parameters:
o -
defaultValue - The value to return if o is not a String or Integer.
Returns:
The parsed or default value.

getDirectoryServices

protected IThingIDList getDirectoryServices()
                                     throws PortalException
Get the directory services from the portal system.

Returns:
The directory services.
Throws:
PortalException