SMILA 1.0 API documentation

org.eclipse.smila.jobmanager.httphandler
Class JobRunControlHandler

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.JobRunControlHandler
All Implemented Interfaces:
HttpHandler, RequestHandler

public class JobRunControlHandler
extends AJobManagerHandler

Implements the handling of HTTP requests to finish a job run. URL pattern: smila/jobmanager/jobs/-jobname-/-jobid-/-command-


Field Summary
static java.lang.String CMD_CANCEL
          command value to invoke a job run cancel operation.
static java.lang.String CMD_FINISH
          command value to invoke a job run finish operation.
 
Fields inherited from class org.eclipse.smila.http.server.json.JsonRequestHandler
FACTORY, HEADER_REQUEST_HOST, HTTP_UTILS
 
Constructor Summary
JobRunControlHandler()
           
 
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 caused by a RunStorageException to the exception handling of AJobManagerHandler.getErrorStatus(String, String, Throwable).
protected  int getSuccessStatus(java.lang.String method, java.lang.String requestUri)
           
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)
          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, 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

CMD_FINISH

public static final java.lang.String CMD_FINISH
command value to invoke a job run finish operation.

See Also:
Constant Field Values

CMD_CANCEL

public static final java.lang.String CMD_CANCEL
command value to invoke a job run cancel operation.

See Also:
Constant Field Values
Constructor Detail

JobRunControlHandler

public JobRunControlHandler()
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. Override this method in your handler if you do not need access to HttpExchange object, e.g. to read http header fields. Otherwise use overloaded method with HttpExchange parameter.

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.
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 caused by a RunStorageException 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)

getSuccessStatus

protected int getSuccessStatus(java.lang.String method,
                               java.lang.String requestUri)
Overrides:
getSuccessStatus in class JsonRequestHandler
Parameters:
method - HTTP method
requestUri - request URI
Returns:
the status code to return for successful requests using the method and request URI. The code is "ACCEPTED" (202).

isValidMethod

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

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