org.gcube.vremanagement.executor.stubs
Class TaskCall

java.lang.Object
  extended by WSCall
      extended by org.gcube.vremanagement.executor.stubs.BaseCall
          extended by org.gcube.vremanagement.executor.stubs.TaskCall

public class TaskCall
extends BaseCall

A high-level call for interacting with a running task. The call can return local proxies to the remote task, subscribe monitors to its key changes, and stop its execution.

Author:
Fabio Simeoni (University of Strathclyde)

Constructor Summary
TaskCall(org.apache.axis.message.addressing.EndpointReferenceType epr, GCUBEScope scope, GCUBESecurityManager... securityManager)
          Creates an instance for a task at a given endpoint and in a given scope, optionally using a security manager.
TaskCall(java.lang.String taskName, GCUBEScope scope, GCUBESecurityManager... securityManager)
          Creates an instance for a task with a given name and in a given scope, optionally using a security manager.
 
Method Summary
 TaskProxy getProxy()
          Returns a proxy for the remote task.
 void setEndpointReference(org.apache.axis.message.addressing.EndpointReferenceType epr)
           
 void stop()
          Stops the task.
 void subscribe(TaskMonitor monitor)
          Subscribes a monitor for changes to the task.
 
Methods inherited from class org.gcube.vremanagement.executor.stubs.BaseCall
getQuery, setQuery, setTaskProperty
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskCall

public TaskCall(java.lang.String taskName,
                GCUBEScope scope,
                GCUBESecurityManager... securityManager)
         throws java.lang.Exception
Creates an instance for a task with a given name and in a given scope, optionally using a security manager.

Parameters:
taskName - the name of the task.
scope - the scope.
securityManager - (optional) the security manager.
Throws:
java.lang.Exception - if the instance could not be created.

TaskCall

public TaskCall(org.apache.axis.message.addressing.EndpointReferenceType epr,
                GCUBEScope scope,
                GCUBESecurityManager... securityManager)
         throws java.lang.Exception
Creates an instance for a task at a given endpoint and in a given scope, optionally using a security manager.

Parameters:
epr - the endpoint.
scope - the scope.
securityManager - (optional) the security manager.
Throws:
java.lang.Exception - if the instance could not be created.
Method Detail

stop

public void stop()
          throws java.lang.Exception,
                 GCUBEUnrecoverableException,
                 GCUBERetrySameException
Stops the task.

Throws:
java.lang.Exception - if the call failed due to a local error.
GCUBEUnrecoverableException - if the task does not support this call. * @throws GCUBERetrySameException if the task could not be stopped.
GCUBERetrySameException

setEndpointReference

public void setEndpointReference(org.apache.axis.message.addressing.EndpointReferenceType epr)

getProxy

public TaskProxy getProxy()
                   throws java.lang.Exception
Returns a proxy for the remote task.

Returns:
the proxy.
Throws:
java.lang.Exception - if the proxy could not be returned.

subscribe

public void subscribe(TaskMonitor monitor)
               throws java.lang.Exception
Subscribes a monitor for changes to the task. The call is then synchronised to compensate for state changes that may have occurred prior or during subscription.

Parameters:
monitor - the monitor.
Throws:
java.lang.Exception - if the monitor could not be subscribed.