public abstract class JsonRestServlet extends javax.servlet.http.HttpServlet
| Modifier and Type | Class and Description |
|---|---|
static class |
JsonRestServlet.ParameterInfo
This bean defines a query string parameter.
|
static class |
JsonRestServlet.ResourceInfo
This bean defines a REST resource.
|
| Modifier and Type | Field and Description |
|---|---|
protected static String |
AUDIT_ERROR_CODE |
protected static String |
AUDIT_ERROR_MESSAGE |
protected static String |
AUDIT_HTTP_STATUS_CODE |
protected static String |
AUDIT_OPERATION |
protected static String |
AUDIT_PARAM |
static String |
AUTH_TOKEN
Request attribute constant for the authenticatio token.
|
protected static String |
INSTRUMENTATION_GROUP
Name of the instrumentation group for the WS layer, value is 'webservices'.
|
protected static String |
TEXT_UTF8 |
protected static String |
UNDEF |
static String |
USER_NAME
Request attribute constant for the user name.
|
protected static String |
XML_UTF8 |
| Constructor and Description |
|---|
JsonRestServlet(String instrumentationName,
JsonRestServlet.ResourceInfo... resourcesInfo)
Creates a servlet with a specified instrumentation sampler name for its requests.
|
| Modifier and Type | Method and Description |
|---|---|
protected String |
getContentType(javax.servlet.http.HttpServletRequest request)
Return the request content type, lowercase and without attributes.
|
protected String |
getResourceName(javax.servlet.http.HttpServletRequest request)
Return the resource name of the request.
|
protected String |
getUser(javax.servlet.http.HttpServletRequest request)
Return the user name of the request if any.
|
void |
init(javax.servlet.ServletConfig servletConfig)
Initializes total request and servlet request samplers.
|
protected void |
sendErrorResponse(javax.servlet.http.HttpServletResponse response,
int statusCode,
String error,
String message)
Sends a error response.
|
protected void |
sendJsonResponse(javax.servlet.http.HttpServletResponse response,
int statusCode,
JsonBean bean,
String timeZoneId)
Sends a JSON response.
|
protected void |
sendJsonResponse(javax.servlet.http.HttpServletResponse response,
int statusCode,
org.json.simple.JSONStreamAware json) |
protected void |
service(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Dispatches to super after loginfo and intrumentation handling.
|
protected void |
setAllowSafeModeChanges(boolean allow)
Enable HTTP POST/PUT/DELETE methods while in safe mode.
|
protected void |
setLogInfo(String actionid)
Set the thread local log info with the given information.
|
protected void |
startCron()
Start the request instrumentation cron.
|
protected void |
stopCron()
Stop the request instrumentation cron.
|
protected String |
validateContentType(javax.servlet.http.HttpServletRequest request,
String expected)
Validate and return the content type of the request.
|
protected void |
validateRestUrl(String method,
String resourceName,
Map<String,String[]> queryStringParams)
Validates REST URL using the ResourceInfos of the servlet.
|
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceprotected static final String XML_UTF8
protected static final String TEXT_UTF8
protected static final String AUDIT_OPERATION
protected static final String AUDIT_PARAM
protected static final String AUDIT_ERROR_CODE
protected static final String AUDIT_ERROR_MESSAGE
protected static final String AUDIT_HTTP_STATUS_CODE
protected static final String INSTRUMENTATION_GROUP
public static final String AUTH_TOKEN
public static final String USER_NAME
protected static final String UNDEF
public JsonRestServlet(String instrumentationName, JsonRestServlet.ResourceInfo... resourcesInfo)
instrumentationName - instrumentation name for timer and samplers for the servlet.resourcesInfo - list of resource definitions supported by the servlet, empty and wildcard resources must be
the last ones, in that order, first empty and the wildcard.protected void setAllowSafeModeChanges(boolean allow)
allow - true enabled safe mode changes, false disable safe mode changes
(default).protected void startCron()
protected void stopCron()
public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
init in interface javax.servlet.Servletinit in class javax.servlet.GenericServletjavax.servlet.ServletExceptionprotected final void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException
service in class javax.servlet.http.HttpServletjavax.servlet.ServletExceptionIOExceptionprotected void sendJsonResponse(javax.servlet.http.HttpServletResponse response, int statusCode, JsonBean bean, String timeZoneId) throws IOException
response - servlet response.statusCode - HTTP status code.bean - bean to send as JSON response.timeZoneId - time zone to use for dates in the JSON response.IOException - thrown if the bean could not be serialized to the response output stream.protected void sendErrorResponse(javax.servlet.http.HttpServletResponse response, int statusCode, String error, String message) throws IOException
response - servlet response.statusCode - HTTP status code.error - error code.message - error message.IOException - thrown if the error response could not be set.protected void sendJsonResponse(javax.servlet.http.HttpServletResponse response, int statusCode, org.json.simple.JSONStreamAware json) throws IOException
IOExceptionprotected void validateRestUrl(String method, String resourceName, Map<String,String[]> queryStringParams) throws javax.servlet.ServletException
method - HTTP method.resourceName - resource name.queryStringParams - query string parameters.javax.servlet.ServletException - thrown if the resource name or parameters are incorrect.protected String getResourceName(javax.servlet.http.HttpServletRequest request)
request - request instancenull if none.protected String getContentType(javax.servlet.http.HttpServletRequest request)
request - servlet request.null if none.protected String validateContentType(javax.servlet.http.HttpServletRequest request, String expected) throws XServletException
request - servlet request.expected - expected contentType.XServletException - thrown if the content type is invalid.protected String getUser(javax.servlet.http.HttpServletRequest request)
request - request.null if there is none.protected void setLogInfo(String actionid)
actionid - action ID.Copyright © 2015 Apache Software Foundation. All Rights Reserved.