Example usage for org.springframework.web.servlet.mvc.method.annotation ExtendedServletRequestDataBinder ExtendedServletRequestDataBinder

List of usage examples for org.springframework.web.servlet.mvc.method.annotation ExtendedServletRequestDataBinder ExtendedServletRequestDataBinder

Introduction

In this page you can find the example usage for org.springframework.web.servlet.mvc.method.annotation ExtendedServletRequestDataBinder ExtendedServletRequestDataBinder.

Prototype

public ExtendedServletRequestDataBinder(@Nullable Object target, String objectName) 

Source Link

Document

Create a new instance.

Usage

From source file:com.trenako.web.infrastructure.SearchRequestArgumentResolverTests.java

@Test
public void shouldResolveRequestAsSearchRequest() throws Exception {
    HttpServletRequest request = new MockHttpServletRequest();
    ((MockHttpServletRequest) request).setRequestURI("/trenako-web/rs/brand/acme/railway/fs");
    NativeWebRequest webRequest = mock(NativeWebRequest.class);
    when(webRequest.getNativeRequest()).thenReturn(request);

    WebDataBinderFactory binderFactory = mock(WebDataBinderFactory.class);
    when(binderFactory.createBinder(eq(webRequest), isA(SearchRequest.class), eq("")))
            .thenAnswer(new Answer<ExtendedServletRequestDataBinder>() {
                @Override/*from   w ww  . ja v a  2  s .  c o  m*/
                public ExtendedServletRequestDataBinder answer(InvocationOnMock invocation) throws Throwable {
                    Object[] args = invocation.getArguments();
                    SearchRequest req = (SearchRequest) args[1];
                    return new ExtendedServletRequestDataBinder(req, "");
                }
            });

    Object obj = resolver.resolveArgument(parSearchRequest, null, webRequest, binderFactory);

    assertNotNull(obj);
    assertTrue(obj instanceof SearchRequest);

    SearchRequest expected = new SearchRequest();
    expected.setBrand("acme");
    expected.setRailway("fs");

    assertEquals(expected, (SearchRequest) obj);
}

From source file:com.trenako.web.infrastructure.RangeRequestArgumentResolverTests.java

@Test
public void shouldResolveRequestForStringBasedRanges() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addParameter("max", "47cc67093475061e3d95369d");
    request.addParameter("since", "47cc67093475061e3d95369e");
    request.addParameter("size", "50");
    request.addParameter("sort", "name");
    request.addParameter("dir", "desc");

    NativeWebRequest webRequest = mock(NativeWebRequest.class);
    when(webRequest.getNativeRequest()).thenReturn(request);

    WebDataBinderFactory binderFactory = mock(WebDataBinderFactory.class);
    when(binderFactory.createBinder(eq(webRequest), isA(RangeRequest.class), eq("")))
            .thenAnswer(new Answer<ExtendedServletRequestDataBinder>() {
                @Override/*from  ww w  . j a v  a2 s.  c  om*/
                public ExtendedServletRequestDataBinder answer(InvocationOnMock invocation) throws Throwable {
                    Object[] args = invocation.getArguments();
                    RangeRequest req = (RangeRequest) args[1];
                    return new ExtendedServletRequestDataBinder(req, "");
                }
            });

    Object obj = resolver.resolveArgument(parRangeRequest, null, webRequest, binderFactory);

    assertNotNull(obj);
    assertTrue(obj instanceof RangeRequest);

    assertEquals("max=47cc67093475061e3d95369d,since=47cc67093475061e3d95369e,size=50,sort=name: DESC",
            obj.toString());
}

From source file:com.trenako.web.infrastructure.RangeRequestArgumentResolverTests.java

@Test
public void shouldResolveRequestForDateBasedRangeRequests() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addParameter("max", "2012-06-01T11:40:00");
    request.addParameter("since", "2012-06-01T11:30:00");
    request.addParameter("size", "50");
    request.addParameter("sort", "lastModified");
    request.addParameter("dir", "desc");

    NativeWebRequest webRequest = mock(NativeWebRequest.class);
    when(webRequest.getNativeRequest()).thenReturn(request);

    WebDataBinderFactory binderFactory = mock(WebDataBinderFactory.class);
    when(binderFactory.createBinder(eq(webRequest), isA(RangeRequest.class), eq("")))
            .thenAnswer(new Answer<ExtendedServletRequestDataBinder>() {
                @Override/*from w w w  . ja v a 2s  .c  o m*/
                public ExtendedServletRequestDataBinder answer(InvocationOnMock invocation) throws Throwable {
                    Object[] args = invocation.getArguments();
                    RangeRequest req = (RangeRequest) args[1];
                    return new ExtendedServletRequestDataBinder(req, "");
                }
            });

    Object obj = resolver.resolveArgument(parRangeRequest, null, webRequest, binderFactory);

    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    RangeRequest rangeRequest = (RangeRequest) obj;
    assertNotNull(rangeRequest);
    assertNotNull("Since date is null", rangeRequest.getSince());
    assertNotNull("Max date is null", rangeRequest.getMax());

    assertEquals("01/06/2012 11:30:00", sdf.format(rangeRequest.getSince()));
    assertEquals("01/06/2012 11:40:00", sdf.format(rangeRequest.getMax()));

}