Package adams.flow.standalone
Class RatControl
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.core.AbstractDisplay
-
- adams.flow.standalone.RatControl
-
- 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.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.FlowPauseStateListener
,RatStateListener
,adams.event.VariableChangeListener
,adams.flow.core.Actor
,adams.flow.core.DisplayTypeSupporter
,adams.flow.core.ErrorHandler
,adams.gui.event.ConsolePanelListener
,Serializable
,Comparable
public class RatControl extends adams.flow.core.AbstractDisplay implements adams.event.FlowPauseStateListener, RatStateListener, adams.gui.event.ConsolePanelListener
Control actor for Rats/Rat actors.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: RatControl
-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
-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
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-type <adams.flow.core.displaytype.AbstractDisplayType> (property: displayType) Determines how to show the display, eg as standalone frame (default) or in the Flow editor window. default: adams.flow.core.displaytype.DisplayInEditor
-width <int> (property: width) The width of the dialog. default: 800 minimum: -1
-height <int> (property: height) The height of the dialog. default: 600 minimum: -1
-x <int> (property: x) The X position of the dialog (>=0: absolute, -1: left, -2: center, -3: right ). default: -1 minimum: -3
-y <int> (property: y) The Y position of the dialog (>=0: absolute, -1: top, -2: center, -3: bottom ). default: -1 minimum: -3
-bulk-actions <boolean> (property: bulkActions) If enabled, bulk actions can be performed on the checked rats. default: false
-console-line-limit <int> (property: consoleLineLimit) The line limit for the console output, <=0 for no limit. default: 10000 minimum: -1
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
BULKACTION_NONE
Caption for no bulk action.static String
BULKACTION_PAUSE
Caption for "pause" bulk action.static String
BULKACTION_RESUME
Caption for "resume" bulk action.static String
BULKACTION_START
Caption for "start" bulk action.static String
BULKACTION_STOP
Caption for "stop" bulk action.protected boolean
m_BulkActions
whether to allow bulk actions.protected adams.gui.core.BaseButton
m_ButtonApply
the button for apply the bulk actions.protected adams.gui.core.BaseButton
m_ButtonConsole
the button for showing the console output.protected adams.gui.core.BaseButton
m_ButtonStop
the button for stopping.protected int
m_ConsoleLineLimit
the line limit for the console output.protected List<AbstractControlPanel>
m_ControlPanels
the control panels.protected Map<Rats,List<AbstractControlPanel>>
m_ControlPanelsPerRats
the control panels per Rats actor.protected List<AbstractControlState>
m_ControlStates
the control states.protected JLabel
m_LabelStatus
the status label.protected boolean
m_RatControlStopping
whether the rat control is stopping.protected adams.gui.core.BaseTextArea
m_TextAreaConsole
the textarea with console output.-
Fields inherited from class adams.flow.core.AbstractDisplay
BACKUP_INPUT, m_CreateFrame, m_DisplayType, m_Frame, m_Height, m_InputToken, m_KeepOpen, m_Panel, m_ShortTitle, m_Updating, m_Width, m_X, m_Y
-
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 RatControl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
applyBulkAction(String action)
Applies the bulk action.String
bulkActionsTipText()
Returns the tip text for this property.void
cleanUp()
Cleans up after the execution has finished.void
clearPanel()
Does nothing.String
consoleLineLimitTipText()
Returns the tip text for this property.void
consolePanelMessageReceived(adams.gui.event.ConsolePanelEvent e)
Gets called when theConsolePanel
receives a message.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Executes the flow item.void
flowPauseStateChanged(adams.event.FlowPauseStateEvent e)
Gets called when the pause state of the flow changes.boolean
getBulkActions()
Returns whether to enable bulk actions.int
getConsoleLineLimit()
Returns the line limit for the console output.List<AbstractControlPanel>
getControlPanels()
Returns the current control panels.Map<Rats,List<AbstractControlPanel>>
getControlPanelsPerRats()
Returns the current control panels, grouped by RatControl actor.List<AbstractControlState>
getControlStates()
Returns the current control states.protected adams.flow.core.displaytype.AbstractDisplayType
getDefaultDisplayType()
Returns the default value for displaying the panel in the editor rather than in a separate frame.String
globalInfo()
Returns a string describing the object.protected void
initialize()
Initializes the members.protected Runnable
newDisplayRunnable()
Returns a runnable that displays frame, etc.protected adams.gui.core.BasePanel
newPanel()
Creates the panel to display in the dialog.void
ratStateChanged(RatStateEvent e)
Gets called in case the state of a Rat actor changes.void
setBulkActions(boolean value)
Sets whether to enable bulk actions.void
setConsoleLineLimit(int value)
Sets the line limit for the console output.String
setUp()
Initializes the item for flow execution.protected void
setUpControlStates()
Configures the control states.protected void
showConsole()
Shows the text area with the console output.void
stopExecution()
Stops the execution.void
stopRatControl()
Stops the actor.-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUpGUI, cleanUpGUIKeepOpen, closeFrame, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, getCreateFrame, getDefaultHeight, getDefaultShortTitle, getDefaultWidth, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getQuickInfo, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, input, postCreateFrame, preCreateFrame, registerWindow, registerWithEditor, reset, restoreState, setCreateFrame, setDisplayType, setHeight, setKeepOpen, setShortTitle, setWidth, setX, setY, shortTitleTipText, widthTipText, wrapUp, xTipText, yTipText
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, 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, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, 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
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, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, toCommandLine, variableChanged
-
-
-
-
Field Detail
-
BULKACTION_NONE
public static final String BULKACTION_NONE
Caption for no bulk action.- See Also:
- Constant Field Values
-
BULKACTION_PAUSE
public static final String BULKACTION_PAUSE
Caption for "pause" bulk action.- See Also:
- Constant Field Values
-
BULKACTION_RESUME
public static final String BULKACTION_RESUME
Caption for "resume" bulk action.- See Also:
- Constant Field Values
-
BULKACTION_STOP
public static final String BULKACTION_STOP
Caption for "stop" bulk action.- See Also:
- Constant Field Values
-
BULKACTION_START
public static final String BULKACTION_START
Caption for "start" bulk action.- See Also:
- Constant Field Values
-
m_BulkActions
protected boolean m_BulkActions
whether to allow bulk actions.
-
m_ControlPanels
protected List<AbstractControlPanel> m_ControlPanels
the control panels.
-
m_ControlPanelsPerRats
protected Map<Rats,List<AbstractControlPanel>> m_ControlPanelsPerRats
the control panels per Rats actor.
-
m_ControlStates
protected List<AbstractControlState> m_ControlStates
the control states.
-
m_TextAreaConsole
protected adams.gui.core.BaseTextArea m_TextAreaConsole
the textarea with console output.
-
m_ConsoleLineLimit
protected int m_ConsoleLineLimit
the line limit for the console output.
-
m_ButtonStop
protected adams.gui.core.BaseButton m_ButtonStop
the button for stopping.
-
m_ButtonConsole
protected adams.gui.core.BaseButton m_ButtonConsole
the button for showing the console output.
-
m_ButtonApply
protected adams.gui.core.BaseButton m_ButtonApply
the button for apply the bulk actions.
-
m_LabelStatus
protected JLabel m_LabelStatus
the status label.
-
m_RatControlStopping
protected boolean m_RatControlStopping
whether the rat control is stopping.
-
-
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
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classadams.flow.core.AbstractDisplay
-
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.AbstractDisplay
-
setBulkActions
public void setBulkActions(boolean value)
Sets whether to enable bulk actions.- Parameters:
value
- true if to enable bulk actions
-
getBulkActions
public boolean getBulkActions()
Returns whether to enable bulk actions.- Returns:
- true if bulk actions enabled
-
bulkActionsTipText
public String bulkActionsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setConsoleLineLimit
public void setConsoleLineLimit(int value)
Sets the line limit for the console output.- Parameters:
value
- the limit, <= 0 for unlimited
-
getConsoleLineLimit
public int getConsoleLineLimit()
Returns the line limit for the console output.- Returns:
- the limit, <= 0 for unlimited
-
consoleLineLimitTipText
public String consoleLineLimitTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getDefaultDisplayType
protected adams.flow.core.displaytype.AbstractDisplayType getDefaultDisplayType()
Returns the default value for displaying the panel in the editor rather than in a separate frame.- Overrides:
getDefaultDisplayType
in classadams.flow.core.AbstractDisplay
- Returns:
- the default
-
getControlPanels
public List<AbstractControlPanel> getControlPanels()
Returns the current control panels.- Returns:
- the panels
-
getControlPanelsPerRats
public Map<Rats,List<AbstractControlPanel>> getControlPanelsPerRats()
Returns the current control panels, grouped by RatControl actor.- Returns:
- the panels
-
getControlStates
public List<AbstractControlState> getControlStates()
Returns the current control states.- Returns:
- the states
-
clearPanel
public void clearPanel()
Does nothing.- Specified by:
clearPanel
in classadams.flow.core.AbstractDisplay
-
newPanel
protected adams.gui.core.BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classadams.flow.core.AbstractDisplay
- Returns:
- the panel
- See Also:
m_ControlPanels
,m_ControlPanelsPerRats
,setUpControlStates()
-
setUpControlStates
protected void setUpControlStates()
Configures the control states.- See Also:
m_ControlStates
-
applyBulkAction
protected void applyBulkAction(String action)
Applies the bulk action.- Parameters:
action
- the action to execute
-
newDisplayRunnable
protected Runnable newDisplayRunnable()
Returns a runnable that displays frame, etc. Must call notifyAll() on the m_Self object and set m_Updating to false.- Specified by:
newDisplayRunnable
in classadams.flow.core.AbstractDisplay
- Returns:
- the runnable
- See Also:
AbstractDisplay.m_Updating
-
setUp
public String setUp()
Initializes the item for flow execution.- Specified by:
setUp
in interfaceadams.flow.core.Actor
- Overrides:
setUp
in classadams.flow.core.AbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
doExecute
protected String doExecute()
Executes the flow item.- Overrides:
doExecute
in classadams.flow.core.AbstractDisplay
- Returns:
- null if everything is fine, otherwise error message
-
flowPauseStateChanged
public void flowPauseStateChanged(adams.event.FlowPauseStateEvent e)
Gets called when the pause state of the flow changes.- Specified by:
flowPauseStateChanged
in interfaceadams.event.FlowPauseStateListener
- Parameters:
e
- the event
-
ratStateChanged
public void ratStateChanged(RatStateEvent e)
Gets called in case the state of a Rat actor changes.- Specified by:
ratStateChanged
in interfaceRatStateListener
- Parameters:
e
- the event
-
consolePanelMessageReceived
public void consolePanelMessageReceived(adams.gui.event.ConsolePanelEvent e)
Gets called when theConsolePanel
receives a message.- Specified by:
consolePanelMessageReceived
in interfaceadams.gui.event.ConsolePanelListener
- Parameters:
e
- the generated event
-
showConsole
protected void showConsole()
Shows the text area with the console output.
-
cleanUp
public void cleanUp()
Cleans up after the execution has finished. Also removes graphical components.- Specified by:
cleanUp
in interfaceadams.flow.core.Actor
- Specified by:
cleanUp
in interfaceadams.core.CleanUpHandler
- Overrides:
cleanUp
in classadams.flow.core.AbstractDisplay
-
stopRatControl
public void stopRatControl()
Stops the actor.
-
stopExecution
public void stopExecution()
Stops the execution. No message set.- Specified by:
stopExecution
in interfaceadams.flow.core.Actor
- Specified by:
stopExecution
in interfaceadams.core.Stoppable
- Overrides:
stopExecution
in classadams.flow.core.AbstractDisplay
-
-