SMILA 1.0 API documentation

org.eclipse.smila.jobmanager.httphandler
Class JobHandler

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.jobmanager.httphandler.AJobManagerHandler
              extended by org.eclipse.smila.jobmanager.httphandler.JobHandler
All Implemented Interfaces:
HttpHandler, RequestHandler

public class JobHandler
extends AJobManagerHandler

Implements the handling of HTTP requests on a single job definition.
URL pattern: smila/jobmanager/jobs/-jobname-/
Methods allowed: GET, DELETE, POST


Field Summary
static java.lang.String KEY_CURRENT
          The key for the current.
static java.lang.String KEY_DEFINITION
          The key for the definition.
static java.lang.String KEY_HISTORY
          The key for the history.
static java.lang.String KEY_JOB_ID
          The key for the job id.
static java.lang.String KEY_MODE
          The key for the mode.
static java.lang.String KEY_RUNS
          The key for the runs.
static java.lang.String KEY_STATE
          The key for the state.
static java.lang.String KEY_URL
          The key for the url.
static java.lang.String PARAM_RETURNRUNS
          key for the showJobRuns request parameter.
 
Fields inherited from class org.eclipse.smila.http.server.json.JsonRequestHandler
FACTORY, HEADER_REQUEST_HOST, HTTP_UTILS
 
Constructor Summary
JobHandler()
           
 
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 IllegalJobStateException to the exception handling of AJobManagerHandler.getErrorStatus(String, String, Throwable).
protected  boolean isValidMethod(java.lang.String method, java.lang.String requestUri)
          Set GET instead of POST as basic method.
 java.lang.Object process(java.lang.String method, java.lang.String requestUri, Record inputRecord, HttpExchange exchange)
          process input record and return result object.
 
Methods inherited from class org.eclipse.smila.jobmanager.httphandler.AJobManagerHandler
getDefinitionPersistence, getJobRunDataProvider, getJobRunEngine, getJobTaskProcessor, isDeleteRequest, isGetOrDeleteRequest, isGetOrPostRequest, isGetRequest, isPostRequest, setDefinitionPersistence, setJobRunDataProvider, setJobRunEngine, setJobTaskProcessor, unsetDefinitionPersistence, unsetJobRunDataProvider, unsetJobRunEngine, unsetJobTaskProcessor
 
Methods inherited from class org.eclipse.smila.http.server.json.JsonRequestHandler
getRequestHost, getSuccessStatus, getSuccessStatus, handle, process, 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

PARAM_RETURNRUNS

public static final java.lang.String PARAM_RETURNRUNS
key for the showJobRuns request parameter.

See Also:
Constant Field Values

KEY_DEFINITION

public static final java.lang.String KEY_DEFINITION
The key for the definition.

See Also:
Constant Field Values

KEY_JOB_ID

public static final java.lang.String KEY_JOB_ID
The key for the job id.

See Also:
Constant Field Values

KEY_STATE

public static final java.lang.String KEY_STATE
The key for the state.

See Also:
Constant Field Values

KEY_URL

public static final java.lang.String KEY_URL
The key for the url.

See Also:
Constant Field Values

KEY_CURRENT

public static final java.lang.String KEY_CURRENT
The key for the current.

See Also:
Constant Field Values

KEY_RUNS

public static final java.lang.String KEY_RUNS
The key for the runs.

See Also:
Constant Field Values

KEY_HISTORY

public static final java.lang.String KEY_HISTORY
The key for the history.

See Also:
Constant Field Values

KEY_MODE

public static final java.lang.String KEY_MODE
The key for the mode.

See Also:
Constant Field Values
Constructor Detail

JobHandler

public JobHandler()
Method Detail

process

public java.lang.Object process(java.lang.String method,
                                java.lang.String requestUri,
                                Record inputRecord,
                                HttpExchange exchange)
                         throws java.lang.Exception
process input record and return result object. Override this method in your handler if you need access to HttpExchange object, e.g. to read http header fields

Overrides:
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.
exchange - http exchange object, contains e.g. the http header fields
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.

getErrorStatus

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

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

isValidMethod

protected boolean isValidMethod(java.lang.String method,
                                java.lang.String requestUri)
Set GET instead of POST as basic method. GET, DELETE and POST are currently the only valid methods.

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

SMILA 1.0 API documentation