Package adams.flow.standalone
Class AbstractDatabaseConnection
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.standalone.AbstractStandalone
-
- adams.flow.standalone.AbstractDatabaseConnection
-
- All Implemented Interfaces:
AdditionalInformationHandler,CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,PasswordPrompter,PasswordSupporter,QuickInfoSupporter,ShallowCopySupporter<Actor>,SizeOfHandler,Stoppable,StoppableWithFeedback,VariablesInspectionHandler,VariableChangeListener,Actor,ErrorHandler,InteractiveActor,OptionalPasswordPrompt,StopModeSupporter,Serializable,Comparable
- Direct Known Subclasses:
DatabaseConnection
public abstract class AbstractDatabaseConnection extends AbstractStandalone implements OptionalPasswordPrompt, PasswordPrompter
Ancestor for standalone actors providing a database connection different from the system-wide one.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected BasePasswordm_ActualPasswordthe actual SMTP password to use.protected booleanm_CloseConnectionwhether to close the connection when the flow wraps up.protected AbstractDatabaseConnectionm_Connectionthe database connection in use.protected Stringm_CustomStopMessagethe custom stop message to use if flow gets stopped due to cancelation.protected AbstractDataTypeSetupm_DataTypeSetupthe data type setup to apply.protected BasePasswordm_Passworddatabase password.protected booleanm_PromptForPasswordwhether to prompt the user for a password if none provided.protected booleanm_StopFlowIfCanceledwhether to stop the flow if canceled.protected StopModem_StopModehow to perform the stop.protected JdbcUrlm_URLthe URL to connect to the database.protected Stringm_Userdatabase username.-
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_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
Fields inherited from interface adams.flow.core.InteractiveActor
INTERACTION_CANCELED
-
-
Constructor Summary
Constructors Constructor Description AbstractDatabaseConnection()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description StringcloseConnectionTipText()Returns the tip text for this property.StringcustomStopMessageTipText()Returns the tip text for this property.StringdataTypeSetupTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected StringdoExecute()Executes the actor.StringdoInteract()Performs the interaction with the user.StringdoInteractHeadless()Performs the interaction with the user in a headless environment.booleangetCloseConnection()Returns whether to close the connection once the flow wraps up.AbstractDatabaseConnectiongetConnection()Returns the database connection in use.StringgetCustomStopMessage()Returns the custom message to use when stopping the flow.AbstractDataTypeSetupgetDataTypeSetup()Returns the data type setup to apply to the connection.BasePasswordgetPassword()Returns the database password.booleangetPromptForPassword()Returns whether to prompt for a password if none currently provided.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.StringgetResolvedURL()Expands variables and placeholders.booleangetStopFlowIfCanceled()Returns whether to stop the flow if dialog canceled.StopModegetStopMode()Returns the stop mode.JdbcUrlgetURL()Returns the database URL.StringgetUser()Returns the database user.StringpasswordTipText()Returns the tip text for this property.StringpromptForPasswordTipText()Returns the tip text for this property.protected abstract AbstractDatabaseConnectionretrieveConnection()Returns the database connection in use.voidsetCloseConnection(boolean value)Sets whether to close the connection once the flow wraps up.voidsetCustomStopMessage(String value)Sets the custom message to use when stopping the flow.voidsetDataTypeSetup(AbstractDataTypeSetup value)Sets the data type setup to apply to the connection.voidsetPassword(BasePassword value)Sets the database password.voidsetPromptForPassword(boolean value)Sets whether to prompt for a password if none currently provided.voidsetStopFlowIfCanceled(boolean value)Sets whether to stop the flow if dialog canceled.voidsetStopMode(StopMode value)Sets the stop mode.voidsetURL(JdbcUrl value)Sets the database URL.voidsetUser(String value)Sets the database user.StringstopFlowIfCanceledTipText()Returns the tip text for this property.StringstopModeTipText()Returns the tip text for this property.booleansupportsHeadlessInteraction()Returns whether headless interaction is supported.StringURLTipText()Returns the tip text for this property.StringuserTipText()Returns the tip text for this property.voidwrapUp()Cleans up after the execution has finished.-
Methods inherited from class adams.flow.standalone.AbstractStandalone
preExecute
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, backupState, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, execute, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, pruneBackup, pruneBackup, reset, restoreState, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
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, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_URL
protected JdbcUrl m_URL
the URL to connect to the database.
-
m_User
protected String m_User
database username.
-
m_Password
protected BasePassword m_Password
database password.
-
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.
-
m_StopMode
protected StopMode m_StopMode
how to perform the stop.
-
m_DataTypeSetup
protected AbstractDataTypeSetup m_DataTypeSetup
the data type setup to apply.
-
m_CloseConnection
protected boolean m_CloseConnection
whether to close the connection when the flow wraps up.
-
m_Connection
protected transient AbstractDatabaseConnection m_Connection
the database connection in use.
-
-
Method Detail
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractActor
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceActor- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin classAbstractActor- Returns:
- null if no info available, otherwise short string
-
setURL
public void setURL(JdbcUrl value)
Sets the database URL.- Parameters:
value- the URL
-
getURL
public JdbcUrl getURL()
Returns the database URL.- Returns:
- the URL
-
URLTipText
public String URLTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getResolvedURL
public String getResolvedURL()
Expands variables and placeholders.- Returns:
- the fully resolved URL
-
setUser
public void setUser(String value)
Sets the database user.- Parameters:
value- the user
-
getUser
public String getUser()
Returns the database user.- Returns:
- the user
-
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 database password.- Specified by:
setPasswordin interfacePasswordSupporter- Parameters:
value- the password
-
getPassword
public BasePassword getPassword()
Returns the database password.- Specified by:
getPasswordin interfacePasswordSupporter- 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:
setPromptForPasswordin interfaceOptionalPasswordPrompt- Specified by:
setPromptForPasswordin interfacePasswordPrompter- 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:
getPromptForPasswordin interfaceOptionalPasswordPrompt- Specified by:
getPromptForPasswordin interfacePasswordPrompter- Returns:
- true if to prompt for a password
-
promptForPasswordTipText
public String promptForPasswordTipText()
Returns the tip text for this property.- Specified by:
promptForPasswordTipTextin interfaceOptionalPasswordPrompt- Specified by:
promptForPasswordTipTextin interfacePasswordPrompter- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setDataTypeSetup
public void setDataTypeSetup(AbstractDataTypeSetup value)
Sets the data type setup to apply to the connection.- Parameters:
value- the setup
-
getDataTypeSetup
public AbstractDataTypeSetup getDataTypeSetup()
Returns the data type setup to apply to the connection.- Returns:
- the setup
-
dataTypeSetupTipText
public String dataTypeSetupTipText()
Returns the tip text for this property.- 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:
setStopFlowIfCanceledin interfaceInteractiveActor- 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:
getStopFlowIfCanceledin interfaceInteractiveActor- Returns:
- true if the flow gets stopped if dialog canceled
-
stopFlowIfCanceledTipText
public String stopFlowIfCanceledTipText()
Returns the tip text for this property.- Specified by:
stopFlowIfCanceledTipTextin interfaceInteractiveActor- 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:
setCustomStopMessagein interfaceInteractiveActor- Parameters:
value- the stop message
-
getCustomStopMessage
public String getCustomStopMessage()
Returns the custom message to use when stopping the flow.- Specified by:
getCustomStopMessagein interfaceInteractiveActor- Returns:
- the stop message
-
customStopMessageTipText
public String customStopMessageTipText()
Returns the tip text for this property.- Specified by:
customStopMessageTipTextin interfaceInteractiveActor- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setStopMode
public void setStopMode(StopMode value)
Sets the stop mode.- Specified by:
setStopModein interfaceStopModeSupporter- Parameters:
value- the mode
-
getStopMode
public StopMode getStopMode()
Returns the stop mode.- Specified by:
getStopModein interfaceStopModeSupporter- Returns:
- the mode
-
stopModeTipText
public String stopModeTipText()
Returns the tip text for this property.- Specified by:
stopModeTipTextin interfaceStopModeSupporter- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setCloseConnection
public void setCloseConnection(boolean value)
Sets whether to close the connection once the flow wraps up.- Parameters:
value- true if to close
-
getCloseConnection
public boolean getCloseConnection()
Returns whether to close the connection once the flow wraps up.- Returns:
- true if to close
-
closeConnectionTipText
public String closeConnectionTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
doInteract
public String doInteract()
Performs the interaction with the user.- Specified by:
doInteractin interfaceInteractiveActor- Returns:
- null if successfully interacted, otherwise error message
-
supportsHeadlessInteraction
public boolean supportsHeadlessInteraction()
Returns whether headless interaction is supported.- Specified by:
supportsHeadlessInteractionin interfaceInteractiveActor- Returns:
- true if interaction in headless environment is possible
-
doInteractHeadless
public String doInteractHeadless()
Performs the interaction with the user in a headless environment.- Specified by:
doInteractHeadlessin interfaceInteractiveActor- Returns:
- null if successfully interacted, otherwise error message
-
doExecute
protected String doExecute()
Executes the actor.- Specified by:
doExecutein classAbstractActor- Returns:
- null if everything is fine, otherwise error message
-
retrieveConnection
protected abstract AbstractDatabaseConnection retrieveConnection()
Returns the database connection in use. Reconnects the database, to make sure that the database connection is the correct one.- Returns:
- the connection object
-
getConnection
public AbstractDatabaseConnection getConnection()
Returns the database connection in use. Reconnects the database, to make sure that the database connection is the correct one.- Returns:
- the connection object
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished. Graphical output is left untouched.- Specified by:
wrapUpin interfaceActor- Overrides:
wrapUpin classAbstractActor
-
-