ognl type conversion adaption
This commit is contained in:
@@ -161,4 +161,11 @@ public class OgnlExpressionParserTests extends TestCase {
|
||||
assertEquals(boolean.class, e.getValueType(bean));
|
||||
}
|
||||
|
||||
public void testSetComplexDateType() {
|
||||
String value = "2008-07-04";
|
||||
Expression e = parser.parseExpression("date", null);
|
||||
e.setValue(bean, value);
|
||||
assertEquals(1215144000000L, bean.getDate().getTime());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.springframework.binding.expression.ognl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class TestBean {
|
||||
@@ -24,6 +25,8 @@ public class TestBean {
|
||||
|
||||
private int number;
|
||||
|
||||
private Date date;
|
||||
|
||||
private List list = new ArrayList();
|
||||
|
||||
public boolean isFlag() {
|
||||
@@ -49,4 +52,13 @@ public class TestBean {
|
||||
public void setList(List list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
public Date getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Date date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,11 +4,9 @@ import java.util.Locale;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.springframework.binding.convert.service.DefaultConversionService;
|
||||
import org.springframework.binding.expression.ExpressionParser;
|
||||
import org.springframework.binding.expression.el.DefaultExpressionFactoryUtils;
|
||||
import org.springframework.binding.expression.el.ELExpressionParser;
|
||||
import org.springframework.binding.expression.support.FluentParserContext;
|
||||
import org.springframework.binding.mapping.impl.DefaultMapper;
|
||||
import org.springframework.binding.mapping.impl.DefaultMapping;
|
||||
|
||||
@@ -45,38 +43,6 @@ public class DefaultMapperTests extends TestCase {
|
||||
}).size());
|
||||
}
|
||||
|
||||
public void testMappingWithAutomaticConversion() {
|
||||
DefaultMapping mapping1 = new DefaultMapping(parser.parseExpression("foo", new FluentParserContext()
|
||||
.expectResult(Integer.class)), parser.parseExpression("boop", null));
|
||||
mapper.addMapping(mapping1);
|
||||
TestBean bean1 = new TestBean();
|
||||
bean1.foo = "12345";
|
||||
TestBean2 bean2 = new TestBean2();
|
||||
MappingResults results = mapper.map(bean1, bean2);
|
||||
assertSame(bean1, results.getSource());
|
||||
assertSame(bean2, results.getTarget());
|
||||
assertEquals(1, results.getAllResults().size());
|
||||
assertEquals(0, results.getErrorResults().size());
|
||||
assertEquals(new Integer(12345), bean2.boop);
|
||||
}
|
||||
|
||||
public void testMappingWithCustomConversionService() {
|
||||
DefaultConversionService conversionService = new DefaultConversionService();
|
||||
mapper.setConversionService(conversionService);
|
||||
DefaultMapping mapping1 = new DefaultMapping(parser.parseExpression("foo", null), parser.parseExpression(
|
||||
"beep", null));
|
||||
mapper.addMapping(mapping1);
|
||||
TestBean bean1 = new TestBean();
|
||||
bean1.foo = "en";
|
||||
TestBean2 bean2 = new TestBean2();
|
||||
MappingResults results = mapper.map(bean1, bean2);
|
||||
assertSame(bean1, results.getSource());
|
||||
assertSame(bean2, results.getTarget());
|
||||
assertEquals(1, results.getAllResults().size());
|
||||
assertEquals(0, results.getErrorResults().size());
|
||||
assertEquals(Locale.ENGLISH, bean2.beep);
|
||||
}
|
||||
|
||||
public static class TestBean {
|
||||
private String foo;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user