adams.flow.standalone
Class SMTPConnection

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.standalone.AbstractStandalone
                  extended by adams.flow.standalone.SMTPConnection
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, InteractiveActor, OptionalPasswordPrompt, Serializable, Comparable

public class SMTPConnection
extends AbstractStandalone
implements OptionalPasswordPrompt

SMTP server setup for overriding default parameters.

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: SMTPConnection
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default: 
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded 
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-server <java.lang.String> (property: server)
    The SMTP server (name/IP address) to use.
    default: smtp.gmail.com
 
-port <int> (property: port)
    The SMTP port to use.
    default: 587
    minimum: 1
    maximum: 65536
 
-use-tls (property: useTLS)
    If enabled, TLS (transport layer security) is used.
 
-timeout <int> (property: timeout)
    The timeout in msecs.
    default: 30000
    minimum: 0
 
-requires-auth (property: requiresAuthentication)
    Enable this if SMTP server requires authentication using user/pw.
 
-user <java.lang.String> (property: user)
    The SMTP user to use.
    default: theadamsflow
 
-password <adams.core.base.BasePassword> (property: password)
    The password of the SMTP user.
 
-prompt-for-password (property: promptForPassword)
    If enabled and authentication is required, the user gets prompted for enter 
    a password if none has been provided in the setup.
 
-stop-if-canceled (property: stopFlowIfCanceled)
    If enabled, the flow gets stopped in case the user cancels the dialog.
 
-custom-stop-message <java.lang.String> (property: customStopMessage)
    The custom stop message to use in case a user cancelation stops the flow 
    (default is the full name of the actor)
    default: 
 

Version:
$Revision: 7158 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  BasePassword m_ActualPassword
          the actual SMTP password to use.
protected  String m_CustomStopMessage
          the custom stop message to use if flow gets stopped due to cancelation.
protected  BasePassword m_Password
          the SMTP password to use.
protected  int m_Port
          the SMTP port.
protected  boolean m_PromptForPassword
          whether to prompt the user for a password if none provided.
protected  boolean m_RequiresAuthentication
          whether the SMTP server requires authentication.
protected  String m_Server
          the SMTP server.
protected  boolean m_StopFlowIfCanceled
          whether to stop the flow if canceled.
protected  int m_Timeout
          the timeout in msecs.
protected  String m_User
          the SMTP user to use.
protected  boolean m_UseTLS
          whether to use TLS.
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_ScopeHandler, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
SMTPConnection()
           
 
Method Summary
 String customStopMessageTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 boolean doInteract()
          Performs the interaction with the user.
 String getCustomStopMessage()
          Returns the custom message to use when stopping the flow.
 BasePassword getPassword()
          Returns the SMTP password to use.
 int getPort()
          Returns the SMTP port in use.
 boolean getPromptForPassword()
          Returns whether to prompt for a password if none currently provided.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 boolean getRequiresAuthentication()
          Returns whether SMTP server requires authentication.
 String getServer()
          Returns the SMTP server in use.
 boolean getStopFlowIfCanceled()
          Returns whether to stop the flow if dialog canceled.
 int getTimeout()
          Returns the timeout in msecs.
 String getUser()
          Returns the SMTP user name to use.
 boolean getUseTLS()
          Returns whether TLS is used.
 String globalInfo()
          Returns a string describing the object.
 void initializeSmtpSession(AbstractSendEmail sendEmail)
          Initializes the SMTP session with the specified parameters.
 String passwordTipText()
          Returns the tip text for this property.
 String portTipText()
          Returns the tip text for this property.
 String promptForPasswordTipText()
          Returns the tip text for this property.
 String requiresAuthenticationTipText()
          Returns the tip text for this property.
 String serverTipText()
          Returns the tip text for this property.
 void setCustomStopMessage(String value)
          Sets the custom message to use when stopping the flow.
 void setPassword(BasePassword value)
          Sets the SMTP password to use.
 void setPort(int value)
          Sets the SMTP port to use.
 void setPromptForPassword(boolean value)
          Sets whether to prompt for a password if none currently provided.
 void setRequiresAuthentication(boolean value)
          Sets whether SMTP server requires authentication.
 void setServer(String value)
          Sets the SMTP server to use.
 void setStopFlowIfCanceled(boolean value)
          Sets whether to stop the flow if dialog canceled.
 void setTimeout(int value)
          Sets the timeout in msecs.
 void setUser(String value)
          Sets the SMTP user to use.
 void setUseTLS(boolean value)
          Sets whether to use TLS.
 String stopFlowIfCanceledTipText()
          Returns the tip text for this property.
 String timeoutTipText()
          Returns the tip text for this property.
 String userTipText()
          Returns the tip text for this property.
 String useTLSTipText()
          Returns the tip text for this property.
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, backupState, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, execute, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, postExecute, preExecute, pruneBackup, pruneBackup, reset, restoreState, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged, wrapUp
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, debug, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, sizeOf, stopExecution, stopExecution, variableChanged, wrapUp
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 

Field Detail

m_Server

