Search in sources :

Example 71 with TypeDescriptor

use of org.springframework.core.convert.TypeDescriptor in project spring-framework by spring-projects.

the class MapToMapConverterTests method emptyMapDifferentTargetImplType.

@Test
public void emptyMapDifferentTargetImplType() throws Exception {
    Map<String, String> map = new HashMap<>();
    TypeDescriptor sourceType = TypeDescriptor.forObject(map);
    TypeDescriptor targetType = new TypeDescriptor(getClass().getField("emptyMapDifferentTarget"));
    assertTrue(conversionService.canConvert(sourceType, targetType));
    @SuppressWarnings("unchecked") LinkedHashMap<String, String> result = (LinkedHashMap<String, String>) conversionService.convert(map, sourceType, targetType);
    assertEquals(map, result);
    assertEquals(LinkedHashMap.class, result.getClass());
}
Also used : TypeDescriptor(org.springframework.core.convert.TypeDescriptor) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) LinkedHashMap(java.util.LinkedHashMap) Test(org.junit.Test)

Example 72 with TypeDescriptor

use of org.springframework.core.convert.TypeDescriptor in project spring-framework by spring-projects.

the class DefaultConversionServiceTests method convertCollectionToCollection.

@Test
public void convertCollectionToCollection() throws Exception {
    Set<String> foo = new LinkedHashSet<>();
    foo.add("1");
    foo.add("2");
    foo.add("3");
    @SuppressWarnings("unchecked") List<Integer> bar = (List<Integer>) conversionService.convert(foo, TypeDescriptor.forObject(foo), new TypeDescriptor(getClass().getField("genericList")));
    assertEquals(new Integer(1), bar.get(0));
    assertEquals(new Integer(2), bar.get(1));
    assertEquals(new Integer(3), bar.get(2));
}
Also used : LinkedHashSet(java.util.LinkedHashSet) BigInteger(java.math.BigInteger) TypeDescriptor(org.springframework.core.convert.TypeDescriptor) AbstractList(java.util.AbstractList) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List) Test(org.junit.Test)

Example 73 with TypeDescriptor

use of org.springframework.core.convert.TypeDescriptor in project spring-framework by spring-projects.

the class DefaultConversionServiceTests method convertObjectToCollectionWithElementConversion.

@Test
public void convertObjectToCollectionWithElementConversion() throws Exception {
    @SuppressWarnings("unchecked") List<Integer> result = (List<Integer>) conversionService.convert(3L, TypeDescriptor.valueOf(Long.class), new TypeDescriptor(getClass().getField("genericList")));
    assertEquals(1, result.size());
    assertEquals(new Integer(3), result.get(0));
}
Also used : BigInteger(java.math.BigInteger) TypeDescriptor(org.springframework.core.convert.TypeDescriptor) AbstractList(java.util.AbstractList) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List) Test(org.junit.Test)

Example 74 with TypeDescriptor

use of org.springframework.core.convert.TypeDescriptor in project spring-framework by spring-projects.

the class DefaultConversionServiceTests method convertCollectionToCollectionSpecialCaseSourceImpl.

@Test
@SuppressWarnings({ "unchecked", "rawtypes" })
public void convertCollectionToCollectionSpecialCaseSourceImpl() throws Exception {
    Map map = new LinkedHashMap();
    map.put("1", "1");
    map.put("2", "2");
    map.put("3", "3");
    Collection values = map.values();
    List<Integer> bar = (List<Integer>) conversionService.convert(values, TypeDescriptor.forObject(values), new TypeDescriptor(getClass().getField("genericList")));
    assertEquals(3, bar.size());
    assertEquals(new Integer(1), bar.get(0));
    assertEquals(new Integer(2), bar.get(1));
    assertEquals(new Integer(3), bar.get(2));
}
Also used : BigInteger(java.math.BigInteger) TypeDescriptor(org.springframework.core.convert.TypeDescriptor) Collection(java.util.Collection) AbstractList(java.util.AbstractList) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap) Test(org.junit.Test)

Example 75 with TypeDescriptor

use of org.springframework.core.convert.TypeDescriptor in project spring-framework by spring-projects.

the class DefaultConversionServiceTests method convertObjectToOptional.

@Test
@SuppressWarnings("unchecked")
public void convertObjectToOptional() {
    Method method = ClassUtils.getMethod(TestEntity.class, "handleOptionalValue", Optional.class);
    MethodParameter parameter = new MethodParameter(method, 0);
    TypeDescriptor descriptor = new TypeDescriptor(parameter);
    Object actual = conversionService.convert("1,2,3", TypeDescriptor.valueOf(String.class), descriptor);
    assertEquals(Optional.class, actual.getClass());
    assertEquals(Arrays.asList(1, 2, 3), ((Optional<List<Integer>>) actual).get());
}
Also used : TypeDescriptor(org.springframework.core.convert.TypeDescriptor) AbstractList(java.util.AbstractList) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List) Method(java.lang.reflect.Method) MethodParameter(org.springframework.core.MethodParameter) Test(org.junit.Test)

Aggregations

TypeDescriptor (org.springframework.core.convert.TypeDescriptor)115 Test (org.junit.Test)61 ArrayList (java.util.ArrayList)35 List (java.util.List)20 Map (java.util.Map)16 HashMap (java.util.HashMap)14 LinkedHashMap (java.util.LinkedHashMap)13 LinkedList (java.util.LinkedList)12 MethodParameter (org.springframework.core.MethodParameter)12 Collection (java.util.Collection)11 ConversionFailedException (org.springframework.core.convert.ConversionFailedException)10 Method (java.lang.reflect.Method)9 AccessException (org.springframework.expression.AccessException)9 ConverterNotFoundException (org.springframework.core.convert.ConverterNotFoundException)8 TypedValue (org.springframework.expression.TypedValue)8 StandardEvaluationContext (org.springframework.expression.spel.support.StandardEvaluationContext)8 LinkedMultiValueMap (org.springframework.util.LinkedMultiValueMap)8 MultiValueMap (org.springframework.util.MultiValueMap)8 AbstractList (java.util.AbstractList)7 Field (java.lang.reflect.Field)6