Example usage for org.springframework.web.context.request ServletWebRequest getRequest

List of usage examples for org.springframework.web.context.request ServletWebRequest getRequest

Introduction

In this page you can find the example usage for org.springframework.web.context.request ServletWebRequest getRequest.

Prototype

public final HttpServletRequest getRequest() 

Source Link

Document

Exposes the native HttpServletRequest that we're wrapping.

Usage

From source file:org.entitypedia.games.common.api.handlers.DefaultExceptionDetailsResolver.java

private String getWhatToDoMessage(ExceptionDetails template, ServletWebRequest request, Exception ex) {
    String msg = template.getWhatToDoMessage();
    if ("null".equalsIgnoreCase(msg) || "off".equalsIgnoreCase(msg)) {
        return null;
    }/* ww  w  . j  av  a 2 s.c  o m*/
    if (null == msg) {
        msg = getDefaultWhatToDoMessage();
    }
    if (null != messageSource) {
        Locale locale = null;
        if (null != localeResolver) {
            locale = localeResolver.resolveLocale(request.getRequest());
        }
        msg = messageSource.getMessage(msg, null, msg, locale);
        msg = messageSource.getMessage("error." + ex.getClass().getSimpleName() + ".whattodo", null, msg,
                locale);
    }

    return msg;
}

From source file:org.entitypedia.games.common.api.handlers.DefaultExceptionDetailsResolver.java

private String getExplanationMessage(ExceptionDetails template, ServletWebRequest request, Exception ex) {
    String msg = template.getExplanationMessage();
    if ("null".equalsIgnoreCase(msg) || "off".equalsIgnoreCase(msg)) {
        return null;
    }/*from  www .  ja v  a  2 s. c  om*/
    if (null == msg) {
        msg = getDefaultExplanationMessage();
    }
    if (null != messageSource) {
        Locale locale = null;
        if (null != localeResolver) {
            locale = localeResolver.resolveLocale(request.getRequest());
        }
        msg = messageSource.getMessage(msg, null, msg, locale);
        msg = messageSource.getMessage("error." + ex.getClass().getSimpleName() + ".explanation", null, msg,
                locale);
    }

    return msg;
}

From source file:alfio.controller.EventController.java

@RequestMapping(value = "/event/{eventName}/code/{code}", method = { RequestMethod.GET, RequestMethod.HEAD })
public String handleCode(@PathVariable("eventName") String eventName, @PathVariable("code") String code,
        Model model, ServletWebRequest request, RedirectAttributes redirectAttributes, Locale locale) {
    String trimmedCode = StringUtils.trimToNull(code);
    return eventRepository.findOptionalByShortName(eventName).map(event -> {
        String redirectToEvent = "redirect:/event/" + eventName + "/";
        ValidationResult res = savePromoCode(eventName, trimmedCode, model, request.getRequest());
        CodeType codeType = getCodeType(event.getId(), trimmedCode);
        if (res.isSuccess() && codeType == CodeType.PROMO_CODE_DISCOUNT) {
            return redirectToEvent;
        } else if (codeType == CodeType.TICKET_CATEGORY_CODE) {
            TicketCategory category = ticketCategoryRepository.findCodeInEvent(event.getId(), trimmedCode)
                    .get();/*www. j  a  v a2 s .com*/
            if (!category.isAccessRestricted()) {
                return makeSimpleReservation(eventName, request, redirectAttributes, locale, null, event,
                        category.getId());
            } else {
                Optional<SpecialPrice> specialPrice = specialPriceRepository
                        .findActiveNotAssignedByCategoryId(category.getId()).stream().findFirst();
                if (!specialPrice.isPresent()) {
                    return redirectToEvent;
                }
                savePromoCode(eventName, specialPrice.get().getCode(), model, request.getRequest());
                return makeSimpleReservation(eventName, request, redirectAttributes, locale,
                        specialPrice.get().getCode(), event, category.getId());
            }
        } else if (res.isSuccess() && codeType == CodeType.SPECIAL_PRICE) {
            int ticketCategoryId = specialPriceRepository.getByCode(trimmedCode).get().getTicketCategoryId();
            return makeSimpleReservation(eventName, request, redirectAttributes, locale, trimmedCode, event,
                    ticketCategoryId);
        } else {
            return redirectToEvent;
        }
    }).orElse("redirect:/");
}

From source file:com.novation.eligibility.rest.spring.web.servlet.handler.DefaultRestErrorResolver.java

/**
 * Returns the response status message to return to the client, or {@code null} if no
 * status message should be returned./*from   w ww.ja v a2 s .com*/
 *
 * @return the response status message to return to the client, or {@code null} if no
 *         status message should be returned.
 */
