List of usage examples for org.springframework.web.servlet.mvc.method.annotation ExtendedServletRequestDataBinder ExtendedServletRequestDataBinder
public ExtendedServletRequestDataBinder(@Nullable Object target, String objectName)
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())); }