List of usage examples for org.springframework.web.method.support ModelAndViewContainer setRequestHandled
public void setRequestHandled(boolean requestHandled)
From source file:com.zuoxiaolong.blog.common.web.JsonHandlerMethodReturnValueHandler.java
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); HttpServletResponse httpServletResponse = webRequest.getNativeResponse(HttpServletResponse.class); httpServletResponse.setContentType(CONTENT_TYPE); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(httpServletResponse); JsonResponse jsonResponse = new JsonResponse(returnValue); outputMessage.getBody().write(StringUtils.toBytes(JsonUtils.toJson(jsonResponse))); outputMessage.getBody().flush();/*from w w w. j a v a 2 s.c om*/ }
From source file:io.jmnarloch.spring.boot.rxjava.mvc.ObservableReturnValueHandler.java
@SuppressWarnings("unchecked") @Override//from w ww . ja v a2 s. c o m public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { if (returnValue == null) { mavContainer.setRequestHandled(true); return; } final Observable<?> observable = Observable.class.cast(returnValue); WebAsyncUtils.getAsyncManager(webRequest) .startDeferredResultProcessing(new ObservableDeferredResult(observable), mavContainer); }
From source file:io.jmnarloch.spring.boot.rxjava.mvc.SingleReturnValueHandler.java
@SuppressWarnings("unchecked") @Override//w ww . jav a 2s . c o m public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { if (returnValue == null) { mavContainer.setRequestHandled(true); return; } final Single<?> single = Single.class.cast(returnValue); WebAsyncUtils.getAsyncManager(webRequest).startDeferredResultProcessing(new SingleDeferredResult(single), mavContainer); }
From source file:com.kixeye.chassis.transport.http.ListenableFutureReturnValueHandler.java
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { if (returnValue == null) { mavContainer.setRequestHandled(true); return;/*from w w w.j a v a 2 s .com*/ } final DeferredResult<Object> deferredResult = new DeferredResult<>(); Futures.addCallback((ListenableFuture<?>) returnValue, new FutureCallback<Object>() { @Override public void onSuccess(@Nullable Object result) { deferredResult.setResult(result); } @Override public void onFailure(Throwable t) { deferredResult.setErrorResult(t); } }); WebAsyncUtils.getAsyncManager(webRequest).startDeferredResultProcessing(deferredResult, mavContainer); }
From source file:fi.minedu.oiva.backend.spring.handler.CompletionStageReturnValueHandler.java
@SuppressWarnings("unchecked") @Override/* ww w .j av a 2 s . c o m*/ public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { if (returnValue == null) { mavContainer.setRequestHandled(true); return; } final DeferredResult<Object> deferredResult = new DeferredResult<>(); WebAsyncUtils.getAsyncManager(webRequest).startDeferredResultProcessing(deferredResult, mavContainer); CompletionStage<?> future = (CompletionStage<?>) returnValue; future.whenComplete((result, ex) -> { if (ex != null) { deferredResult.setErrorResult(ex); } else { deferredResult.setResult(result); } }); }
From source file:com.kixeye.chassis.transport.http.ObserableReturnValueHandler.java
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { if (returnValue == null) { mavContainer.setRequestHandled(true); return;// w ww. jav a 2 s . c om } final DeferredResult<Object> deferredResult = new DeferredResult<>(); ((Observable<?>) returnValue).subscribe(new Observer<Object>() { @Override public void onCompleted() { if (!deferredResult.hasResult()) { logger.error("onComplete before onNext"); deferredResult.setResult(null); } } @Override public void onError(Throwable e) { deferredResult.setErrorResult(e); } @Override public void onNext(Object args) { deferredResult.setResult(args); } }); WebAsyncUtils.getAsyncManager(webRequest).startDeferredResultProcessing(deferredResult, mavContainer); }
From source file:com.ufukuzun.myth.dialect.handler.AjaxRequestResponseBodyReturnValueHandler.java
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); if (returnValue != null && AjaxResponse.class.isInstance(returnValue)) { AjaxResponse ajaxResponse = (AjaxResponse) returnValue; HttpServletResponse response = (HttpServletResponse) webRequest.getNativeResponse(); HttpServletRequest request = (HttpServletRequest) webRequest.getNativeRequest(); ModelAndView modelAndView = ajaxResponse.getModelAndView(); Map<String, Object> mavContainerAttributes = new LinkedHashMap<String, Object>(); mavContainerAttributes.putAll(mavContainer.getModel()); modelAndView.getModelMap().mergeAttributes(mavContainerAttributes); returnValue = myth.response(ajaxResponse.getAjaxRequest(), modelAndView, response, request); writeWithMessageConverters(returnValue, returnType, webRequest); }/* ww w . j av a2 s.c o m*/ }
From source file:org.makersoft.mvc.method.annotation.FormatHandlerMethodReturnValueHandler.java
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); if (returnValue != null) { writeWithJSONSerialize(returnValue, returnType, webRequest); }/*ww w .j a v a2s . c om*/ }
From source file:com.github.zhanhb.download.spring.PathDownloaderHandler.java
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class); HttpServletResponse response = webRequest.getNativeResponse(HttpServletResponse.class); ToDownload toDownload = returnType.getMethodAnnotation(ToDownload.class); PathPartial d = toDownload.attachment() ? downloader : viewer; d.service(request, response, Path.class.cast(returnValue)); mavContainer.setRequestHandled(true); }
From source file:com.sishuok.bigpipe.handler.BigpipeTaskReturnValueHandler.java
@Override public void handleReturnValue(final Object returnValue, final MethodParameter returnType, final ModelAndViewContainer mavContainer, final NativeWebRequest webRequest) throws Exception { final BigPipeTask bigPipeTask = (BigPipeTask) returnValue; final HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class); final HttpServletResponse response = webRequest.getNativeResponse(HttpServletResponse.class); final DeferredResult<Void> deferredResult = new DeferredResult<Void>(); mavContainer.setRequestHandled(true); WebAsyncUtils.getAsyncManager(request).startDeferredResultProcessing(deferredResult, mavContainer); final BigPipeContext context = new BigPipeContext(request.getContextPath(), bigPipeTask.getModel()); //?pagelet? ? final String framePageletName = bigPipeTask.getFramePageletName(); final Pagelet framePagelet = pageletFinder.find(framePageletName); Assert.notNull(framePagelet, framePageletName + " pagelet not exists"); final BigPipeContext frameContext = context.copy(); final PageletResult framePageletResult = framePagelet.run(frameContext, response); final PageletView framePageletView = pageletViewResolver.resolve(framePageletResult); framePageletView.render(frameContext, response); final AtomicInteger counter = new AtomicInteger(bigPipeTask.getPageletNames().size()); //?Npagelet?/*from w w w . j a v a 2s .c o m*/ for (String otherPageletName : bigPipeTask.getPageletNames()) { final Pagelet pagelet = pageletFinder.find(otherPageletName); Assert.notNull(pagelet, otherPageletName + " pagelet not exists"); //??? executor.execute(new Runnable() { @Override public void run() { try { final BigPipeContext pageletContext = context.copy(); final PageletResult pageletResult = pagelet.run(pageletContext, response); final PageletView pageletView = pageletViewResolver.resolve(pageletResult); pageletView.render(pageletContext, response); } catch (Exception e) { e.printStackTrace(); // } if (counter.decrementAndGet() <= 0) { deferredResult.setResult(null); } } }); } }