org.eclipse.smila.restapi
Class StateHandler
java.lang.Object
org.eclipse.smila.http.server.util.ARequestHandler
org.eclipse.smila.http.server.json.JsonRequestHandler
org.eclipse.smila.restapi.StateHandler
- All Implemented Interfaces:
- HttpHandler, RequestHandler
public class StateHandler
- extends JsonRequestHandler
Implements the handling of requests to /smila:
{
"taskmanager" : {
"todo" : 0,
"inprogress" : 0
},
"api" : {
"jobmanager" : "http://localhost:8080/smila/jobmanager/",
"tasks" : "http://localhost:8080/smila/tasks/",
"pipelines" : "http://localhost:8080/smila/pipeline/",
"store" : "http://localhost:8080/smila/store/",
"crawlers" : "http://localhost:8080/smila/crawlers/",
"agents" : "http://localhost:8080/smila/agents/"
}
}
Method Summary |
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,
HttpExchange exchange)
process input record and return result object. |
void |
setTaskManager(TaskManager taskManager)
called by DS: set taskmanager to use before activation. |
void |
unsetTaskManager(TaskManager taskManager)
called by DS: remove taskmanager after deactivation. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StateHandler
public StateHandler()
process
public java.lang.Object process(java.lang.String method,
java.lang.String requestUri,
Record inputRecord,
HttpExchange exchange)
- 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 methodrequestUri
- 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.
isValidMethod
protected boolean isValidMethod(java.lang.String method,
java.lang.String requestUri)
- Checks if the handler allows the HTTP method.
GET is currently the only valid method.
- Overrides:
isValidMethod
in class JsonRequestHandler
- Parameters:
method
- HTTP methodrequestUri
- request URI
- Returns:
- true if the method can be used for the URI, else false.
setTaskManager
public void setTaskManager(TaskManager taskManager)
- called by DS: set taskmanager to use before activation.
unsetTaskManager
public void unsetTaskManager(TaskManager taskManager)
- called by DS: remove taskmanager after deactivation.