Example usage for org.springframework.web.method.support HandlerMethodArgumentResolver HandlerMethodArgumentResolver

List of usage examples for org.springframework.web.method.support HandlerMethodArgumentResolver HandlerMethodArgumentResolver

Introduction

In this page you can find the example usage for org.springframework.web.method.support HandlerMethodArgumentResolver HandlerMethodArgumentResolver.

Prototype

HandlerMethodArgumentResolver

Source Link

Usage

From source file:org.terasoluna.tourreservation.app.searchtour.SearchTourControllerTest.java

@Before
public void setUp() {

    // instantiate the controller to test
    SearchTourController searchTourController = new SearchTourController();

    // other members instantiation and assignment
    tourInfoService = mock(TourInfoService.class);
    validator = new SearchTourFormDateValidator();
    dateFactory = new DefaultJodaTimeDateFactory();

    beanMapper = new DozerBeanMapper();

    searchTourController.tourInfoService = tourInfoService;
    searchTourController.validator = validator;
    searchTourController.dateFactory = dateFactory;
    searchTourController.beanMapper = beanMapper;

    // Assign custom method argument resolver and build
    // This is needed to resolve Pageable method argument
    mockMvc = MockMvcBuilders.standaloneSetup(searchTourController)
            .setCustomArgumentResolvers(new HandlerMethodArgumentResolver() {

                @Override//  w  ww  . java2 s. com
                public boolean supportsParameter(MethodParameter parameter) {
                    if (parameter.getParameterType().equals(Pageable.class)) {
                        return true;
                    }
                    return false;
                }

                @Override
                public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
                        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

                    return new PageRequest(0, 50);
                }
            }).build();
}