Package adams.flow.standalone
Class RedisConnection
- 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.RedisConnection
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.PasswordPrompter
,adams.core.PasswordSupporter
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.VariableChangeListener
,adams.flow.core.Actor
,adams.flow.core.ErrorHandler
,adams.flow.core.InteractiveActor
,adams.flow.core.OptionalPasswordPrompt
,adams.flow.core.StopModeSupporter
,Serializable
,Comparable
public class RedisConnection extends adams.flow.standalone.AbstractStandalone implements adams.flow.core.OptionalPasswordPrompt, adams.core.PasswordPrompter
Defines a connection to a Redis server.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING min-user-mode: Expert
-name <java.lang.String> (property: name) The name of the actor. default: RedisConnection
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false min-user-mode: Expert
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false min-user-mode: Expert
-host <java.lang.String> (property: host) The host (name/IP address) to connect to. default: localhost
-port <int> (property: port) The port to connect to. default: 6379 minimum: 1 maximum: 65535
-database <int> (property: database) The database to use (usually 0). default: 0 minimum: 0 maximum: 65535
-use-ssl <boolean> (property: useSSL) If enabled, SSL is used for the connection. default: false
-start-tls <boolean> (property: startTLS) If enabled, StartTLS is used with SSL connections. default: false
-ssl-verify-mode <NONE|CA|FULL> (property: SSLVerifyMode) How to verify SSL peers. default: NONE
-password <adams.core.base.BasePassword> (property: password) The password to use for connecting.
-prompt-for-password <boolean> (property: promptForPassword) If enabled, the user gets prompted for enter a password if none has been provided in the setup. default: false
-stop-if-canceled <boolean> (property: stopFlowIfCanceled) If enabled, the flow gets stopped in case the user cancels the dialog. default: false
-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:
-stop-mode <GLOBAL|STOP_RESTRICTOR> (property: stopMode) The stop mode to use. default: GLOBAL
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_PORT
protected adams.core.base.BasePassword
m_ActualPassword
the actual password to use.protected io.lettuce.core.RedisClient
m_Client
the client object.protected Map<Class,io.lettuce.core.api.StatefulRedisConnection>
m_Connections
the connection object.protected String
m_CustomStopMessage
the custom stop message to use if flow gets stopped due to cancelation.protected int
m_Database
the database.protected String
m_Host
the host.protected adams.core.base.BasePassword
m_Password
the password to use.protected int
m_Port
the port.protected boolean
m_PromptForPassword
whether to prompt the user for a password if none provided.protected io.lettuce.core.SslVerifyMode
m_SSLVerifyMode
how to verify peers.protected boolean
m_StartTLS
whether to start TLS.protected boolean
m_StopFlowIfCanceled
whether to stop the flow if canceled.protected adams.flow.core.StopMode
m_StopMode
how to perform the stop.protected boolean
m_UseSSL
whether to use SSL.-
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
-
-
Constructor Summary
Constructors Constructor Description RedisConnection()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
connect()
Performs the connection.String
customStopMessageTipText()
Returns the tip text for this property.String
databaseTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Executes the actor.String
doInteract()
Performs the interaction with the user.String
doInteractHeadless()
Performs the interaction with the user in a headless environment.io.lettuce.core.RedisClient
getClient()
Returns the client in use.io.lettuce.core.api.StatefulRedisConnection
getConnection(Class codec)
Returns the connection in use.String
getCustomStopMessage()
Returns the custom message to use when stopping the flow.int
getDatabase()
Returns the database to use.String
getHost()
Returns the host to connect to.adams.core.base.BasePassword
getPassword()
Returns the password to use.int
getPort()
Returns the port to connect to.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.io.lettuce.core.SslVerifyMode
getSSLVerifyMode()
Returns how to verify SSL peers.boolean
getStartTLS()
Returns whether to use StartTLS with SSL connections.boolean
getStopFlowIfCanceled()
Returns whether to stop the flow if dialog canceled.adams.flow.core.StopMode
getStopMode()
Returns the stop mode.boolean
getUseSSL()
Returns whether to use SSL for the connection.String
globalInfo()
Returns a string describing the object.String
hostTipText()
Returns the tip text for this property.io.lettuce.core.api.StatefulRedisConnection<String,String>
newConnection(adams.core.MessageCollection errors)
Creates a new connection.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.void
setCustomStopMessage(String value)
Sets the custom message to use when stopping the flow.void
setDatabase(int value)
Sets the database to use.void
setHost(String value)
Sets the host to connect to.void
setPassword(adams.core.base.BasePassword value)
Sets the password to use.void
setPort(int value)
Sets the port to connect to.void
setPromptForPassword(boolean value)
Sets whether to prompt for a password if none currently provided.void
setSSLVerifyMode(io.lettuce.core.SslVerifyMode value)
Sets how to verify SSL peers.void
setStartTLS(boolean value)
Sets whether to use StartTLS with SSL connections.void
setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.void
setStopMode(adams.flow.core.StopMode value)
Sets the stop mode.void
setUseSSL(boolean value)
Sets whether to use SSL for the connection.String
SSLVerifyModeTipText()
Returns the tip text for this property.String
startTLSTipText()
Returns the tip text for this property.String
stopFlowIfCanceledTipText()
Returns the tip text for this property.String
stopModeTipText()
Returns the tip text for this property.boolean
supportsHeadlessInteraction()
Returns whether headless interaction is supported.String
useSSLTipText()
Returns the tip text for this property.void
wrapUp()
Cleans up after the execution has finished.-
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, 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
-
-
-
-
Field Detail
-
DEFAULT_PORT
public static final int DEFAULT_PORT
- See Also:
- Constant Field Values
-
m_Host
protected String m_Host
the host.
-
m_Port
protected int m_Port
the port.
-
m_Database
protected int m_Database
the database.
-
m_UseSSL
protected boolean m_UseSSL
whether to use SSL.
-
m_StartTLS
protected boolean m_StartTLS
whether to start TLS.
-
m_SSLVerifyMode
protected io.lettuce.core.SslVerifyMode m_SSLVerifyMode
how to verify peers.
-
m_Password
protected adams.core.base.BasePassword m_Password
the password to use.
-
m_ActualPassword
protected adams.core.base.BasePassword m_ActualPassword
the actual 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_StopMode
protected adams.flow.core.StopMode m_StopMode
how to perform the stop.
-
m_CustomStopMessage
protected String m_CustomStopMessage
the custom stop message to use if flow gets stopped due to cancelation.
-
m_Client
protected transient io.lettuce.core.RedisClient m_Client
the client object.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.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 interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.flow.core.AbstractActor
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.flow.core.Actor
- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classadams.flow.core.AbstractActor
- Returns:
- null if no info available, otherwise short string
-
getHost
public String getHost()
Returns the host to connect to.- Returns:
- the host name/ip
-
setHost
public void setHost(String value)
Sets the host to connect to.- Parameters:
value
- the host name/ip
-
hostTipText
public String hostTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getPort
public int getPort()
Returns the port to connect to.- Returns:
- the port
-
setPort
public void setPort(int value)
Sets the port to connect to.- Parameters:
value
- 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.
-
getDatabase
public int getDatabase()
Returns the database to use.- Returns:
- the database ID
-
setDatabase
public void setDatabase(int value)
Sets the database to use.- Parameters:
value
- the database ID
-
databaseTipText
public String databaseTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getUseSSL
public boolean getUseSSL()
Returns whether to use SSL for the connection.- Returns:
- true if to use
-
setUseSSL
public void setUseSSL(boolean value)
Sets whether to use SSL for the connection.- Parameters:
value
- true if to use
-
useSSLTipText
public String useSSLTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getStartTLS
public boolean getStartTLS()
Returns whether to use StartTLS with SSL connections.- Returns:
- true if to use
-
setStartTLS
public void setStartTLS(boolean value)
Sets whether to use StartTLS with SSL connections.- Parameters:
value
- true if to use
-
startTLSTipText
public String startTLSTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getSSLVerifyMode
public io.lettuce.core.SslVerifyMode getSSLVerifyMode()
Returns how to verify SSL peers.- Returns:
- how to verify
-
setSSLVerifyMode
public void setSSLVerifyMode(io.lettuce.core.SslVerifyMode value)
Sets how to verify SSL peers.- Parameters:
value
- how to verify
-
SSLVerifyModeTipText
public String SSLVerifyModeTipText()
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(adams.core.base.BasePassword value)
Sets the password to use.- Specified by:
setPassword
in interfaceadams.core.PasswordSupporter
- Parameters:
value
- the password
-
getPassword
public adams.core.base.BasePassword getPassword()
Returns the password to use.- Specified by:
getPassword
in interfaceadams.core.PasswordSupporter
- 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 interfaceadams.flow.core.OptionalPasswordPrompt
- Specified by:
setPromptForPassword
in interfaceadams.core.PasswordPrompter
- 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 interfaceadams.flow.core.OptionalPasswordPrompt
- Specified by:
getPromptForPassword
in interfaceadams.core.PasswordPrompter
- Returns:
- true if to prompt for a password
-
promptForPasswordTipText
public String promptForPasswordTipText()
Returns the tip text for this property.- Specified by:
promptForPasswordTipText
in interfaceadams.flow.core.OptionalPasswordPrompt
- Specified by:
promptForPasswordTipText
in interfaceadams.core.PasswordPrompter
- 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 interfaceadams.flow.core.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 interfaceadams.flow.core.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 interfaceadams.flow.core.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 interfaceadams.flow.core.InteractiveActor
- Parameters:
value
- the stop message
-
getCustomStopMessage
public String getCustomStopMessage()
Returns the custom message to use when stopping the flow.- Specified by:
getCustomStopMessage
in interfaceadams.flow.core.InteractiveActor
- Returns:
- the stop message
-
customStopMessageTipText
public String customStopMessageTipText()
Returns the tip text for this property.- Specified by:
customStopMessageTipText
in interfaceadams.flow.core.InteractiveActor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setStopMode
public void setStopMode(adams.flow.core.StopMode value)
Sets the stop mode.- Specified by:
setStopMode
in interfaceadams.flow.core.StopModeSupporter
- Parameters:
value
- the mode
-
getStopMode
public adams.flow.core.StopMode getStopMode()
Returns the stop mode.- Specified by:
getStopMode
in interfaceadams.flow.core.StopModeSupporter
- Returns:
- the mode
-
stopModeTipText
public String stopModeTipText()
Returns the tip text for this property.- Specified by:
stopModeTipText
in interfaceadams.flow.core.StopModeSupporter
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
newConnection
public io.lettuce.core.api.StatefulRedisConnection<String,String> newConnection(adams.core.MessageCollection errors)
Creates a new connection.- Parameters:
errors
- for collecting errors- Returns:
- the connection, null if failed to create
-
getClient
public io.lettuce.core.RedisClient getClient()
Returns the client in use.- Returns:
- the client object
-
getConnection
public io.lettuce.core.api.StatefulRedisConnection getConnection(Class codec)
Returns the connection in use.- Parameters:
codec
- the codec to use- Returns:
- the connection object
-
doInteract
public String doInteract()
Performs the interaction with the user.- Specified by:
doInteract
in interfaceadams.flow.core.InteractiveActor
- Returns:
- null if successfully interacted, otherwise error message
-
supportsHeadlessInteraction
public boolean supportsHeadlessInteraction()
Returns whether headless interaction is supported.- Specified by:
supportsHeadlessInteraction
in interfaceadams.flow.core.InteractiveActor
- 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:
doInteractHeadless
in interfaceadams.flow.core.InteractiveActor
- Returns:
- null if successfully interacted, otherwise error message
-
connect
protected String connect()
Performs the connection.- Returns:
- null if everything is fine, otherwise error message
-
doExecute
protected String doExecute()
Executes the actor.- Specified by:
doExecute
in classadams.flow.core.AbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished. Graphical output is left untouched.- Specified by:
wrapUp
in interfaceadams.flow.core.Actor
- Overrides:
wrapUp
in classadams.flow.core.AbstractActor
-
-