SMILA 1.0 API documentation

org.eclipse.smila.bulkbuilder.httphandler
Class BulkbuilderHandler

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

public class BulkbuilderHandler
extends JsonRequestHandler

Implements the processing of HTTP requests for the bulk processing.


Field Summary
protected  BulkbuilderService _bulkbuilderService
          Reference to the BulkBuilder.
static java.lang.String JOB_URL_PREFIX
          Prefix for the URL in the response to get infos about a specific workflow run.
static java.lang.String KEY_JOB_RUN_ID
          result key for the job run id.
static java.lang.String KEY_URL
          result key for the url to get infos about a workflow run.
static java.lang.String KEY_WORKFLOW_RUN_ID
          result key for the workflow run id.
 
Fields inherited from class org.eclipse.smila.http.server.json.JsonRequestHandler
FACTORY, HEADER_REQUEST_HOST, HTTP_UTILS
 
Constructor Summary
BulkbuilderHandler()
           
 
Method Summary
static Any createResponse(WorkflowRunInfo workflowRunInfo, java.lang.String requestHost, java.lang.String rootContext)
          create Any object for client response.
protected  int getErrorStatus(java.lang.String method, java.lang.String requestUri, java.lang.Throwable ex)
          Return a status code for an exception.
protected  java.lang.String getJobName(java.lang.String requestUri)
          Extracts the job name from the requestURI.
protected  int getSuccessStatus(java.lang.String method, java.lang.String requestUri)
          
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 setBulkbuilderService(BulkbuilderService service)
          Sets the bulkbuilder.
 void unsetBulkbuilderService(BulkbuilderService service)
          Unset the bulkbuilder.
 
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

KEY_WORKFLOW_RUN_ID

public static final java.lang.String KEY_WORKFLOW_RUN_ID
result key for the workflow run id.

See Also:
Constant Field Values

KEY_JOB_RUN_ID

public static final java.lang.String KEY_JOB_RUN_ID
result key for the job run id.

See Also:
Constant Field Values

KEY_URL

public static final java.lang.String KEY_URL
result key for the url to get infos about a workflow run.

See Also:
Constant Field Values

JOB_URL_PREFIX

public static final java.lang.String JOB_URL_PREFIX
Prefix for the URL in the response to get infos about a specific workflow run.

See Also:
Constant Field Values

_bulkbuilderService

protected BulkbuilderService _bulkbuilderService
Reference to the BulkBuilder.

Constructor Detail

BulkbuilderHandler

public BulkbuilderHandler()
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.

createResponse

public static Any createResponse(WorkflowRunInfo workflowRunInfo,
                                 java.lang.String requestHost,
                                 java.lang.String rootContext)
                          throws java.net.MalformedURLException
create Any object for client response.

Throws:
java.net.MalformedURLException

getJobName

protected java.lang.String getJobName(java.lang.String requestUri)
Extracts the job name from the requestURI.

Parameters:
requestUri - the request URI
Returns:
the index name

isValidMethod

protected boolean isValidMethod(java.lang.String method,
                                java.lang.String requestUri)
Checks if the handler allows the HTTP method.

Overrides:
isValidMethod in class JsonRequestHandler
Parameters:
method - HTTP method
requestUri - request URI
Returns:
true if method is either POST or DELETE.

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:
ACCEPTED

getErrorStatus

protected int getErrorStatus(java.lang.String method,
                             java.lang.String requestUri,
                             java.lang.Throwable ex)
Return a status code for an exception.

Overrides:
getErrorStatus in class JsonRequestHandler
Returns:
HTTP error code matching the exception type.
See Also:
HTTP_UTILS#getErrorStatus(String, String, Throwable)

setBulkbuilderService

public void setBulkbuilderService(BulkbuilderService service)
Sets the bulkbuilder.

Parameters:
service - the new bulkbuilder

unsetBulkbuilderService

public void unsetBulkbuilderService(BulkbuilderService service)
Unset the bulkbuilder.

Parameters:
service - the bulkbuilder to unset

SMILA 1.0 API documentation