Example usage for org.springframework.web.bind WebDataBinder setConversionService

List of usage examples for org.springframework.web.bind WebDataBinder setConversionService

Introduction

In this page you can find the example usage for org.springframework.web.bind WebDataBinder setConversionService.

Prototype

public void setConversionService(@Nullable ConversionService conversionService) 

Source Link

Document

Specify a Spring 3.0 ConversionService to use for converting property values, as an alternative to JavaBeans PropertyEditors.

Usage

From source file:cherry.foundation.validator.MinLengthValidatorTest.java

@Test
public void testNG() {

    Map<String, String> val = new HashMap<>();
    val.put("val3", "1234");
    val.put("val4", "123");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);// w w  w.  ja va 2 s. c  o  m
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertEquals(2, result.getErrorCount());
}

From source file:cherry.foundation.validator.MinLengthValidatorTest.java

@Test
public void testOK() {

    Map<String, String> val = new HashMap<>();
    val.put("val0", null);
    val.put("val1", "");
    val.put("val2", "1");
    val.put("val3", "12345");
    val.put("val4", "123456");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);/*from  w  w  w.  j  a  v a  2s  .  c  o  m*/
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertEquals(0, result.getErrorCount());
    assertNull(dto.getVal0());
    assertEquals("", dto.getVal1());
    assertEquals("1", dto.getVal2());
    assertEquals("12345", dto.getVal3());
    assertEquals("123456", dto.getVal4());
}

From source file:cherry.foundation.validator.ZipCodeValidatorTest.java

@Test
public void testNG() {

    Map<String, String> val = new HashMap<>();
    val.put("zipCode0", "123456");
    val.put("zipCode1", "12345678");
    val.put("zipCode2", "abcdefg");
    val.put("zipCode3", "123-456");
    val.put("zipCode4", "123-45678");
    val.put("zipCode5", "abc-defg");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);/* www. java2s  . co  m*/
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertEquals(6, result.getErrorCount());
}

From source file:cherry.foundation.validator.ZipCodeValidatorTest.java

@Test
public void testOK() {

    Map<String, String> val = new HashMap<>();
    val.put("zipCode0", null);
    val.put("zipCode1", "");
    val.put("zipCode2", "1234567");
    val.put("zipCode3", null);
    val.put("zipCode4", "");
    val.put("zipCode5", "123-4567");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);//from   ww  w .  j av a 2  s. c o  m
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertEquals(0, result.getErrorCount());
    assertNull(dto.getZipCode0());
    assertEquals("", dto.getZipCode1());
    assertEquals("1234567", dto.getZipCode2());
    assertNull(dto.getZipCode3());
    assertEquals("", dto.getZipCode4());
    assertEquals("123-4567", dto.getZipCode5());
}

From source file:cherry.foundation.validator.TelNoValidatorTest.java

@Test
public void testNG() {

    Map<String, String> val = new HashMap<>();
    val.put("telNo0", "01-234-567");
    val.put("telNo1", "0123-1234-5678");
    val.put("telNo2", "0a-2345-6789");
    val.put("telNo3", "01-a345-6789");
    val.put("telNo4", "01-234a-6789");
    val.put("telNo5", "01-2345-a789");
    val.put("telNo6", "01-2345-678a");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);// w w  w. j av  a  2 s. c  o m
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertEquals(7, result.getErrorCount());
}

From source file:cherry.foundation.validator.CharTypeValidatorTest.java

@Test
public void testNG() {

    Map<String, String> val = new HashMap<>();
    val.put("none", "0");
    val.put("space", " \t\r\n0");
    val.put("numeric", "0123456789A");
    val.put("alpha", "ABCabc0");
    val.put("upper", "ABCa");
    val.put("lower", "abcA");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);//  ww w .j  a  va 2 s .c  o m
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertThat(result.getErrorCount(), is(6));
}

From source file:cherry.foundation.validator.TelNoValidatorTest.java

@Test
public void testOK() {

    Map<String, String> val = new HashMap<>();
    val.put("telNo0", null);
    val.put("telNo1", "");
    val.put("telNo2", "01-234-5678");
    val.put("telNo3", "01-2345-6789");
    val.put("telNo4", "012-345-6789");
    val.put("telNo5", "0123-45-6789");
    val.put("telNo6", "01234-5-6789");
    val.put("telNo7", "090-1234-5678");
    val.put("telNo8", "0120-123-456");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);/* ww w.  ja  v  a  2s . co  m*/
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertEquals(0, result.getErrorCount());
    assertNull(dto.getTelNo0());
    assertEquals("", dto.getTelNo1());
    assertEquals("01-234-5678", dto.getTelNo2());
    assertEquals("01-2345-6789", dto.getTelNo3());
    assertEquals("012-345-6789", dto.getTelNo4());
    assertEquals("0123-45-6789", dto.getTelNo5());
    assertEquals("01234-5-6789", dto.getTelNo6());
    assertEquals("090-1234-5678", dto.getTelNo7());
    assertEquals("0120-123-456", dto.getTelNo8());
}

