SMILA (incubation) API documentation

org.eclipse.smila.taskmanager.httphandler
Class WorkerTaskHandler

java.lang.Object
  extended by org.eclipse.smila.http.server.util.ARequestHandler
      extended by org.eclipse.smila.http.server.json.JsonRequestHandler
          extended by org.eclipse.smila.taskmanager.httphandler.WorkerTaskHandler
All Implemented Interfaces:
HttpHandler, RequestHandler

public class WorkerTaskHandler
extends JsonRequestHandler

Implements the handling of HTTP requests of a worker to obtain a task. URL pattern: taskmanager/-workername-/


Field Summary
static java.lang.String KEY_QUALIFIER
          the qualifier key.
static java.lang.String KEY_WORKERHOST
          key of workerHost property.
 
Fields inherited from class org.eclipse.smila.http.server.json.JsonRequestHandler
FACTORY
 
Constructor Summary
WorkerTaskHandler()
           
 
Method Summary
protected  int getErrorStatus(java.lang.String method, java.lang.String requestUri, java.lang.Throwable ex)
          Adds HTTP result code 400 ("BAD_REQUEST") for IllegalArgumentException to the exception handling of JsonRequestHandler.getErrorStatus(String, String, Throwable).
protected  java.util.Collection<java.lang.String> getQualifier(Record inputRecord)
           
protected  int getSuccessStatus(java.lang.String requestMethod, java.lang.String requestUri, Record inputRecord, java.lang.Object resultObject)
          Returns the success code.
protected  boolean isValidMethod(java.lang.String method, java.lang.String requestUri)
          Checks if the handler allows the HTTP method.
 java.lang.Object process(java.lang.String method, java.lang.String requestUri, Record inputRecord)
          process input record and return result object.
 void setTaskManager(TaskManager taskManager)
           
 void unsetTaskManager(TaskManager taskManager)
           
 
Methods inherited from class org.eclipse.smila.http.server.json.JsonRequestHandler
getRequestHost, getSuccessStatus, handle, writeErrorResult, writeResultObject, writeSuccessResult
 
Methods inherited from class org.eclipse.smila.http.server.util.ARequestHandler
activate, getDynamicUriParts, getRootContextPath, getStaticUriParts, getUriPattern, matches, urlDecode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEY_WORKERHOST

public static final java.lang.String KEY_WORKERHOST
key of workerHost property.

See Also:
Constant Field Values

KEY_QUALIFIER

public static final java.lang.String KEY_QUALIFIER
the qualifier key.

See Also:
Constant Field Values
Constructor Detail

WorkerTaskHandler

public WorkerTaskHandler()
Method Detail

process

public java.lang.Object process(java.lang.String method,
                                java.lang.String requestUri,
                                Record inputRecord)
                         throws java.lang.Exception
process input record and return result object.

Specified by:
process in class JsonRequestHandler
Parameters:
method - HTTP method
requestUri - request URI.
inputRecord - input record parsed either from request body, if it has content, or from request URI parameters.
Returns:
result object, may be null. If this is not a Record, you have to provide a JsonRequestHandler.writeResultObject(OutputStream, Object) method, too.
Throws:
java.lang.Exception - any failure during processing.

getQualifier

protected java.util.Collection<java.lang.String> getQualifier(Record inputRecord)
Returns:
task qualifier, if specified in input records.

getErrorStatus

protected int getErrorStatus(java.lang.String method,
                             java.lang.String requestUri,
                             java.lang.Throwable ex)
Adds HTTP result code 400 ("BAD_REQUEST") for IllegalArgumentException to the exception handling of JsonRequestHandler.getErrorStatus(String, String, Throwable).

Overrides:
getErrorStatus in class JsonRequestHandler
Parameters:
method - HTTP method
requestUri - request URI
ex - an exception
Returns:
error status code.
See Also:
JsonHttpUtils#getErrorStatus(String, String, Throwable)

getSuccessStatus

protected int getSuccessStatus(java.lang.String requestMethod,
                               java.lang.String requestUri,
                               Record inputRecord,
                               java.lang.Object resultObject)
Returns the success code.

Overrides:
getSuccessStatus in class JsonRequestHandler
Parameters:
requestMethod - HTTP method
requestUri - request URI
inputRecord - input record
resultObject - result object returned from process
Returns:
the status code to return for successful requests using the method and request URI.

isValidMethod

protected boolean isValidMethod(java.lang.String method,
                                java.lang.String requestUri)
Checks if the handler allows the HTTP method. GET and POST are currently the only valid methods.

Overrides:
isValidMethod in class JsonRequestHandler
Parameters:
method - HTTP method
requestUri - request URI
Returns:
true if the method can be used for the URI, else false.

setTaskManager

public void setTaskManager(TaskManager taskManager)
Parameters:
taskManager - the reference to the JobManager service.

unsetTaskManager

public void unsetTaskManager(TaskManager taskManager)
Parameters:
taskManager - the reference to the current JobManager service.

SMILA (incubation) API documentation