@Override
public ActionResponseDMO action(ActionRequestDMO actionRequest) {
// All requests are immediately wrapped for use on the server. This includes
// associating the request with the originating HttpServletRequest.
ActionRequest request = new ActionRequest(actionRequest, getThreadLocalRequest());
ActionResponse response = null;
if (request.isTrackingEnabled())
logger.trace("Received by DMP servlet:\n" + request.toOIF());
try {
response = (ActionResponse) pluginManager.getSecurityManager().validateSession(request);
if (response == null){
SessionRI session = pluginManager.getSecurityManager().getSession(request);
response = session.handleActionRequest(request);
}
} catch (DmcValueException e) {
response = request.getResponse();
response.setResponseType(ResponseTypeEnum.ERROR);
response.setResponseText(e.toString());
e.printStackTrace();
}