Example usage for org.springframework.web.context.request NativeWebRequest setAttribute

List of usage examples for org.springframework.web.context.request NativeWebRequest setAttribute

Introduction

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

Prototype

void setAttribute(String name, Object value, int scope);

Source Link

Document

Set the value for the scoped attribute of the given name, replacing an existing value (if any).

Usage

From source file:org.impalaframework.extension.mvc.annotation.handler.ServletHandlerMethodInvoker.java

private ArgumentCollector[] assembleArgumentCollectors(Method handlerMethod, Object handler,
        NativeWebRequest webRequest, ExtendedModelMap implicitModel) {

    webRequest.setAttribute(WebAnnotationUtils.ARGUMENT_PENDING, Boolean.TRUE, WebRequest.SCOPE_REQUEST);

    ArgumentCollector[] collection;//from w  w w  .j  a  va 2 s  .  co  m
    try {

        Class<?>[] parameterTypes = handlerMethod.getParameterTypes();

        collection = new ArgumentCollector[parameterTypes.length];
        for (int i = 0; i < parameterTypes.length; i++) {

            collection[i] = argumentCollectorHelper.getArgumentCollector(handlerMethod, webRequest, i);
        }

        argumentCollectors.put(handlerMethod, collection);

    } finally {
        webRequest.removeAttribute(WebAnnotationUtils.ARGUMENT_PENDING, WebRequest.SCOPE_REQUEST);
    }
    return collection;
}

From source file:org.easit.core.controllers.twitter.TwitterProfileController.java

@RequestMapping(value = "/disconnect/twitter", method = RequestMethod.DELETE)
public RedirectView removeConnection(NativeWebRequest request) {
    RedirectView redirect = connectController.removeConnection("twitter",
            connectionRepository.findPrimaryConnection(Twitter.class).getKey().getProviderUserId(), request);

    request.setAttribute("connectedToTwitter", connectionRepository.findConnections("twitter").size() > 0,
            WebRequest.SCOPE_SESSION);//w w w  . j av a2  s.  c o  m
    request.setAttribute("connectedToAny", connectionRepository.findAllConnections().size() > 0,
            WebRequest.SCOPE_SESSION);

    return redirect;
}

From source file:org.easit.core.controllers.facebook.FacebookProfileController.java

@RequestMapping(value = "/disconnect/facebook", method = RequestMethod.DELETE)
public RedirectView removeConnection(NativeWebRequest request) {
    RedirectView redirect = connectController.removeConnection("facebook",
            connectionRepository.findPrimaryConnection(Facebook.class).getKey().getProviderUserId(), request);

    request.setAttribute("connectedToFacebook", connectionRepository.findConnections("facebook").size() > 0,
            WebRequest.SCOPE_SESSION);//from  w  ww  .ja  v a 2 s.  c  o  m
    request.setAttribute("connectedToAny", connectionRepository.findAllConnections().size() > 0,
            WebRequest.SCOPE_SESSION);
    return redirect;
}

From source file:org.springframework.cloud.aws.messaging.endpoint.AbstractNotificationMessageHandlerMethodArgumentResolver.java

@SuppressWarnings("unchecked")
@Override//from  w  ww.  j  av a  2 s .c  o  m
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
    Assert.notNull(parameter, "Parameter must not be null");
    if (webRequest.getAttribute(NOTIFICATION_REQUEST_ATTRIBUTE_NAME, RequestAttributes.SCOPE_REQUEST) == null) {
        webRequest.setAttribute(NOTIFICATION_REQUEST_ATTRIBUTE_NAME,
                this.messageConverter.read(JsonNode.class, createInputMessage(webRequest)),
                RequestAttributes.SCOPE_REQUEST);
    }

    JsonNode content = (JsonNode) webRequest.getAttribute(NOTIFICATION_REQUEST_ATTRIBUTE_NAME,
            RequestAttributes.SCOPE_REQUEST);
    return doResolveArgumentFromNotificationMessage(content, createInputMessage(webRequest),
            parameter.getParameterType());
}

From source file:org.zht.framework.web.bind.resolver.FormModelMethodArgumentResolver.java

/**
 * Resolve the argument from the model or if not found instantiate it with
 * its default if it is available. The model attribute is then populated
 * with request values via data binding and optionally validated
 * if {@code @java.validation.Valid} is present on the argument.
 *
 * @throws org.springframework.validation.BindException
 *                   if data binding and validation result in an error
 *                   and the next method parameter is not of type {@link org.springframework.validation.Errors}.
 * @throws Exception if WebDataBinder initialization fails.
 *//*from  w  w  w.jav a2s . c o  m*/
public final Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
        NativeWebRequest request, WebDataBinderFactory binderFactory) throws Exception {
    String name = parameter.getParameterAnnotation(FormModel.class).value();

    Object target = (mavContainer.containsAttribute(name)) ? mavContainer.getModel().get(name)
            : createAttribute(name, parameter, binderFactory, request);

    WebDataBinder binder = binderFactory.createBinder(request, target, name);
    target = binder.getTarget();
    if (target != null) {
        bindRequestParameters(mavContainer, binderFactory, binder, request, parameter);

        validateIfApplicable(binder, parameter);
        if (binder.getBindingResult().hasErrors()) {
            List<BindingResult> list = (List<BindingResult>) request
                    .getAttribute(ValidateConstant.BINDING_RESULT_LIST_NAME, Integer.MAX_VALUE / 2 + 1);
            if (null == list) {
                list = new ArrayList<BindingResult>();
                request.setAttribute(ValidateConstant.BINDING_RESULT_LIST_NAME, list, 0);
            }
            list.add(binder.getBindingResult());
            request.setAttribute(ValidateConstant.BINDING_RESULT_HAS_ERROR, true, 0);
            //                if (isBindExceptionRequired(binder, parameter)) {
            //                    throw new BindException(binder.getBindingResult());
            //                }
        }
    }

    target = binder.convertIfNecessary(binder.getTarget(), parameter.getParameterType());
    mavContainer.addAttribute(name, target);

    return target;
}