org.enhydra.shark.toolagent
Class DefaultMailMessageHandler

java.lang.Object
  extended byorg.enhydra.shark.toolagent.DefaultMailMessageHandler
All Implemented Interfaces:
MailMessageHandler, java.io.Serializable
Direct Known Subclasses:
SMIMEMailMessageHandler

public class DefaultMailMessageHandler
extends java.lang.Object
implements MailMessageHandler, java.io.Serializable

This DefaultMailMessageHandler also includes attachment sending capability.

Receiving mail with attachments is not currently supported.

This handler knows how to interpret many attributes for sending e-mail. The attachments can be passed in several ways: file, URL or shark variable attachment.

Author:
Sasa Bojanic, Veljko Zivkovic
See Also:
Serialized Form

Field Summary
protected  java.lang.String assId
           
static java.lang.String BCC_ADDRESSES_NAME
           
static java.lang.String BCC_NAMES_NAME
           
static java.lang.String CC_ADDRESSES_NAME
           
static java.lang.String CC_NAMES_NAME
           
static java.lang.String CHARSET_NAME
           
static java.lang.String CONTENT_NAME
           
protected  CallbackUtilities cus
           
static java.lang.String FILE_ATTACHMENTS_NAME
           
static java.lang.String FILE_ATTACHMENTS_NAMES_NAME
           
static java.lang.String FROM_ADDRESSES_NAME
           
static java.lang.String FROM_NAMES_NAME
           
protected static int IMAPport
           
protected static java.lang.String incomingMailProtocol
           
protected static java.lang.String incomingMailServer
           
protected static java.lang.String login
           
static java.lang.String MIME_TYPE_NAME
           
protected static java.lang.String password
           
protected static int POP3port
           
protected  java.lang.String procId
           
protected  AppParameter[] sharkParams
           
protected static java.lang.String SMTPMailServer
           
protected static int SMTPport
           
protected static java.lang.String sourceAddress
           
protected static java.lang.String storeFolderName
           
static java.lang.String SUBJECT_NAME
           
static java.lang.String TO_ADDRESSES_NAME
           
static java.lang.String TO_NAMES_NAME
           
static java.lang.String URL_ATTACHMENTS_NAME
           
static java.lang.String URL_ATTACHMENTS_NAMES_NAME
           
protected static java.lang.String useAuthentication
           
static java.lang.String VAR_ATTACHMENTS_MIME_TYPES_NAME
           
static java.lang.String VAR_ATTACHMENTS_NAME
           
static java.lang.String VAR_ATTACHMENTS_NAMES_NAME
           
protected  java.util.Map varAttachmentsMimeTypesMap
           
protected  java.util.Map varAttachmentsVariablesMap
           
 
Constructor Summary
DefaultMailMessageHandler()
           
 
Method Summary
 void configure(CallbackUtilities cus, WMSessionHandle shandle, java.lang.String procId, java.lang.String assId, AppParameter[] aps)
           
protected  javax.mail.internet.MimeMessage createMail()
           
protected  javax.mail.Session createSession()
           
 java.lang.String getContent()
           
protected  javax.mail.BodyPart[] getFileAttachments(java.lang.String[] locations, java.lang.String[] attachmentNames)
           
 java.lang.String[] getFromAddresses()
           
protected  javax.mail.BodyPart[] getURLAttachments(java.lang.String[] locations, java.lang.String[] attachmentNames)
           
protected  javax.mail.BodyPart[] getVarAttachments(java.lang.String[] locations, java.lang.String[] attachmentNames)
           
 java.lang.String receiveMail()
          TODO implement receiving the mail with attachments
 void sendMail()
           
 void setParamsBasedOnMailMessage(javax.mail.Message mmessage)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FROM_ADDRESSES_NAME

public static final java.lang.String FROM_ADDRESSES_NAME
See Also:
Constant Field Values

FROM_NAMES_NAME

public static final java.lang.String FROM_NAMES_NAME
See Also:
Constant Field Values

TO_ADDRESSES_NAME

public static final java.lang.String TO_ADDRESSES_NAME
See Also:
Constant Field Values

TO_NAMES_NAME

public static final java.lang.String TO_NAMES_NAME
See Also:
Constant Field Values

CC_ADDRESSES_NAME

public static final java.lang.String CC_ADDRESSES_NAME
See Also:
Constant Field Values

CC_NAMES_NAME

public static final java.lang.String CC_NAMES_NAME
See Also:
Constant Field Values

BCC_ADDRESSES_NAME

