@Override public Object filter(ActionRequest actionRequest) throws Exception { ((MyActionRequest)actionRequest).data += "-F" + i; Object result = actionRequest.invoke(); ((MyActionRequest)actionRequest).data += "-f" + i; return result; } }
Object actionResult = actionRequest.invoke();
@Override public Object intercept(ActionRequest actionRequest) throws Exception { ((MyActionRequest)actionRequest).data += "-I"+i; Object result = actionRequest.invoke(); ((MyActionRequest)actionRequest).data += "-i"+i; return result; } }
/** * Measure action invocation time. */ @Override public Object intercept(final ActionRequest actionRequest) throws Exception { printBefore(actionRequest); long startTime = System.currentTimeMillis(); Object result = null; try { result = actionRequest.invoke(); } catch (Exception ex) { result = "<exception>"; throw ex; } catch (Throwable th) { result = "<throwable>"; throw new Exception(th); } finally { long executionTime = System.currentTimeMillis() - startTime; printAfter(actionRequest, executionTime, result); } return result; }
@Override public Object intercept(final ActionRequest actionRequest) throws Exception { Object action = actionRequest.getAction(); Class actionType = action.getClass(); PropertyDescriptor[] allProperties = lookupAnnotatedProperties(actionType); for (PropertyDescriptor propertyDescriptor : allProperties) { onAnnotatedProperty(actionRequest, propertyDescriptor); } return actionRequest.invoke(); }
@Override public Object intercept(final ActionRequest actionRequest) throws Exception { HttpServletRequest request = actionRequest.getHttpServletRequest(); // defines request bundle of this http request LocalizationUtil.setRequestBundleName(request, getActionClassName(actionRequest.getAction())); return actionRequest.invoke(); }
@Override public Object intercept(final ActionRequest actionRequest) { try { return actionRequest.invoke(); } catch (ResponseException rex) { return JsonResult.of(HttpStatus.of(rex.getStatus(), rex.getMessage())); } catch (Exception ex) { log.error("Action execution failed:", ex); return JsonResult.of(ex); } } }
/** * Invokes an action asynchronously by submitting it to the thread pool. */ public void invoke(final ActionRequest actionRequest) { if (executorService == null) { throw new MadvocException("No action is marked as async!"); } final HttpServletRequest servletRequest = actionRequest.getHttpServletRequest(); log.debug(() -> "Async call to: " + actionRequest); final AsyncContext asyncContext = servletRequest.startAsync(); executorService.submit(() -> { try { actionRequest.invoke(); } catch (Exception ex) { log.error("Invoking async action path failed: " , ExceptionUtil.unwrapThrowable(ex)); } finally { asyncContext.complete(); } }); } }
/** * {@inheritDoc} */ @Override public Object intercept(final ActionRequest actionRequest) throws Exception { HttpServletRequest servletRequest = actionRequest.getHttpServletRequest(); // detect multipart request if (ServletUtil.isMultipartRequest(servletRequest)) { servletRequest = new MultipartRequestWrapper(servletRequest, fileUploader.get(), madvocEncoding.getEncoding()); actionRequest.bind(servletRequest); } // do it inject(actionRequest); final Object result = actionRequest.invoke(); outject(actionRequest); return result; }
asyncActionExecutor.invoke(actionRequest); } else { actionRequest.invoke();
@Override public Object intercept(final ActionRequest actionRequest) throws Exception { final ActionRuntime actionRuntime = actionRequest.getActionRuntime(); if (actionRuntime.isAuthenticated()) { // action requires user to be authenticated T grantedAuthToken = authenticateUserViaHttpSession(actionRequest); if (grantedAuthToken == null) { grantedAuthToken = authenticateUserViaToken(actionRequest); } if (authenticateViaBasicAuth && grantedAuthToken == null) { grantedAuthToken = authenticateUserViaBasicAuth(actionRequest); } if (grantedAuthToken == null) { return JsonResult.of(return404instead401 ? HttpStatus.error404().notFound() : HttpStatus.error401().unauthorized("Not authorized")); } if (!authorized(actionRequest)) { return JsonResult.of(HttpStatus.error403().forbidden()); } } return actionRequest.invoke(); }
/** * {@inheritDoc} */ @Override public Object intercept(ActionRequest actionRequest) throws Exception { injectIdsFromRequest(actionRequest); return actionRequest.invoke(); }
/** * Invokes action request (interceptors and action method) and renders result. */ protected void invokeAndRender(ActionRequest request) throws Exception { Object resultValueObject = request.invoke(); render(request, resultValueObject); }
/** * Invokes interceptor using <code>enabled</code> information. * When interceptor is disabled, control is passed to the next one. * When interceptor is enabled, it will be invoked before the next * one (or the action). */ public final Object invoke(ActionRequest actionRequest) throws Exception { if (enabled) { return intercept(actionRequest); } else { return actionRequest.invoke(); } }
/** * {@inheritDoc} */ @Override public Object intercept(ActionRequest actionRequest) throws Exception { Object action = actionRequest.getAction(); if (action instanceof Preparable) { ((Preparable) action).prepare(); } return actionRequest.invoke(); } }
/** * Measure action invocation time. */ @Override public Object intercept(ActionRequest actionRequest) throws Exception { printBefore(actionRequest); long startTime = System.currentTimeMillis(); Object result = null; try { result = actionRequest.invoke(); } catch (Exception ex) { result = "<exception>"; throw ex; } catch (Throwable th) { result = "<throwable>"; throw new Exception(th); } finally { long executionTime = System.currentTimeMillis() - startTime; printAfter(actionRequest, executionTime, result); } return result; }
@Override public Object intercept(ActionRequest actionRequest) throws Exception { Object action = actionRequest.getAction(); Class actionType = action.getClass(); Field[] fields = lookupAnnotatedFields(actionType); for (Field field : fields) { onAnnotatedField(actionRequest, field); } return actionRequest.invoke(); }
/** * If action is preparable, injects ids from request and invokes <code>prepare()</code>. */ @Override public Object intercept(ActionRequest actionRequest) throws Exception { Object action = actionRequest.getAction(); if (action instanceof Preparable) { injectIdsFromRequest(actionRequest); ((Preparable) action).prepare(); } return actionRequest.invoke(); }
@Override public Object intercept(final ActionRequest actionRequest) throws Exception { HttpServletRequest request = actionRequest.getHttpServletRequest(); // defines request bundle of this http request LocalizationUtil.setRequestBundleName(request, getActionClassName(actionRequest.getAction())); return actionRequest.invoke(); }
/** * {@inheritDoc} */ @Override public Object intercept(ActionRequest actionRequest) throws Exception { HttpServletRequest servletRequest = actionRequest.getHttpServletRequest(); // detect multipart request if (ServletUtil.isMultipartRequest(servletRequest)) { servletRequest = new MultipartRequestWrapper(servletRequest, madvocConfig.getFileUploadFactory(), madvocConfig.getEncoding()); actionRequest.setHttpServletRequest(servletRequest); } // do it inject(actionRequest); Object result = actionRequest.invoke(); outject(actionRequest); return result; }