de.unihalle.informatik.Alida.gui
Class ALDOperatorGUIExecutionProxy

java.lang.Object
  extended by de.unihalle.informatik.Alida.gui.ALDOperatorGUIExecutionProxy
All Implemented Interfaces:
ALDWorkflowEventListener, ActionListener, EventListener

public class ALDOperatorGUIExecutionProxy
extends Object
implements ALDWorkflowEventListener, ActionListener

Manager for executing single operator and workflow objects via GUI.

Author:
Birgit Moeller

Nested Class Summary
protected  class ALDOperatorGUIExecutionProxy.ParameterUpdateListener
          Listener class to react on parameter value updates in config window.
protected static class ALDOperatorGUIExecutionProxy.WorkflowThreadStatus
          Status of the associated thread to execute operator.
 
Field Summary
protected  ALDWorkflow alidaWorkflow
          Reference to the underlying Alida workflow object.
protected  Iterator<Object> batchInputIterator
           
protected  String batchInputParameter
           
protected  boolean batchModeActive
           
protected  LinkedList<String> batchOutputParameter
           
protected  HashMap<String,ALDBatchRunResultInfo> batchOutputResultMap
           
protected  ALDOperatorControlFrame controlWin
          Corresponding configuration and control window.
protected  JFrame failureMessageWin
          Corresponding configuration and control window.
protected  ALDWorkflowNodeID operatorNodeID
          Reference ID of the operator node in Alida workflow;
protected  ALDOperatorGUIExecutionProxy.ParameterUpdateListener paramUpdateListener
          Listener object attached to the control window.
protected  boolean processEvents
          Flag to indicate if the is an abortion currently going on.
protected  ALDOperatorResultFrame resultFrame
          Frame showing operator execution results.
protected  ALDOperatorGUIExecutionProxy.WorkflowThreadStatus workflowStatus
          Current status of the operator execution thread.
protected  Object[] yesnoOption
          Labels to be used on buttons of Yes/No message boxes.
 
Constructor Summary
ALDOperatorGUIExecutionProxy(ALDOperatorLocation opLocation)
          Default constructor.
 
Method Summary
 void actionPerformed(ActionEvent e)
           
 void configureWorkflow(ALDConfigurationEvent confEvent)
           
protected  void createNewWorkflowNode(ALDOperatorLocation loc)
          Creates a new workflow node.
protected  void displayFailureMessageWindow(ALDWorkflowEvent event)
          Displays window with detailed error information on execution failures.
protected  void doNextBatchModeStep()
           
 void doNextStepInWorkflow()
           
protected  ALDOperatorControlFrame getNewConfigWin(ALDOperator op)
          Generate a new configuration window.
 ALDOperatorGUIExecutionProxy.WorkflowThreadStatus getWorkflowThreadStatus()
          Returns current status of workflow thread.
protected  void handleAddNodeEvent(ALDOperator op, ALDWorkflowNodeID id)
          Adds a node to the workflow graph.
 void handleALDWorkflowEvent(ALDWorkflowEvent event)
          Method which is called on event occurrence.
protected  void handleNodeParameterChangeEvent(Collection<ALDWorkflowNodeID> idList)
          Update parameter labels according to configuration states.
protected  void handleNodeStateChangeEvent(Collection<ALDWorkflowNodeID> idList)
          Update control window color according to node's state.
protected  void initInterruptWin()
          Setup of the window for renaming workflows.
protected  void initOperatorWorkflow(ALDOperatorLocation opLocation)
          Adds the operator as node to the workflow.
 void interruptExecution()
          Aborts running execution of the workflow.
 void killWorkflowThread()
           
 void pauseWorkflow()
           
protected  void processWorkflowEventQueue()
          Processes all events that were recently added to the queue.
 boolean quit()
          Does clean-up on termination, i.e. closes all open windows.
 void resumeWorkflow()
           
 void runWorkflow()
          Executes the workflow.
 void runWorkflowInBatchMode()
           
 void showGUI()
          Displays the configuration and control window.
 void showResultFrame()
          (Re-)display the result frame again, if results available.
 void stopWorkflow()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

yesnoOption

protected final Object[] yesnoOption
Labels to be used on buttons of Yes/No message boxes.


alidaWorkflow

protected ALDWorkflow alidaWorkflow
Reference to the underlying Alida workflow object.


workflowStatus

protected ALDOperatorGUIExecutionProxy.WorkflowThreadStatus workflowStatus
Current status of the operator execution thread.


controlWin

protected ALDOperatorControlFrame controlWin
Corresponding configuration and control window.


failureMessageWin