protected String getMessage(String msg, ServletWebRequest webRequest, Exception ex) {

    if (msg != null) {
        if (msg.equalsIgnoreCase("null") || msg.equalsIgnoreCase("off")) {
            return null;
        }
        if (msg.equalsIgnoreCase(DEFAULT_EXCEPTION_MESSAGE_VALUE)) {
            msg = ex.getMessage();
        }
        if (messageSource != null) {
            Locale locale = null;
            if (localeResolver != null) {
                locale = localeResolver.resolveLocale(webRequest.getRequest());
            }
            msg = messageSource.getMessage(msg, null, msg, locale);
        }
    }

    return msg;
}

From source file:com.yang.oa.commons.exception.DefaultRestErrorResolver.java

/**
 * Returns the response status message to return to the client, or {@code null} if no
 * status message should be returned./*from   www. j  a v  a  2s .c om*/
 *
 * @return the response status message to return to the client, or {@code null} if no
 *         status message should be returned.
 */
protected String getMessage(String msg, ServletWebRequest webRequest, Exception ex) {

    if (msg != null) {
        if (msg.equalsIgnoreCase("null") || msg.equalsIgnoreCase("off")) {
            return null;
        }
        if (msg.equalsIgnoreCase(DEFAULT_EXCEPTION_MESSAGE_VALUE)) {
            msg = ex.getMessage();
        }
        System.out.println(msg);
        if (messageSource != null) {
            Locale locale = null;
            if (localeResolver != null) {
                locale = localeResolver.resolveLocale(webRequest.getRequest());
            }
            msg = messageSource.getMessage(msg, null, msg, locale);
        }
    }

    return msg;
}

From source file:com.revolsys.ui.web.rest.interceptor.WebAnnotationMethodHandlerAdapter.java

@SuppressWarnings({ "unchecked", "rawtypes" })
public ModelAndView getModelAndView(final Method handlerMethod, final Class<?> handlerType,
        final Object returnValue, final ExtendedModelMap implicitModel, final ServletWebRequest webRequest)
        throws Exception {
    boolean responseArgumentUsed = false;
    final ResponseStatus responseStatusAnn = AnnotationUtils.findAnnotation(handlerMethod,
            ResponseStatus.class);
    if (responseStatusAnn != null) {
        final HttpStatus responseStatus = responseStatusAnn.value();
        // to be picked up by the RedirectView
        webRequest.getRequest().setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, responseStatus);
        webRequest.getResponse().setStatus(responseStatus.value());
        responseArgumentUsed = true;// w  w w .j a  v a  2  s  . c  o  m
    }

    // Invoke custom resolvers if present...
    if (WebAnnotationMethodHandlerAdapter.this.customModelAndViewResolvers != null) {
        for (final ModelAndViewResolver mavResolver : WebAnnotationMethodHandlerAdapter.this.customModelAndViewResolvers) {
            final ModelAndView mav = mavResolver.resolveModelAndView(handlerMethod, handlerType, returnValue,
                    implicitModel, webRequest);
            if (mav != ModelAndViewResolver.UNRESOLVED) {
                return mav;
            }
        }
    }

    if (returnValue != null && AnnotationUtils.findAnnotation(handlerMethod, ResponseBody.class) != null) {
        final View view = handleResponseBody(returnValue, webRequest);
        return new ModelAndView(view).addAllObjects(implicitModel);
    }

    if (returnValue instanceof ModelAndView) {
        final ModelAndView mav = (ModelAndView) returnValue;
        mav.getModelMap().mergeAttributes(implicitModel);
        return mav;
    } else if (returnValue instanceof Model) {
        return new ModelAndView().addAllObjects(implicitModel).addAllObjects(((Model) returnValue).asMap());
    } else if (returnValue instanceof View) {
        return new ModelAndView((View) returnValue).addAllObjects(implicitModel);
    } else if (AnnotationUtils.findAnnotation(handlerMethod, ModelAttribute.class) != null) {
        addReturnValueAsModelAttribute(handlerMethod, handlerType, returnValue, implicitModel);
        return new ModelAndView().addAllObjects(implicitModel);
    } else if (returnValue instanceof Map) {
        return new ModelAndView().addAllObjects(implicitModel).addAllObjects((Map) returnValue);
    } else if (returnValue instanceof String) {
        return new ModelAndView((String) returnValue).addAllObjects(implicitModel);
    } else if (returnValue == null) {
        // Either returned null or was 'void' return.
        if (responseArgumentUsed || webRequest.isNotModified()) {
            return null;
        } else {
            // Assuming view name translation...
            return new ModelAndView().addAllObjects(implicitModel);
        }
    } else if (!BeanUtils.isSimpleProperty(returnValue.getClass())) {
        // Assume a single model attribute...
        addReturnValueAsModelAttribute(handlerMethod, handlerType, returnValue, implicitModel);
        return new ModelAndView().addAllObjects(implicitModel);
    } else {
        throw new IllegalArgumentException("Invalid handler method return value: " + returnValue);
    }
}

