org.eclipse.smila.jobmanager.httphandler
Class JobRunControlHandler
java.lang.Object
org.eclipse.smila.http.server.util.ARequestHandler
org.eclipse.smila.http.server.json.JsonRequestHandler
org.eclipse.smila.jobmanager.httphandler.AJobManagerHandler
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. |
|
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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
JobRunControlHandler
public JobRunControlHandler()
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 methodrequestUri - 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 methodrequestUri - request URIex - 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 methodrequestUri - 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 methodrequestUri - request URI
- Returns:
- true if the method can be used for the URI, else false.