Class ExchangeMailboxUtil

java.lang.Object
de.uplanet.lucy.server.businesslogic.exchange.util.impl.ExchangeMailboxUtil
All Implemented Interfaces:
IExchangeMailboxUtil

@Scriptable public class ExchangeMailboxUtil extends Object implements IExchangeMailboxUtil
Utility class for working with an Exchange user's mailbox.
  • Method Details

    • getInstance

      public static IExchangeMailboxUtil getInstance()
      Returns an instance initialized with a Exchange connection for the currently logged in user.
      Returns:
      the instance
    • getInstance

      public static IExchangeMailboxUtil getInstance(Connection p_conn)
      Returns an instance initialized with the given Exchange connection.
      Parameters:
      p_conn - the MS Exchange connection
      Returns:
      the instance
    • getUserAccount

      public ExchangeAccount getUserAccount(String p_strUserGuid) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns Exchange account properties for the given user.
      Specified by:
      getUserAccount in interface IExchangeMailboxUtil
      Parameters:
      p_strUserGuid - The GUID of the user.
      Returns:
      The Exchange account properties bean.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getUserAccount

      public ExchangeAccount getUserAccount(String p_strUserGuid, String p_strPortalGuid) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns Exchange account properties for the given user.
      Specified by:
      getUserAccount in interface IExchangeMailboxUtil
      Parameters:
      p_strUserGuid - The GUID of the user.
      p_strPortalGuid - The portal GUID.
      Returns:
      The Exchange account properties bean.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getImpersonateUserAccount

      public ExchangeAccount getImpersonateUserAccount(String p_strUserGuid) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns Exchange account properties for the given impersonate user.
      Specified by:
      getImpersonateUserAccount in interface IExchangeMailboxUtil
      Parameters:
      p_strUserGuid - The GUID of the user.
      Returns:
      The Exchange account properties bean.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getImpersonateUserAccount

      public ExchangeAccount getImpersonateUserAccount(String p_strUserGuid, String p_strPortalGuid) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns Exchange account properties for the given impersonate user.
      Specified by:
      getImpersonateUserAccount in interface IExchangeMailboxUtil
      Parameters:
      p_strUserGuid - The GUID of the user.
      p_strPortalGuid - The portal GUID.
      Returns:
      The Exchange account properties bean.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • resetUserAccount

      public void resetUserAccount(String p_strUserGuid) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Resets (deletes) the MediaGateway/Exchange user account for the given user guid in order to enforce the user to authenticate with Exchange again (helpful if Windows password has changed).
      Specified by:
      resetUserAccount in interface IExchangeMailboxUtil
      Parameters:
      p_strUserGuid - The user GUID.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
    • getSharedUsers

      public List<String> getSharedUsers() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns a list of currently shared users mailbox names.
      Specified by:
      getSharedUsers in interface IExchangeMailboxUtil
      Returns:
      A list of currently shared users.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getCalendarFolderName

      public String getCalendarFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getCalendarFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getCalendarFolderHref

      public String getCalendarFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getCalendarFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getContactsFolderName

      public String getContactsFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getContactsFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getContactsFolderHref

      public String getContactsFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getContactsFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getDeletedItemsFolderName

      public String getDeletedItemsFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getDeletedItemsFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getDeletedItemsFolderHref

      public String getDeletedItemsFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getDeletedItemsFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getDraftsFolderName

      public String getDraftsFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getDraftsFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getDraftsFolderHref

      public String getDraftsFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getDraftsFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getInboxFolderName

      public String getInboxFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getInboxFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getInboxFolderHref

      public String getInboxFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getInboxFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getJournalFolderName

      public String getJournalFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getJournalFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getJournalFolderHref

      public String getJournalFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getJournalFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getOutboxFolderName

      public String getOutboxFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getOutboxFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getOutboxFolderHref

      public String getOutboxFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getOutboxFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getSentItemsFolderName

      public String getSentItemsFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getSentItemsFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getSentItemsFolderHref

      public String getSentItemsFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getSentItemsFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getTasksFolderName

      public String getTasksFolderName(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the language dependent folder name.
      Specified by:
      getTasksFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder name.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getTasksFolderHref

      public String getTasksFolderHref(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the folder HREF value.
      Specified by:
      getTasksFolderHref in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The folder HREF value.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getRootFolderID

      public String getRootFolderID(String p_strUserMailbox) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the ID (formerly ParentName) of the Exchange 2010 store root folder.
      Specified by:
      getRootFolderID in interface IExchangeMailboxUtil
      Parameters:
      p_strUserMailbox - The name of the user mailbox or null for the current user.
      Returns:
      The ID (formerly ParentName) of the Exchange 2010 store root folder.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
    • isOutOfOfficeEnabled

      public boolean isOutOfOfficeEnabled() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the out of office status.
      Specified by:
      isOutOfOfficeEnabled in interface IExchangeMailboxUtil
      Returns:
      True if out of office is enabled.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getOutOfOfficeMessage

      public String getOutOfOfficeMessage() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the out of office message.
      Specified by:
      getOutOfOfficeMessage in interface IExchangeMailboxUtil
      Returns:
      The out of office message.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • setOutOfOffice

      public void setOutOfOffice(boolean p_bOutOfOffice) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Sets the out of office status.
      Specified by:
      setOutOfOffice in interface IExchangeMailboxUtil
      Parameters:
      p_bOutOfOffice - True to enable out of office message.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • setOutOfOfficeMessage

      public void setOutOfOfficeMessage(String p_strMessage) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Sets both the internal and the external out of office message. This method is only applicable for MS Exchange Server 2003-2007.
      Specified by:
      setOutOfOfficeMessage in interface IExchangeMailboxUtil
      Parameters:
      p_strMessage - The out of office message.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • setOutOfOfficeMessage

      public void setOutOfOfficeMessage(String p_strMessage, Date p_dateStart, Date p_dateEnd) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Sets both the internal and the external out of office message. This method is only applicable for MS Exchange Server 2010.
      Specified by:
      setOutOfOfficeMessage in interface IExchangeMailboxUtil
      Parameters:
      p_strMessage - The out of office message.
      p_dateStart - Defines the start of the Out Of Office period.
      p_dateEnd - Defines the end of the Out Of Office period.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
    • getFolders

      public List<IFolderInfo> getFolders() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns a list of IFolderInfo instances for all folders.
      Specified by:
      getFolders in interface IExchangeMailboxUtil
      Returns:
      A list of IFolderInfo instances for all folders.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getFolderInfoById

      public IFolderInfo getFolderInfoById(String p_strFolderId) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns an ExchangeFolderInfo instance with the folder properties.
      Specified by:
      getFolderInfoById in interface IExchangeMailboxUtil
      Parameters:
      p_strFolderId - The ID to identify the folder.
      Returns:
      A IFolderInfo instance with the folder properties or null if no folder exists for the given ID.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getFolderInfoByHref

      public IFolderInfo getFolderInfoByHref(String p_strFolderHref) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns an ExchangeFolderInfo instance with the folder properties.
      Specified by:
      getFolderInfoByHref in interface IExchangeMailboxUtil
      Parameters:
      p_strFolderHref - The HREF of the folder.
      Returns:
      A IFolderInfo instance with the folder properties or null if no folder exists for the given HREF.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • getCanonicalPath

      public String getCanonicalPath(String p_strFolderId) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Returns the canonical path of the folder with the given folder ID.
      Specified by:
      getCanonicalPath in interface IExchangeMailboxUtil
      Parameters:
      p_strFolderId - The folder ID.
      Returns:
      The canonical path of the folder with the given folder ID.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • updateFolderName

      public String updateFolderName(String p_strFolderId, String p_strFolderName) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Updates the name of a folder identified by the given folder ID.
      Specified by:
      updateFolderName in interface IExchangeMailboxUtil
      Parameters:
      p_strFolderId - The folder ID.
      p_strFolderName - The new folder name.
      Returns:
      The new HREF of the folder.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • createFolder

      public String createFolder(String p_strParentHref, String p_strFolderName, String p_strContentClass) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Creates a new folder. The display name can be an arbitrary string. The HREF and parent HREF parameters must include the canonical path to the folder. Consider the following structure:

      + Folder1
      ++ Folder2
      +++ MyNewFolder

      To create 'MyNewFolder' beneath 'Folder2' the following values are required:

      Folder name: MyNewFolder
      Parent HREF: /Folder1/Folder2/
      Specified by:
      createFolder in interface IExchangeMailboxUtil
      Parameters:
      p_strParentHref - The HREF of the parent folder (required).
      p_strFolderName - The name of the folder (required).
      p_strContentClass - The content class of the folder (default is urn:content-classes:mailfolder).
      Returns:
      The ID of the new folder.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • deleteFolder

      public boolean deleteFolder(String p_strId, boolean p_bPurgeFolder) throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Deletes a folder identified by ID.
      Specified by:
      deleteFolder in interface IExchangeMailboxUtil
      Parameters:
      p_strId - The ID of the folder.
      p_bPurgeFolder - If true, the folder will be removed from deleted items folder as well.
      Returns:
      True if folder was deleted.
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • purgeDeletedItemsFolder

      public void purgeDeletedItemsFolder() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Deletes all items in the deleted items folder.
      Specified by:
      purgeDeletedItemsFolder in interface IExchangeMailboxUtil
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • releaseSharedUsers

      public void releaseSharedUsers() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Release shared users table.
      Specified by:
      releaseSharedUsers in interface IExchangeMailboxUtil
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.
    • refreshSharedUsers

      public void refreshSharedUsers() throws de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException
      Description copied from interface: IExchangeMailboxUtil
      Refresh shared users table (only applicable for MS Exchange Server 2010).
      Specified by:
      refreshSharedUsers in interface IExchangeMailboxUtil
      Throws:
      de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtilException - If operation failed.