org.eclipse.smila.jobmanager.httphandler
Class InitialTaskHandler
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.InitialTaskHandler
- All Implemented Interfaces:
- HttpHandler, RequestHandler
public class InitialTaskHandler
- extends AJobManagerHandler
Implements the handling of HTTP requests of a worker to obtain an initial task.
URL pattern: -workerName-/initialTask/-jobName-/
|
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 InvalidValueTypeException to the exception handling of
AJobManagerHandler.getErrorStatus(String, String, Throwable). |
protected int |
getSuccessStatus(java.lang.String requestMethod,
java.lang.String requestUri,
Record inputRecord,
java.lang.Object resultObject)
return NO_CONTENT if no task was found. |
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, isValidMethod, 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 |
InitialTaskHandler
public InitialTaskHandler()
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 InvalidValueTypeException 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 requestMethod,
java.lang.String requestUri,
Record inputRecord,
java.lang.Object resultObject)
- return NO_CONTENT if no task was found.
Returns the success code.
- Overrides:
getSuccessStatus in class JsonRequestHandler
- Parameters:
requestMethod - HTTP methodrequestUri - request URIinputRecord - input recordresultObject - result object returned from process
- Returns:
- the status code to return for successful requests using the method and request URI.