public static final java.lang.String BCC_ADDRESSES_NAME
See Also:
Constant Field Values

BCC_NAMES_NAME

public static final java.lang.String BCC_NAMES_NAME
See Also:
Constant Field Values

SUBJECT_NAME

public static final java.lang.String SUBJECT_NAME
See Also:
Constant Field Values

CONTENT_NAME

public static final java.lang.String CONTENT_NAME
See Also:
Constant Field Values

CHARSET_NAME

public static final java.lang.String CHARSET_NAME
See Also:
Constant Field Values

MIME_TYPE_NAME

public static final java.lang.String MIME_TYPE_NAME
See Also:
Constant Field Values

FILE_ATTACHMENTS_NAME

public static final java.lang.String FILE_ATTACHMENTS_NAME
See Also:
Constant Field Values

FILE_ATTACHMENTS_NAMES_NAME

public static final java.lang.String FILE_ATTACHMENTS_NAMES_NAME
See Also:
Constant Field Values

URL_ATTACHMENTS_NAME

public static final java.lang.String URL_ATTACHMENTS_NAME
See Also:
Constant Field Values

URL_ATTACHMENTS_NAMES_NAME

public static final java.lang.String URL_ATTACHMENTS_NAMES_NAME
See Also:
Constant Field Values

VAR_ATTACHMENTS_NAME

public static final java.lang.String VAR_ATTACHMENTS_NAME
See Also:
Constant Field Values

VAR_ATTACHMENTS_NAMES_NAME

public static final java.lang.String VAR_ATTACHMENTS_NAMES_NAME
See Also:
Constant Field Values

VAR_ATTACHMENTS_MIME_TYPES_NAME

public static final java.lang.String VAR_ATTACHMENTS_MIME_TYPES_NAME
See Also:
Constant Field Values

cus

protected CallbackUtilities cus

sharkParams

protected AppParameter[] sharkParams

varAttachmentsVariablesMap

protected java.util.Map varAttachmentsVariablesMap

varAttachmentsMimeTypesMap

protected java.util.Map varAttachmentsMimeTypesMap

procId

protected java.lang.String procId

assId

protected java.lang.String assId

useAuthentication

protected static java.lang.String useAuthentication

SMTPMailServer

protected static java.lang.String SMTPMailServer

incomingMailServer

protected static java.lang.String incomingMailServer

SMTPport

protected static int SMTPport

IMAPport

protected static int IMAPport

POP3port

protected static int POP3port

sourceAddress

protected static java.lang.String sourceAddress

login

protected static java.lang.String login

password

protected static java.lang.String password

incomingMailProtocol

protected static java.lang.String incomingMailProtocol

storeFolderName

protected static java.lang.String storeFolderName
Constructor Detail

DefaultMailMessageHandler

public DefaultMailMessageHandler()
Method Detail

configure

public void configure(CallbackUtilities cus,
                      WMSessionHandle shandle,
                      java.lang.String procId,
                      java.lang.String assId,
                      AppParameter[] aps)
               throws java.lang.Exception
Specified by:
configure in interface MailMessageHandler
Throws:
java.lang.Exception

createSession

protected javax.mail.Session createSession()

createMail

protected javax.mail.internet.MimeMessage createMail()
                                              throws java.lang.Exception
Throws:
java.lang.Exception

sendMail

public void sendMail()
              throws java.lang.Exception
Specified by:
sendMail in interface MailMessageHandler
Throws:
java.lang.Exception

receiveMail

public java.lang.String receiveMail()
                             throws java.lang.Exception
TODO implement receiving the mail with attachments

Specified by:
receiveMail in interface MailMessageHandler
Throws:
java.lang.Exception

getFileAttachments

protected javax.mail.BodyPart[] getFileAttachments(java.lang.String[] locations,
                                                   java.lang.String[] attachmentNames)
                                            throws java.lang.Exception
Throws:
java.lang.Exception

getURLAttachments

protected javax.mail.BodyPart[] getURLAttachments(java.lang.String[] locations,
                                                  java.lang.String[] attachmentNames)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

getVarAttachments

protected javax.mail.BodyPart[] getVarAttachments(java.lang.String[] locations,
                                                  java.lang.String[] attachmentNames)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

getFromAddresses

public java.lang.String[] getFromAddresses()
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getContent

public java.lang.String getContent()
                            throws java.lang.Exception
Throws:
java.lang.Exception

setParamsBasedOnMailMessage

public void setParamsBasedOnMailMessage(javax.mail.Message mmessage)
                                 throws java.lang.Exception
Throws:
java.lang.Exception