From source file:alfio.controller.EventController.java

private String validateAndReserve(String eventName, ReservationForm reservation, BindingResult bindingResult,
        ServletWebRequest request, RedirectAttributes redirectAttributes, Locale locale, Event event) {
    final String redirectToEvent = "redirect:/event/" + eventName + "/";
    return reservation
            .validate(bindingResult, ticketReservationManager, additionalServiceRepository, eventManager, event)
            .map(selected -> {/*from  w  ww  .  j ava 2  s  .c om*/

                Date expiration = DateUtils.addMinutes(new Date(),
                        ticketReservationManager.getReservationTimeout(event));

                try {
                    String reservationId = ticketReservationManager.createTicketReservation(event,
                            selected.getLeft(), selected.getRight(), expiration,
                            SessionUtil.retrieveSpecialPriceSessionId(request.getRequest()),
                            SessionUtil.retrievePromotionCodeDiscount(request.getRequest()), locale, false);
                    return "redirect:/event/" + eventName + "/reservation/" + reservationId + "/book";
                } catch (TicketReservationManager.NotEnoughTicketsException nete) {
                    bindingResult.reject(ErrorsCode.STEP_1_NOT_ENOUGH_TICKETS);
                    addToFlash(bindingResult, redirectAttributes);
                    return redirectToEvent;
                } catch (TicketReservationManager.MissingSpecialPriceTokenException missing) {
                    bindingResult.reject(ErrorsCode.STEP_1_ACCESS_RESTRICTED);
                    addToFlash(bindingResult, redirectAttributes);
                    return redirectToEvent;
                } catch (TicketReservationManager.InvalidSpecialPriceTokenException invalid) {
                    bindingResult.reject(ErrorsCode.STEP_1_CODE_NOT_FOUND);
                    addToFlash(bindingResult, redirectAttributes);
                    SessionUtil.removeSpecialPriceData(request.getRequest());
                    return redirectToEvent;
                }
            }).orElseGet(() -> {
                addToFlash(bindingResult, redirectAttributes);
                return redirectToEvent;
            });
}

From source file:org.infoscoop.api.oauth2.provider.ISOAuth2ExceptionRenderer.java

public void handleHttpEntityResponse(HttpEntity<?> responseEntity, ServletWebRequest webRequest)
        throws Exception {
    if (responseEntity == null) {
        return;//from  www. j a v  a 2  s  . c o  m
    }
    HttpInputMessage inputMessage = createHttpInputMessage(webRequest);
    HttpOutputMessage outputMessage = createHttpOutputMessage(webRequest);
    HttpStatus statusCode = null;
    if (responseEntity instanceof ResponseEntity && outputMessage instanceof ServerHttpResponse) {
        statusCode = ((ResponseEntity<?>) responseEntity).getStatusCode();
        ((ServerHttpResponse) outputMessage).setStatusCode(statusCode);
    }
    HttpHeaders entityHeaders = responseEntity.getHeaders();
    if (!entityHeaders.isEmpty()) {
        outputMessage.getHeaders().putAll(entityHeaders);
    }
    Object body = responseEntity.getBody();
    if (body != null) {
        writeWithMessageConverters(body, inputMessage, outputMessage, statusCode, webRequest.getRequest());
    } else {
        // flush headers
        outputMessage.getBody();
    }
}

From source file:org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler.java

/**
 * Customize the response for NoHandlerFoundException.
 * <p>This method delegates to {@link #handleExceptionInternal}.
 * @param ex the exception/* ww  w  .  ja  va 2 s .  c  o  m*/
 * @param headers the headers to be written to the response
 * @param status the selected response status
 * @param webRequest the current request
 * @return a {@code ResponseEntity} instance
 * @since 4.2.8
 */
@Nullable
protected ResponseEntity<Object> handleAsyncRequestTimeoutException(AsyncRequestTimeoutException ex,
        HttpHeaders headers, HttpStatus status, WebRequest webRequest) {

    if (webRequest instanceof ServletWebRequest) {
        ServletWebRequest servletWebRequest = (ServletWebRequest) webRequest;
        HttpServletRequest request = servletWebRequest.getRequest();
        HttpServletResponse response = servletWebRequest.getResponse();
        if (response != null && response.isCommitted()) {
            if (logger.isErrorEnabled()) {
                logger.error("Async timeout for " + request.getMethod() + " [" + request.getRequestURI() + "]");
            }
            return null;
        }
    }

    return handleExceptionInternal(ex, null, headers, status, webRequest);
}