Interface CaldavConnectorService


public interface CaldavConnectorService
  • Method Details

    • createCaldavSetting

      void createCaldavSetting(CaldavUserSetting caldavUserSetting, long userIdentityId) throws IllegalAccessException
      Creates a new caldav user setting
      Parameters:
      caldavUserSetting - CaldavUserSetting object to create
      userIdentityId - User identity creating the exchange user setting
      Throws:
      IllegalAccessException - when the user is not authorized to create caldav setting
      RuntimeException - the services' provider-missing refusal, when the account's registration names a credentials provider that is not installed; nothing is stored
    • connectCaldavSetting

      void connectCaldavSetting(CaldavUserSetting caldavUserSetting, long userIdentityId, String username) throws IllegalAccessException
      Connects a user's CalDAV account with the credentials they typed, at their own request: createCaldavSetting(CaldavUserSetting, long), refused to a user managed mode governs, whom the instance keeps on the designated server.
      Parameters:
      caldavUserSetting - the account to connect
      userIdentityId - identity of the user
      username - the user's login, which the managed-mode verdict is asked for
      Throws:
      IllegalAccessException - as createCaldavSetting(CaldavUserSetting, long) does, or a ManagedConnectionLockedException when managed mode governs the user or cannot tell whether it does
    • createProviderBackedSetting

      void createProviderBackedSetting(CaldavUserSetting caldavUserSetting, long userIdentityId) throws IllegalAccessException
      Records a connection whose credentials the platform produces: no password was typed and none is stored. The caller has verified that the configured provider asks the user for nothing.
      Parameters:
      caldavUserSetting - the account the provider named, with no password
      userIdentityId - identity of the connecting user
      Throws:
      IllegalAccessException - when no account is named
    • getCaldavSetting

      CaldavUserSetting getCaldavSetting(long userIdentityId)
      Retrieves caldav user setting by its technical user identity identifier.
      Parameters:
      userIdentityId - User identity getting the caldav user setting
      Returns:
      A CaldavUserSetting object
    • deleteCaldavSetting

      void deleteCaldavSetting(long userIdentityId)
      Deletes an caldav user setting
      Parameters:
      userIdentityId - User identity deleting his caldav user setting
    • deleteCaldavSetting

      void deleteCaldavSetting(long userIdentityId, String username)
      Disconnects a user's CalDAV account, and tidies what eXo built from it.

      Nothing on the server is touched. In eXo, a calendar eXo materialised from a collection of that account goes with the account — everything in it lives there and nothing in it was created here — while a calendar the user made in eXo and eXo pushed out stays, since the account was its destination and never its source.

      Parameters:
      userIdentityId - identity of the user
      username - the user's login, which agenda's ACL needs to remove a calendar on their behalf; without it only the settings are removed
    • disconnectCaldavSetting

      void disconnectCaldavSetting(long userIdentityId, String username) throws IllegalAccessException
      Disconnects a user's CalDAV account at their own request: deleteCaldavSetting(long, String), refused to a user managed mode governs. The platform's own disconnections call deleteCaldavSetting(long, String).
      Parameters:
      userIdentityId - identity of the user
      username - the user's login
      Throws:
      IllegalAccessException - a ManagedConnectionLockedException when managed mode governs the user or cannot tell whether it does
    • saveMirrorCalendarHref

      void saveMirrorCalendarHref(String mirrorCalendarHref, long userIdentityId)
      Saves the href of the mirror calendar of a user: the collection, on the connected CalDAV server, that receives the meetings pushed by eXo. The href — never the display name — identifies the collection, so renaming it from any CalDAV client does not orphan it.
      Parameters:
      mirrorCalendarHref - href of the mirror calendar collection
      userIdentityId - User identity saving his mirror calendar
      Throws:
      IllegalArgumentException - when the href is blank