protected String m_Server
the SMTP server.


m_Port

protected int m_Port
the SMTP port.


m_UseTLS

protected boolean m_UseTLS
whether to use TLS.


m_Timeout

protected int m_Timeout
the timeout in msecs.


m_RequiresAuthentication

protected boolean m_RequiresAuthentication
whether the SMTP server requires authentication.


m_User

protected String m_User
the SMTP user to use.


m_Password

protected BasePassword m_Password
the SMTP password to use.


m_ActualPassword

protected BasePassword m_ActualPassword
the actual SMTP password to use.


m_PromptForPassword

protected boolean m_PromptForPassword
whether to prompt the user for a password if none provided.


m_StopFlowIfCanceled

protected boolean m_StopFlowIfCanceled
whether to stop the flow if canceled.


m_CustomStopMessage

protected String m_CustomStopMessage
the custom stop message to use if flow gets stopped due to cancelation.

Constructor Detail

SMTPConnection

public SMTPConnection()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Specified by:
getQuickInfo in interface Actor
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

setServer

public void setServer(String value)
Sets the SMTP server to use.

Parameters:
value - the host name/ip

getServer

public String getServer()
Returns the SMTP server in use.

Returns:
the host name/ip

serverTipText

public String serverTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setPort

public void setPort(int value)
Sets the SMTP port to use.

Parameters:
value - the port

getPort

public int getPort()
Returns the SMTP port in use.

Returns:
the port

portTipText

public String portTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setUseTLS

public void setUseTLS(boolean value)
Sets whether to use TLS.

Parameters:
value - if true TLS is used

getUseTLS

public boolean getUseTLS()
Returns whether TLS is used.

Returns:
true if TLS is used

useTLSTipText

public String useTLSTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setTimeout

public void setTimeout(int value)
Sets the timeout in msecs.

Parameters:
value - the timeout

getTimeout

public int getTimeout()
Returns the timeout in msecs.

Returns:
the timeout

timeoutTipText

public String timeoutTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setRequiresAuthentication

public void setRequiresAuthentication(boolean value)
Sets whether SMTP server requires authentication.

Parameters:
value - if true user/pw is used

getRequiresAuthentication

public boolean getRequiresAuthentication()
Returns whether SMTP server requires authentication.

Returns:
true if user/pw is used

requiresAuthenticationTipText

public String requiresAuthenticationTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setUser

public void setUser(String value)
Sets the SMTP user to use.

Parameters:
value - the user name

getUser

public String getUser()
Returns the SMTP user name to use.

Returns:
the user name

userTipText

public String userTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setPassword

public void setPassword(BasePassword value)
Sets the SMTP password to use.

Parameters:
value - the password

getPassword

public BasePassword getPassword()
Returns the SMTP password to use.

Returns:
the password

passwordTipText

public String passwordTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setPromptForPassword

public void setPromptForPassword(boolean value)
Sets whether to prompt for a password if none currently provided.

Specified by:
setPromptForPassword in interface OptionalPasswordPrompt
Parameters:
value - true if to prompt for a password

getPromptForPassword

public boolean getPromptForPassword()
Returns whether to prompt for a password if none currently provided.

Specified by:
getPromptForPassword in interface OptionalPasswordPrompt
Returns:
true if to prompt for a password

promptForPasswordTipText

public String promptForPasswordTipText()
Returns the tip text for this property.

Specified by:
promptForPasswordTipText in interface OptionalPasswordPrompt
Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setStopFlowIfCanceled

public void setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.

Specified by:
setStopFlowIfCanceled in interface InteractiveActor
Parameters:
value - if true flow gets stopped if dialog canceled

getStopFlowIfCanceled

public boolean getStopFlowIfCanceled()
Returns whether to stop the flow if dialog canceled.

Specified by:
getStopFlowIfCanceled in interface InteractiveActor
Returns:
true if the flow gets stopped if dialog canceled

stopFlowIfCanceledTipText

public String stopFlowIfCanceledTipText()
Returns the tip text for this property.

Specified by:
stopFlowIfCanceledTipText in interface InteractiveActor
Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setCustomStopMessage

public void setCustomStopMessage(String value)
Sets the custom message to use when stopping the flow.

Specified by:
setCustomStopMessage in interface InteractiveActor
Parameters:
the - stop message

getCustomStopMessage

public String getCustomStopMessage()
Returns the custom message to use when stopping the flow.

Specified by:
getCustomStopMessage in interface InteractiveActor
Returns:
the stop message

customStopMessageTipText

public String customStopMessageTipText()
Returns the tip text for this property.

Specified by:
customStopMessageTipText in interface InteractiveActor
Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

doInteract

public boolean doInteract()
Performs the interaction with the user.

Specified by:
doInteract in interface InteractiveActor
Returns:
true if successfully interacted

initializeSmtpSession

public void initializeSmtpSession(AbstractSendEmail sendEmail)
                           throws Exception
Initializes the SMTP session with the specified parameters.

Parameters:
sendEmail - the object to initialize
Throws:
Exception - if initialization fails

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if ok, otherwise error message


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.