org.embl.ebi.escience.scufl.enactor.implementation
Class FreefluoEnactorProxy

java.lang.Object
  extended by org.embl.ebi.escience.scufl.enactor.implementation.FreefluoEnactorProxy
All Implemented Interfaces:
EnactorProxy

public class FreefluoEnactorProxy
extends java.lang.Object
implements EnactorProxy

An implementation of the EnactorProxy class that uses the Freefluo workflow enactor. For now, either a local or remote freefluo enactor is used depending on whether the property mygrid.enactor.soap.endpoint is set in mygrid.properties. If it isn't set, a local in-memory enactor is used; if it is, the enactor at the provided soap endpoint is used.

Author:
Tom Oinn

Method Summary
 WorkflowInstance compileWorkflow(ScuflModel workflow, java.util.Map input, UserContext user)
          Submit a workflow to the enactor represented by this proxy.
 WorkflowInstance compileWorkflow(ScuflModel workflow, UserContext user)
          Submit to the enactor represented by this proxy for compilation the workflow submission.
static EnactorProxy getInstance()
          Singleton pattern to retrieve a FreefluoEnactorProxy
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static EnactorProxy getInstance()
Singleton pattern to retrieve a FreefluoEnactorProxy

Returns:

compileWorkflow

public WorkflowInstance compileWorkflow(ScuflModel workflow,
                                        java.util.Map input,
                                        UserContext user)
                                 throws WorkflowSubmissionException
Description copied from interface: EnactorProxy
Submit a workflow to the enactor represented by this proxy. The workflow submission is provided in the form of a ScuflModel instance, and a WorkflowInstance implementation is returned to allow further interaction with the workflow state. Calling this method compiles the workflow but doesn't start it running. This allows registering listeners on the WorkflowInstance state before it starts running.
The inputs parameter is used to supply any known inputs at the time of workflow submission. Some enactor implementations may only allow input specification at this stage, but others may allow subsequent inputs to be added through the setInputs method in the returned WorkflowInstance.

Specified by:
compileWorkflow in interface EnactorProxy
Parameters:
workflow - The workflow model to enact
input - A Map of DataThing objects with keys corresponding to the named input parameters of the workflow.
Throws:
WorkflowSubmissionException - thrown if the workflow submission fails for some reason. This exception is only used to wrap the real exception using standard exception chaining mechanisms.

compileWorkflow

public WorkflowInstance compileWorkflow(ScuflModel workflow,
                                        UserContext user)
                                 throws WorkflowSubmissionException
Description copied from interface: EnactorProxy
Submit to the enactor represented by this proxy for compilation the workflow submission. The workflow submission is provided in the form of a ScuflModel instance, and a WorkflowInstance implementation is returned to allow further interaction with the workflow state. Calling this method compiles the workflow but doesn't set its inputs or start it running. This allows registering listeners on the WorkflowInstance state before it starts running.

Specified by:
compileWorkflow in interface EnactorProxy
Throws:
WorkflowSubmissionException