Class PeopleSearchProvider

All Implemented Interfaces:
IPageFlowScopeAdapter, IAddressableTableContentProvider, IContentProvider, IRefreshable, IRefreshableContentProvider, IReorderableTableContentProvider, ISelectableTableContentProvider, ISortableTableContentProvider, ITableContentProvider, IUpdateableContentProvider, IUpdateableTableContentProvider, Serializable

public class PeopleSearchProvider extends SelectableListTableContentProvider
Search Provider for searching on users/groups/roles principles The provider extends a list Table content provider.
Since:
8.0
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • getSearchQuery

      public ISearchQuery getSearchQuery()
      Initialize and cache the search query from the default search query factory.
      Returns:
      The SearchQuery object for the SearchBar control.
      See Also:
    • setSearchQuery

      public void setSearchQuery(ISearchQuery searchQuery)
      Manually set the search query. Overwrites the cached value.
      Parameters:
      searchQuery - The searchQuery to set
    • 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()
      Get the maximum number of results allowed in the search results.
      Returns:
      the maxResults
    • 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 principal 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 principal type to search for.
      Parameters:
      searchType - The searchType is null, IDirConstants.TYPE_USER, IDirConstants.TYPE_ROLE, or IDirConstants.TYPE_GROUP.
    • setExcludePrincipalsList

      public void setExcludePrincipalsList(List<IPrincipalProvider> excludePrincipalsList)
      Set the list of principals 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:
    • setSort

      public void setSort(ISortInfo sort)
      Set the sort information for this provider. If it has changed then refresh the list of search results.
      Specified by:
      setSort in interface ISortableTableContentProvider
      Overrides:
      setSort in class ListTableContentProvider
      Parameters:
      sort - The table sort information.
      See Also:
    • 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. Otherwise false.
      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. Otherwise false.
      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:
    • lookupUsersOrGroups

      protected List<IPrincipalProvider> lookupUsersOrGroups(ISearchQuery searchQuery, int maxResults, IContext portalContext, String sortBy, boolean isAscending) throws PortalException
      Throws:
      PortalException
    • lookupRoles

      protected List<IPrincipalProvider> lookupRoles(ISearchQuery searchQuery, int maxResults, IContext portalContext, String sortBy, boolean isAscending) throws PortalException, BizException
      Throws:
      PortalException
      BizException
    • filterPrincipalByAttribute

      protected boolean filterPrincipalByAttribute(IDirPrincipal dirPrincipal, PrincipalAttributeValueSource papValueSrc, List<Pattern> attribFilterRegexList) throws PortalException
      Filter the principal by its attributes. Use the principal URI and attribute name to obtain the attribute value. The value is then compared against the list of regex patterns to find a match. The principal attribute value source must contain a valid attribute name. If the principal attribute value source contains a valid provider URI then the directory principal is ignored. Otherwise the directory principal is used as a source for the provider URI.
      Parameters:
      dirPrincipal -
      papValueSrc - The value source
      attribFilterRegexList - The regex list to filter the attribute value.
      Returns:
      True if the one of the regex patterns is a match to the attribute value. False otherwise.
      Throws:
      PortalException
    • 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.