Example usage for org.springframework.web.bind.support WebArgumentResolver UNRESOLVED

List of usage examples for org.springframework.web.bind.support WebArgumentResolver UNRESOLVED

Introduction

In this page you can find the example usage for org.springframework.web.bind.support WebArgumentResolver UNRESOLVED.

Prototype

Object UNRESOLVED

To view the source code for org.springframework.web.bind.support WebArgumentResolver UNRESOLVED.

Click Source Link

Document

Marker to be returned when the resolver does not know how to handle the given method parameter.

Usage

From source file:com.github.mjeanroy.springmvc.uadetector.resolvers.ReadableUserAgentResolverTest.java

@Test
public void it_should_not_resolved_arguments_with_unknown_class() throws Exception {
    Class klass = Integer.class;
    when(methodParameter.getParameterType()).thenReturn(klass);

    Object argument = readableUserAgentResolver.resolveArgument(methodParameter, nativeWebRequest);

    assertThat(argument).isNotNull().isSameAs(WebArgumentResolver.UNRESOLVED);

    verify(methodParameter).getParameterType();
    verifyZeroInteractions(nativeWebRequest);
}

From source file:com.github.mjeanroy.springmvc.uadetector.resolvers.BrowserResolverTest.java

@Test
public void it_should_not_resolved_arguments_with_unknown_class() throws Exception {
    Class klass = Integer.class;
    when(methodParameter.getParameterType()).thenReturn(klass);

    Object argument = browserResolver.resolveArgument(methodParameter, nativeWebRequest);

    assertThat(argument).isNotNull().isSameAs(WebArgumentResolver.UNRESOLVED);

    verify(methodParameter).getParameterType();
    verifyZeroInteractions(nativeWebRequest);
}

From source file:com.miserablemind.butter.resolvers.user.ActiveUserMethodArgumentResolver.java

/**
 * Resolves the method parameter. Overrides {@link HandlerMethodArgumentResolver} method resolveArgument.
 *
 * @param methodParameter parameter being resolved. Value is used for passing to supportsParameter method.
 * @param mavContainer    model and view container. In this instance it is not used for anything.
 * @param webRequest      web request used for getting the principal.
 * @param binderFactory   WebDataBinderFactory. In this case it is not used for anything.
 * @return {@link AppUser} app user if there is an authenticated user. {@code null} if there is no authenticated user,
 * {@code WebArgumentResolver.UNRESOLVED} if method parameter is not supported.
 * @throws Exception//from  ww w  .  jav a2  s .  co m
 */
@Override
public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

    if (this.supportsParameter(methodParameter)) {
        Principal principal = webRequest.getUserPrincipal();
        if (null != principal) {
            return ((Authentication) principal).getPrincipal();
        } else {
            return null;
        }
    }
    return WebArgumentResolver.UNRESOLVED;

}

From source file:com.epam.ta.reportportal.ws.resolver.ActiveUserWebArgumentResolver.java

@Override
public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer paramModelAndViewContainer,
        NativeWebRequest webRequest, WebDataBinderFactory paramWebDataBinderFactory) throws Exception {
    Authentication authentication = (Authentication) webRequest.getUserPrincipal();
    if (!authentication.getAuthorities().isEmpty()) {
        Optional<UserRole> userRole = UserRole
                .findByAuthority(authentication.getAuthorities().iterator().next().getAuthority());
        return userRole.isPresent() ? userRole.get() : WebArgumentResolver.UNRESOLVED;
    }//  w ww.  j a  v  a2s  .  c  o m
    return WebArgumentResolver.UNRESOLVED;
}

From source file:org.impalaframework.extension.mvc.annotation.collector.ArgumentCollectorHelper.java