protected JFrame failureMessageWin
Corresponding configuration and control window.


paramUpdateListener

protected ALDOperatorGUIExecutionProxy.ParameterUpdateListener paramUpdateListener
Listener object attached to the control window.


operatorNodeID

protected ALDWorkflowNodeID operatorNodeID
Reference ID of the operator node in Alida workflow;


resultFrame

protected ALDOperatorResultFrame resultFrame
Frame showing operator execution results.


processEvents

protected boolean processEvents
Flag to indicate if the is an abortion currently going on.


batchModeActive

protected boolean batchModeActive

batchInputParameter

protected String batchInputParameter

batchInputIterator

protected Iterator<Object> batchInputIterator

batchOutputParameter

protected LinkedList<String> batchOutputParameter

batchOutputResultMap

protected HashMap<String,ALDBatchRunResultInfo> batchOutputResultMap
Constructor Detail

ALDOperatorGUIExecutionProxy

public ALDOperatorGUIExecutionProxy(ALDOperatorLocation opLocation)
Default constructor.

Method Detail

initInterruptWin

protected void initInterruptWin()
Setup of the window for renaming workflows.


initOperatorWorkflow

protected void initOperatorWorkflow(ALDOperatorLocation opLocation)
Adds the operator as node to the workflow.

Parameters:
opLocation - Location information of operator handled by this manager.

createNewWorkflowNode

protected void createNewWorkflowNode(ALDOperatorLocation loc)
Creates a new workflow node.

Parameters:
loc - Location from where to instantiate the operator.

showGUI

public void showGUI()
Displays the configuration and control window.


configureWorkflow

public void configureWorkflow(ALDConfigurationEvent confEvent)

getWorkflowThreadStatus

public ALDOperatorGUIExecutionProxy.WorkflowThreadStatus getWorkflowThreadStatus()
Returns current status of workflow thread.

Returns:
Status of workflow thread.

runWorkflow

public void runWorkflow()
Executes the workflow.


runWorkflowInBatchMode

public void runWorkflowInBatchMode()
                            throws ALDBatchIOException,
                                   ALDOperatorException
Throws:
ALDBatchIOException
ALDOperatorException

doNextBatchModeStep

protected void doNextBatchModeStep()

pauseWorkflow

public void pauseWorkflow()

resumeWorkflow

public void resumeWorkflow()

doNextStepInWorkflow

public void doNextStepInWorkflow()

stopWorkflow

public void stopWorkflow()

killWorkflowThread

public void killWorkflowThread()

interruptExecution

public void interruptExecution()
Aborts running execution of the workflow.


showResultFrame

public void showResultFrame()
(Re-)display the result frame again, if results available.


quit

public boolean quit()
Does clean-up on termination, i.e. closes all open windows.


processWorkflowEventQueue

protected void processWorkflowEventQueue()
Processes all events that were recently added to the queue.

Note that this function needs to be called after all actions on the Alida workflow except calls to 'run' methods.


handleALDWorkflowEvent

public void handleALDWorkflowEvent(ALDWorkflowEvent event)
Description copied from interface: ALDWorkflowEventListener
Method which is called on event occurrence.

Specified by:
handleALDWorkflowEvent in interface ALDWorkflowEventListener
Parameters:
event - Event to be handled.

actionPerformed

public void actionPerformed(ActionEvent e)
Specified by:
actionPerformed in interface ActionListener

displayFailureMessageWindow

protected void displayFailureMessageWindow(ALDWorkflowEvent event)
Displays window with detailed error information on execution failures.

Parameters:
event - Workflow event got on failure.

handleAddNodeEvent

protected void handleAddNodeEvent(ALDOperator op,
                                  ALDWorkflowNodeID id)
Adds a node to the workflow graph.

Parameters:
op - Operator associated with the node.
Throws:
ALDOperatorException

handleNodeParameterChangeEvent

protected void handleNodeParameterChangeEvent(Collection<ALDWorkflowNodeID> idList)
Update parameter labels according to configuration states.

Parameters:
idList - List of nodes that are to be updated.

handleNodeStateChangeEvent

protected void handleNodeStateChangeEvent(Collection<ALDWorkflowNodeID> idList)
Update control window color according to node's state.

Parameters:
idList - List of nodes that are to be updated.

getNewConfigWin

protected ALDOperatorControlFrame getNewConfigWin(ALDOperator op)
                                           throws ALDOperatorException
Generate a new configuration window.

Is to be overwritten by subclasses.

Parameters:
op - Operator for which window is requested.
Returns:
New configuration window.
Throws:
ALDOperatorException


Copyright © 2010–2014 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.