Class AbstractDirImpl

java.lang.Object
org.bedework.calsvc.directory.AbstractDirImpl
All Implemented Interfaces:
Serializable, org.bedework.calfacade.ifs.Directories, org.bedework.util.logging.Logged
Direct Known Subclasses:
AdminGroupsDbImpl, CardDAVDirImpl, GroupsDbImpl, UserGroupsLdapImpl

public abstract class AbstractDirImpl extends Object implements org.bedework.util.logging.Logged, org.bedework.calfacade.ifs.Directories
A base implementation of Directories which handles some generic directory methods.

One of those is to map an apparently flat identifier space onto a principal hierarchy more appropriate to the needs of webdav. For example we might have a user account "jim" or a ticket "TKT12345". These could be mapped on to "/principals/users/jim" and "/principals/tickets/12345".

Version:
1.0
Author:
Mike Douglass douglm rpi.edu
See Also:
  • Field Details

    • SC_MULTI_STATUS

      public static final int SC_MULTI_STATUS
      See Also:
    • cb

      protected org.bedework.calfacade.ifs.Directories.CallBack cb
    • userToCalAddrMap

      protected static Map<String,String> userToCalAddrMap
    • calAddrToPrincipalMap

      protected static Map<String,org.bedework.calfacade.BwPrincipal<?>> calAddrToPrincipalMap
  • Constructor Details

    • AbstractDirImpl

      public AbstractDirImpl()
  • Method Details

    • init

      public void init(org.bedework.calfacade.ifs.Directories.CallBack cb, org.bedework.calfacade.configs.Configurations configs)
      Specified by:
      init in interface org.bedework.calfacade.ifs.Directories
    • getDirectoryInfo

      public org.bedework.calfacade.DirectoryInfo getDirectoryInfo()
      Specified by:
      getDirectoryInfo in interface org.bedework.calfacade.ifs.Directories
    • validPrincipal

      public boolean validPrincipal(String href)
      Specified by:
      validPrincipal in interface org.bedework.calfacade.ifs.Directories
    • getDirInfo

      public org.bedework.calfacade.BwPrincipalInfo getDirInfo(org.bedework.calfacade.BwPrincipal<?> p)
      Specified by:
      getDirInfo in interface org.bedework.calfacade.ifs.Directories
    • find

      public org.bedework.calfacade.ifs.Directories.FindPrincipalsResult find(List<org.bedework.webdav.servlet.shared.WebdavProperty> props, List<org.bedework.webdav.servlet.shared.WebdavProperty> returnProps, String cutype)
      Specified by:
      find in interface org.bedework.calfacade.ifs.Directories
    • find

      public org.bedework.calfacade.ifs.Directories.FindPrincipalsResult find(String cua, String cutype, boolean expand)
      Specified by:
      find in interface org.bedework.calfacade.ifs.Directories
    • mergePreferences

      public boolean mergePreferences(org.bedework.calfacade.svc.BwPreferences prefs, org.bedework.calfacade.BwPrincipalInfo pinfo)
      Specified by:
      mergePreferences in interface org.bedework.calfacade.ifs.Directories
    • isPrincipal

      public boolean isPrincipal(String val)
      Specified by:
      isPrincipal in interface org.bedework.calfacade.ifs.Directories
    • accountFromPrincipal

      public String accountFromPrincipal(String val)
      Specified by:
      accountFromPrincipal in interface org.bedework.calfacade.ifs.Directories
    • getPrincipal

      public org.bedework.calfacade.BwPrincipal<?> getPrincipal(String href)
      Specified by:
      getPrincipal in interface org.bedework.calfacade.ifs.Directories
    • makePrincipalUri

      public String makePrincipalUri(String id, int whoType)
      Specified by:
      makePrincipalUri in interface org.bedework.calfacade.ifs.Directories
    • getGroups

      public Collection<String> getGroups(String rootUrl, String principalUrl)
      Specified by:
      getGroups in interface org.bedework.calfacade.ifs.Directories
    • uriToCaladdr

      public String uriToCaladdr(String val)
      Specified by:
      uriToCaladdr in interface org.bedework.calfacade.ifs.Directories
    • principalToCaladdr

      public String principalToCaladdr(org.bedework.access.AccessPrincipal val)
      Specified by:
      principalToCaladdr in interface org.bedework.calfacade.ifs.Directories
    • userToCaladdr

      public String userToCaladdr(String val)
      Specified by:
      userToCaladdr in interface org.bedework.calfacade.ifs.Directories
    • caladdrToPrincipal

      public org.bedework.calfacade.BwPrincipal<?> caladdrToPrincipal(String caladdr)
      Specified by:
      caladdrToPrincipal in interface org.bedework.calfacade.ifs.Directories
    • normalizeCua

      public String normalizeCua(String val)
      Specified by:
      normalizeCua in interface org.bedework.calfacade.ifs.Directories
    • getDefaultDomain

      public String getDefaultDomain()
      Specified by:
      getDefaultDomain in interface org.bedework.calfacade.ifs.Directories
    • getAdminGroupsIdPrefix

      public String getAdminGroupsIdPrefix()
      Specified by:
      getAdminGroupsIdPrefix in interface org.bedework.calfacade.ifs.Directories
    • lookupValidPrincipal

      protected boolean lookupValidPrincipal(String href)
      See if the given principal href is in our table. Allows us to short circuit the validation process.
      Parameters:
      href -
      Returns:
      true if we know about this one.
    • addValidPrincipal

      protected void addValidPrincipal(String href)
      Add a principal we have validated.
      Parameters:
      href - principal href
    • getProps

      protected org.bedework.calfacade.configs.DirConfigProperties getProps()
    • getCaPrefixes

      protected org.bedework.calfacade.configs.CalAddrPrefixes getCaPrefixes()
    • getCaPrefixInfo

      protected Collection<AbstractDirImpl.CAPrefixInfo> getCaPrefixInfo()
    • getCardDavInfo

      protected org.bedework.calfacade.configs.CardDavInfo getCardDavInfo(boolean auth)
    • getLogger

      public org.bedework.util.logging.BwLogger getLogger()
      Specified by:
      getLogger in interface org.bedework.util.logging.Logged