public ArgumentCollector getArgumentCollector(Method handlerMethod, NativeWebRequest webRequest, int index) {

    //FIXME test//from w  w w.  ja v a  2 s  . c o  m

    ArgumentCollector collector = null;
    MethodParameter parameter = new MethodParameter(handlerMethod, index);
    Annotation[] annotations = WebAnnotationUtils.getAnnotations(parameter, "getParameterAnnotations");
    //parameter.getParameterAnnotations();

    Class<?> parameterType = parameter.getParameterType();

    Annotation annotation = null;

    if (annotations.length > 2) {
        throw new IllegalStateException("Parameter with index " + index + " from method " + handlerMethod
                + " has more than one annotation");
    }

    if (annotations.length == 1) {
        annotation = annotations[0];
    }

    if (annotation != null) {

        //FIXME test

        if (RequestParam.class.isInstance(annotation)) {
            collector = new RequestParameterArgumentCollector((RequestParam) annotation, parameterType);
        } else if (ModelAttribute.class.isInstance(annotation)) {
            collector = new ModelAttributeArgumentCollector((ModelAttribute) annotation);
        } else {

            if (webArgumentResolvers != null) {
                for (WebArgumentResolver webArgumentResolver : webArgumentResolvers) {

                    try {
                        Object resolveArgument = webArgumentResolver.resolveArgument(parameter, webRequest);
                        if (!WebArgumentResolver.UNRESOLVED.equals(resolveArgument)) {
                            collector = new CustomResolverArgumentCollector(webArgumentResolver, parameter);
                        }
                    } catch (RuntimeException e) {
                        throw e;
                    } catch (Exception e) {
                        throw new ExecutionException(e.getMessage());
                    }
                }
            }
        }
    }

    if (collector == null) {

        //FIXME only handling from point of view of map
        if (Map.class.isAssignableFrom(parameterType)) {
            collector = new ModelArgumentCollector();
        } else if (HttpServletRequest.class.isAssignableFrom(parameterType)) {
            collector = new HttpServletRequestArgumentCollector();
        } else if (HttpServletResponse.class.isAssignableFrom(parameterType)) {
            collector = new HttpServletResponseArgumentCollector();
        } else if (HttpSession.class.isAssignableFrom(parameterType)) {
            collector = new HttpSessionArgumentCollector();
        }
    }

    if (collector == null) {
        throw new IllegalStateException("Unable to determine parameter type for arameter with index " + index
                + " from method " + handlerMethod);
    }
    return collector;
}

From source file:com.vdenotaris.spring.boot.security.saml.web.core.CurrentUserHandlerMethodArgumentResolverTest.java

@Test
public void testResolveArgument() throws Exception {
    // given/*from  w w  w  . j  av  a 2 s  . c o m*/
    ModelAndViewContainer mavContainer = mock(ModelAndViewContainer.class);
    WebDataBinderFactory binderFactory = mock(WebDataBinderFactory.class);
    NativeWebRequest webRequest = mock(NativeWebRequest.class);
    JWTAuthenticatedUser stubUser = new JWTAuthenticatedUser(USER_NAME);
    Principal stubPrincipal = new UsernamePasswordAuthenticationToken(stubUser, null);
    when(webRequest.getUserPrincipal()).thenReturn(stubPrincipal);

    // when/then
    assertEquals(stubUser, resolver.resolveArgument(validParam, mavContainer, webRequest, binderFactory));
    assertEquals(WebArgumentResolver.UNRESOLVED,
            resolver.resolveArgument(notAnnotatedParam, mavContainer, webRequest, binderFactory));
    assertEquals(WebArgumentResolver.UNRESOLVED,
            resolver.resolveArgument(wrongTypeParam, mavContainer, webRequest, binderFactory));
}

From source file:base.resolver.JsonModelResolver.java

/**
 * spring 3.1?//from   ww  w.  j  ava  2 s.  c  o m
 */

public Object resolveArgument(MethodParameter parameter, NativeWebRequest request) throws Exception {
    if (!supportsParameter(parameter)) {
        return WebArgumentResolver.UNRESOLVED;
    }
    return resolveArgument(parameter, null, request, null);
}

From source file:cn.javass.spring.mvc.method.annotation.RequestJsonParamMethodArgumentResolver.java

/**
 * spring 3.1?//from www.jav a  2  s. c om
 */
@Override
public Object resolveArgument(MethodParameter parameter, NativeWebRequest request) throws Exception {
    if (!supportsParameter(parameter)) {
        return WebArgumentResolver.UNRESOLVED;
    }
    return resolveArgument(parameter, null, request, null);
}

From source file:com.gary.web.spring.method.annotation.RequestJsonParamMethodArgumentResolver.java

/**
 * spring 3.1?//  w  w w  . ja  va 2  s  .  c o m
 */
public Object resolveArgument(MethodParameter parameter, NativeWebRequest request) throws Exception {
    if (!supportsParameter(parameter)) {
        return WebArgumentResolver.UNRESOLVED;
    }
    return resolveArgument(parameter, null, request, null);
}

From source file:com.kingray.spring.mvc.method.annotation.RequestJsonParamMethodArgumentResolver.java

/**
 * spring 3.1?//  w  w w  .  j  av a 2 s . co m
 */
@Override
public Object resolveArgument(MethodParameter parameter, NativeWebRequest request) throws Exception {
    String[] values = request.getParameterValues(parameter.getParameterName());
    for (String paramValue : values) {
        EntityHelper.print(paramValue);
    }
    if (!supportsParameter(parameter)) {
        return WebArgumentResolver.UNRESOLVED;
    }
    return resolveArgument(parameter, null, request, null);
}