Class MailUtil


  • @Scriptable
    public final class MailUtil
    extends Object
    • Method Detail

      • isMailServiceEnabled

        public static boolean isMailServiceEnabled()
        Test if the mail service is enabled.
        Returns:
        true if the mail service is enabled, or false otherwise.
      • getDefaultSenderAddress

        @Deprecated
        public static String getDefaultSenderAddress()
                                              throws de.uplanet.lucy.mail.SendMailConfigurationException
        Deprecated.
        Get the email address of the default sender configured for the portal.
        Returns:
        The default sender address.
        Throws:
        de.uplanet.lucy.server.mail.MailServiceNotAvailableException - If the mail service is not available.
        de.uplanet.lucy.mail.SendMailConfigurationException - If the mail configuration could not be loaded.
      • getDefaultSenderInternetAddress

        public static javax.mail.internet.InternetAddress getDefaultSenderInternetAddress()
                                                                                   throws de.uplanet.lucy.mail.SendMailConfigurationException,
                                                                                          javax.mail.internet.AddressException
        Get the email address of the default sender configured for the portal.
        Returns:
        The default sender address, or null if none is configured.
        Throws:
        de.uplanet.lucy.server.mail.MailServiceNotAvailableException - If the mail service is not available.
        de.uplanet.lucy.mail.SendMailConfigurationException - If the mail configuration could not be loaded.
        javax.mail.internet.AddressException - If the configured email address is invalid.
      • isDistributionList

        public static boolean isDistributionList​(String p_strList)
        Check if the given string represents a ||-separated distribution list.
        Parameters:
        p_strList - The string to be checked.
        Returns:
        true if the given string represents a ||-separated distribution list, or false otherwise.
      • getUserMailBizFromDistributionList

        public static List<String> getUserMailBizFromDistributionList​(de.uplanet.jdbc.JdbcConnection p_conn,
                                                                      String p_strList)
                                                               throws SQLException
        Parse a pipe-separated list of org structure GUIDs and get the user mail addresses determined by it.

        Deactivated users are excluded from the result.

        Parameters:
        p_conn - The database connection to be used.
        p_strList - A list of org structure GUIDs.
        Throws:
        SQLException - If a database error occurred.
        See Also:
        getUserMailBizFromDistributionList(JdbcConnection, String, boolean)
      • getUserMailBizFromDistributionList

        public static List<String> getUserMailBizFromDistributionList​(de.uplanet.jdbc.JdbcConnection p_conn,
                                                                      String p_strList,
                                                                      boolean p_bIncludeDeactivatedUsers)
                                                               throws SQLException
        Parse a pipe-separated list of org structure GUIDs and get the user mail addresses determined by it.
        Parameters:
        p_conn - The database connection to be used.
        p_strList - A list of org structure GUIDs.
        p_bIncludeDeactivatedUsers - false if deactivated users should be ignored, or true otherwise.
        Returns:
        A list that contains the (non-empty) addresses.
        Throws:
        SQLException - If a database error occurred.
        Since:
        Intrexx 6.0.
      • buildSubject

        @Deprecated
        public static final String buildSubject​(IProcessingContext p_ctx,
                                                String p_strStaticPart,
                                                IValueHolder<?> p_vhDynamicPart)
                                         throws de.uplanet.lucy.server.renderer.RendererException,
                                                de.uplanet.lucy.server.renderer.RendererFactoryException,
                                                de.uplanet.util.InvalidPropertyException
        Deprecated.

        Note: Do not use this method in scripts. It will be changed in the future

        Throws:
        de.uplanet.lucy.server.renderer.RendererException
        de.uplanet.lucy.server.renderer.RendererFactoryException
        de.uplanet.util.InvalidPropertyException
      • buildSubject

        public static final String buildSubject​(IProcessingContext p_ctx,
                                                String p_strStaticPart,
                                                IValueHolder<?> p_vhDynamicPart,
                                                String p_strLanguage)
                                         throws de.uplanet.lucy.server.renderer.RendererException,
                                                de.uplanet.lucy.server.renderer.RendererFactoryException,
                                                de.uplanet.util.InvalidPropertyException

        Note: Do not use this method in scripts. It will be changed in the future

        If the static part of the subject is not null and it contains the special variable ${1} this special variable will be replaced with the dynamic part or the empty string if the dynamic part is null.

        If the static part of the subject is not null and it does not contain the special variable ${1} then an existing dynamic part will be appended with a space character prepended.

        If the given language is null the default language will be used.

        Parameters:
        p_ctx - The current processing context.
        p_strStaticPart - The static part of the subject, or null.
        p_vhDynamicPart - The dynamic part of the subject, or null.
        p_strLanguage - The language, or null.
        Returns:
        The build subject.
        Throws:
        de.uplanet.lucy.server.renderer.RendererException - If an error occurred.
        de.uplanet.lucy.server.renderer.RendererFactoryException - If an error occurred.
        de.uplanet.util.InvalidPropertyException - If an error occurred.
      • getMailInfoFromDatabase

        public static de.uplanet.lucy.server.mail.MailInfo getMailInfoFromDatabase​(IProcessingContext p_ctx,
                                                                                   String p_strGuid)
                                                                            throws SQLException,
                                                                                   de.uplanet.lucy.usermanager.NotFoundException
        Read a mail info object from the database.

        Note: Do not use this method in scripts.

        Parameters:
        p_ctx - The processing context.
        p_strGuid - The GUID of the requested mail info.
        Returns:
        A mail inf object.
        Throws:
        SQLException - If a database error occurred.
        de.uplanet.lucy.usermanager.NotFoundException - If the deputy of the user in the context was not found in the database.
      • getRecipientsFromDatabase

        public static de.uplanet.lucy.server.mail.MailRecipientInfo getRecipientsFromDatabase​(de.uplanet.jdbc.JdbcConnection p_conn,
                                                                                              IUser p_user,
                                                                                              String p_strGuid,
                                                                                              String p_strType)
                                                                                       throws SQLException,
                                                                                              de.uplanet.lucy.usermanager.NotFoundException

        Note: Do not use this method in scripts.

        Parameters:
        p_conn - The database connection to be used.
        p_user - An user, if boss or deputy mails should be sent. If this parameter is null, and boss or deputy are configured as recipients, an IllegalProcessingContextException will be thrown.
        p_strGuid - The unique identifier of the recipient configuration.
        p_strType - The recipient type, i.e. either To, or Cc, or Bcc.
        Returns:
        The recipient configuration from the database, or null if none was found.
        Throws:
        SQLException - If a database error occurred.
        de.uplanet.lucy.usermanager.NotFoundException - If the deputy of the given user was not found in the database.
      • getBossAddresses

        public static SortedSet<String> getBossAddresses​(de.uplanet.jdbc.JdbcConnection p_conn,
                                                         IUser p_user)
                                                  throws SQLException
        Parameters:
        p_conn - The database connection to be used.
        p_user - The user.
        Returns:
        A possibly empty list of boss e-mail addresses.
        Throws:
        SQLException - If a database error occurred.
      • getDeputyAddress

        public static String getDeputyAddress​(de.uplanet.jdbc.JdbcConnection p_conn,
                                              IUser p_user)
                                       throws SQLException,
                                              de.uplanet.lucy.usermanager.NotFoundException
        Get the mail address of the given user's deputy.
        Parameters:
        p_conn - The database connection to be used.
        p_user - The user.
        Returns:
        The given user's deputy, or null if there is none.
        Throws:
        SQLException - If a database error occurred.
        de.uplanet.lucy.usermanager.NotFoundException - If the deputy was not found in the database.
      • getApplicationResponsibleAddress

        public static String getApplicationResponsibleAddress​(de.uplanet.jdbc.JdbcConnection p_conn,
                                                              String p_strAppGuid)
                                                       throws SQLException
        Throws:
        SQLException
      • getAddressListDataRange

        public static IDataRangeDataService getAddressListDataRange​(IBusinessLogicProcessingContext p_ctx,
                                                                    String p_strFieldGuid,
                                                                    de.uplanet.lucy.server.businesslogic.rtdata.jdbc.filter.IFilterElement p_filter,
                                                                    TimeZone p_tz)
                                                             throws de.uplanet.lucy.server.businesslogic.BlException

        Note: Do not use this method in scripts.

        Parameters:
        p_ctx - The processing context.
        p_strFieldGuid - The field GUID.
        p_filter - A filter to be applied, or null.
        p_tz - The current user's time zone.
        Returns:
        An object that gives access to the requested data.
        Throws:
        de.uplanet.lucy.server.businesslogic.BlException - If an error occurred.
      • getAddressListCloseableDataRange

        public static de.uplanet.lucy.server.businesslogic.util.ICloseableDataRangeDataService getAddressListCloseableDataRange​(IBusinessLogicProcessingContext p_ctx,
                                                                                                                                String p_strFieldGuid,
                                                                                                                                de.uplanet.lucy.server.businesslogic.rtdata.jdbc.filter.IFilterElement p_filter,
                                                                                                                                TimeZone p_tz)
                                                                                                                         throws de.uplanet.lucy.server.businesslogic.BlException

        Note: Do not use this method in scripts.

        Parameters:
        p_ctx - The processing context.
        p_strFieldGuid - The field GUID.
        p_filter - A filter to be applied, or null.
        p_tz - The current user's time zone.
        Returns:
        An object that gives access to the requested data (must be closed after use).
        Throws:
        de.uplanet.lucy.server.businesslogic.BlException - If an error occurred.
      • getDistinctDataRangeList

        @Deprecated
        public static IDataRangeDataService getDistinctDataRangeList​(IBusinessLogicProcessingContext p_ctx,
                                                                     String p_strFieldGuid,
                                                                     de.uplanet.lucy.server.businesslogic.rtdata.jdbc.filter.IFilterElement p_filter,
                                                                     TimeZone p_tz)
                                                              throws de.uplanet.lucy.server.businesslogic.BlException
        Deprecated.
        Throws:
        de.uplanet.lucy.server.businesslogic.BlException
      • getAddressesFromField

        public static Set<String> getAddressesFromField​(IBusinessLogicProcessingContext p_ctx,
                                                        de.uplanet.lucy.server.businesslogic.util.IDataRecord p_record,
                                                        String p_strAppGuid,
                                                        String p_strDgGuid,
                                                        String p_strFieldGuid,
                                                        de.uplanet.lucy.server.businesslogic.rtdata.jdbc.filter.IFilterElement p_filter,
                                                        TimeZone p_tz)
                                                 throws Exception
        Get a set of non-empty mail addresses from the given field.

        The addresses are parsed as a case insensitive semicolon, or line-feed separated list of strings, or as a ||-delimited list of org structure GUIDs.

        Deactivated users are excluded from the result.

        Parameters:
        p_ctx - The processing context.
        p_strAppGuid - The GUID of the application.
        p_strDgGuid - The GUID of the data group.
        p_strFieldGuid - The field GUID.
        p_filter - A filter to be applied, or null.
        p_tz - The current user's time zone.
        Returns:
        A set that contains non-empty mail adresses.
        Throws:
        Exception - If an error occurred.
        See Also:
        getAddressesFromField(IBusinessLogicProcessingContext, IDataRecord, String, String, String, IFilterElement, TimeZone)
      • getAddressesFromField

        public static Set<String> getAddressesFromField​(IBusinessLogicProcessingContext p_ctx,
                                                        de.uplanet.lucy.server.businesslogic.util.IDataRecord p_record,
                                                        String p_strAppGuid,
                                                        String p_strDgGuid,
                                                        String p_strFieldGuid,
                                                        de.uplanet.lucy.server.businesslogic.rtdata.jdbc.filter.IFilterElement p_filter,
                                                        TimeZone p_tz,
                                                        boolean p_bIncludeDeactivatedUsers)
                                                 throws de.uplanet.lucy.server.businesslogic.BlException,
                                                        SQLException
        Get a set of non-empty mail addresses from the given field.

        The addresses are parsed as a case insensitive semicolon, or line-feed separated list of strings, or as a ||-delimited list of org structure GUIDs.

        Parameters:
        p_ctx - The processing context.
        p_strAppGuid - The GUID of the application.
        p_strDgGuid - The GUID of the data group.
        p_strFieldGuid - The field GUID.
        p_filter - A filter to be applied, or null.
        p_tz - The current user's time zone.
        p_bIncludeDeactivatedUsers - false if deactivated users should be ignored, or true otherwise.
        Returns:
        A set that contains non-empty mail adresses.
        Throws:
        de.uplanet.lucy.server.businesslogic.BlException - If an error occurred.
        SQLException - If an error occurred.
        Since:
        Intrexx 6.0.
      • getRenderedValue

        public static String getRenderedValue​(IProcessingContext p_ctx,
                                              IValueHolder<?> p_vh)
                                       throws de.uplanet.lucy.server.renderer.RendererException,
                                              de.uplanet.lucy.server.renderer.RendererFactoryException

        Note: Do not use this method in scripts.

        Throws:
        de.uplanet.lucy.server.renderer.RendererFactoryException
        de.uplanet.lucy.server.renderer.RendererException
      • getValueHolderFromField

        public static IValueHolder<?> getValueHolderFromField​(IBusinessLogicProcessingContext p_ctx,
                                                              String p_strAppGuid,
                                                              String p_strDgGuid,
                                                              String p_strFieldGuid,
                                                              String p_strRecId)
                                                       throws de.uplanet.lucy.server.businesslogic.BlException

        Note: Do not use this method in scripts.

        Parameters:
        p_ctx - The current processing context.
        p_strAppGuid - The application that contains the data group identified by p_strDgGuid.
        p_strDgGuid - The data group that contains the record identified by p_strRecId.
        p_strFieldGuid - The field that contains the subject (may belong to the parent data group).
        p_strRecId - The primary key of the record in p_strDgGuid.
        Returns:
        The value.
        Throws:
        de.uplanet.lucy.server.businesslogic.BlException - If an error occurred.
      • checkLevelOfTargetPage

        public static String checkLevelOfTargetPage​(IBusinessLogicProcessingContext p_ctx,
                                                    String p_strAppGuid,
                                                    String p_strSrcPageGuid,
                                                    String p_strTargetGuid,
                                                    String p_strRecIdForMail)
                                             throws de.uplanet.lucy.server.businesslogic.BlException
        Checks if the level of the targetpage and the level of the sourcepage is different. If so it gets the recid of the parentfield of that level of the targetpage for the given recordid.

        Note: Do not use this method in scripts.

        Parameters:
        p_strSrcPageGuid - Database GUID of the sourcepage
        p_strRecIdForMail - current Recid of the record of the mail.
        Returns:
        null, if the level is teh same otherwise the value of the parentid for the level of the targetpage.
        Throws:
        de.uplanet.lucy.server.businesslogic.BlException - If an error occurred.