From source file:cherry.foundation.validator.CharTypeValidatorTest.java

@Test
public void testOK() {

    Map<String, String> val = new HashMap<>();
    val.put("none", "");
    val.put("space", " \t\r\n");
    val.put("numeric", "0123456789");
    val.put("alpha", "ABCabc");
    val.put("upper", "ABC");
    val.put("lower", "abc");
    val.put("surrogate", "\uD842\uDF9F");

    TestDto dto = new TestDto();

    WebDataBinder binder = new WebDataBinder(dto);
    binder.setConversionService(conversionService);
    binder.addValidators(validator);//ww  w.  j a  v  a  2s .  co  m
    binder.bind(new MutablePropertyValues(val));
    binder.validate();
    BindingResult result = binder.getBindingResult();
    assertThat(result.getErrorCount(), is(0));
    assertThat(dto.getSpace(), is(" \t\r\n"));
    assertThat(dto.getNumeric(), is("0123456789"));
    assertThat(dto.getAlpha(), is("ABCabc"));
    assertThat(dto.getUpper(), is("ABC"));
    assertThat(dto.getLower(), is("abc"));
    assertThat(dto.getSurrogate(), is("\uD842\uDF9F"));
}

From source file:org.gvnix.web.json.DataBinderMappingJackson2HttpMessageConverter.java

/**
 * Before call to {@link ObjectMapper#readValue(java.io.InputStream, Class)}
 * creates a {@link ServletRequestDataBinder} and put it to current Thread
 * in order to be used by the {@link DataBinderDeserializer}.
 * <p/>//  w w  w.  j  av  a 2  s. com
 * Ref: <a href=
 * "http://java.dzone.com/articles/java-thread-local-%E2%80%93-how-use">When
 * to use Thread Local?</a>
 * 
 * @param javaType
 * @param inputMessage
 * @return
 */
private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) {
    try {
        Object target = null;
        String objectName = null;

        // CRear el DataBinder con un target object en funcion del javaType,
        // ponerlo en el thread local
        Class<?> clazz = javaType.getRawClass();
        if (Collection.class.isAssignableFrom(clazz)) {
            Class<?> contentClazz = javaType.getContentType().getRawClass();
            target = new DataBinderList<Object>(contentClazz);
            objectName = "list";
        } else if (Map.class.isAssignableFrom(clazz)) {
            // TODO Class<?> contentClazz =
            // javaType.getContentType().getRawClass();
            target = CollectionFactory.createMap(clazz, 0);
            objectName = "map";
        } else {
            target = BeanUtils.instantiateClass(clazz);
            objectName = "bean";
        }

        WebDataBinder binder = new ServletRequestDataBinder(target, objectName);
        binder.setConversionService(this.conversionService);
        binder.setAutoGrowNestedPaths(true);
        binder.setValidator(validator);

        ThreadLocalUtil.setThreadVariable(BindingResult.MODEL_KEY_PREFIX.concat("JSON_DataBinder"), binder);

        Object value = getObjectMapper().readValue(inputMessage.getBody(), javaType);

        return value;
    } catch (IOException ex) {
        throw new HttpMessageNotReadableException("Could not read JSON: ".concat(ex.getMessage()), ex);
    }
}

From source file:org.terasoluna.gfw.web.el.ObjectToMapConverterTest.java

@Test
public void testConvert5_at_DateTimeFormat() throws Exception {
    LocalDate date1 = new LocalDate(2015, 4, 1);
    LocalDate localDate1 = new LocalDate(2015, 6, 10);
    LocalDate date2 = new LocalDate(2015, 5, 1);
    LocalDate localDate2 = new LocalDate(2015, 7, 10);

    Map<String, String> map = converter
            .convert(new DateForm5(date1.toDate(), localDate1, new DateFormItem5(date2.toDate(), localDate2)));
    assertThat(map.size(), is(4));//  w w w . j  a v a2 s  . c o m
    assertThat(map, hasEntry("date", "2015-04-01"));
    assertThat(map, hasEntry("localDate", "2015-06-10"));
    assertThat(map, hasEntry("item.date", "2015-05-01"));
    assertThat(map, hasEntry("item.localDate", "2015-07-10"));

    DateForm5 form = new DateForm5();
    WebDataBinder binder = new WebDataBinder(form);
    binder.setConversionService(new DefaultFormattingConversionService());
    binder.bind(new MutablePropertyValues(map));
    assertThat(form.getDate(), is(date1.toDate()));
    assertThat(form.getLocalDate(), is(localDate1));
    assertThat(form.getItem().getDate(), is(date2.toDate()));
    assertThat(form.getItem().getLocalDate(), is(localDate2));
}