public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { try { return converter.convertSourceToTargetClass(source, targetType.getObjectType()); } catch (Exception e) { throw new IllegalArgumentException(e); } }
public Set<ConvertiblePair> getConvertibleTypes() { return Collections.singleton(new ConvertiblePair(converter.getSourceClass(), converter.getTargetClass())); }
public Set<ConvertiblePair> getConvertibleTypes() { return Collections.singleton(new ConvertiblePair(converter.getSourceClass(), converter.getTargetClass())); }
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { try { return converter.convertSourceToTargetClass(source, targetType.getObjectType()); } catch (Exception e) { throw new IllegalArgumentException(e); } }
/** * Add given converter to this conversion service. * @param converter the converter */ public void addConverter(Converter converter) { Class sourceClass = converter.getSourceClass(); Class targetClass = converter.getTargetClass(); Map sourceMap = getSourceMap(sourceClass); sourceMap.put(targetClass, converter); if (converter instanceof TwoWayConverter) { sourceMap = getSourceMap(targetClass); sourceMap.put(sourceClass, new ReverseConverter((TwoWayConverter) converter)); } }
public Object execute(Object source) throws ConversionExecutionException { if (source != null && !sourceClass.isInstance(source)) { throw new ConversionExecutionException(source, getSourceClass(), getTargetClass(), "Source object " + source + " to convert is expected to be an instance of [" + getSourceClass().getName() + "]"); } try { return converter.convertSourceToTargetClass(source, targetClass); } catch (Exception e) { throw new ConversionExecutionException(source, getSourceClass(), getTargetClass(), e); } }
if (converter.getSourceClass().isAssignableFrom(sourceClass)) { if (!converter.getTargetClass().isAssignableFrom(targetClass)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id + "' cannot convert from sourceClass [" } else if (converter.getTargetClass().isAssignableFrom(sourceClass) && converter instanceof TwoWayConverter) { if (!converter.getSourceClass().isAssignableFrom(targetClass)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id + "' cannot convert from sourceClass ["
public Object execute(Object source) throws ConversionExecutionException { if (source != null && !sourceClass.isInstance(source)) { throw new ConversionExecutionException(source, getSourceClass(), getTargetClass(), "Source object " + source + " to convert is expected to be an instance of [" + getSourceClass().getName() + "]"); } try { return converter.convertSourceToTargetClass(source, targetClass); } catch (Exception e) { throw new ConversionExecutionException(source, getSourceClass(), getTargetClass(), e); } }
if (targetClass.isArray()) { Class<?> targetComponentType = targetClass.getComponentType(); if (converter.getSourceClass().isAssignableFrom(sourceComponentType)) { if (!converter.getTargetClass().isAssignableFrom(targetComponentType)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id targetComponentType, converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToArray(elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; if (converter.getSourceClass().isAssignableFrom(sourceComponentType)) { converter.getTargetClass(), converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; ConversionExecutor elementConverter = new StaticConversionExecutor(sourceComponentType, converter.getSourceClass(), new ReverseConverter(twoWay)); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); if (converter.getTargetClass().isAssignableFrom(targetComponentType)) { ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getSourceClass(), targetComponentType, converter);
public Object execute(Object source) throws ConversionExecutionException { if (source != null && !sourceClass.isInstance(source)) { throw new ConversionExecutionException(source, getSourceClass(), getTargetClass(), "Source object " + source + " to convert is expected to be an instance of " + getSourceClass()); } try { return converter.convertSourceToTargetClass(source, targetClass); } catch (Exception e) { throw new ConversionExecutionException(source, getSourceClass(), getTargetClass(), e); } }
if (targetClass.isArray()) { Class<?> targetComponentType = targetClass.getComponentType(); if (converter.getSourceClass().isAssignableFrom(sourceComponentType)) { if (!converter.getTargetClass().isAssignableFrom(targetComponentType)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id targetComponentType, converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToArray(elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; if (converter.getSourceClass().isAssignableFrom(sourceComponentType)) { converter.getTargetClass(), converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; ConversionExecutor elementConverter = new StaticConversionExecutor(sourceComponentType, converter.getSourceClass(), new ReverseConverter(twoWay)); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); if (converter.getTargetClass().isAssignableFrom(targetComponentType)) { ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getSourceClass(), targetComponentType, converter);
@SuppressWarnings("unchecked") public void testConvertListToDataModel() throws Exception { List<Object> sourceList = new ArrayList<>(); DataModel<Object> resultModel = (DataModel<Object>) this.converter.convertSourceToTargetClass(sourceList, DataModel.class); assertNotNull(resultModel); assertSame(sourceList, resultModel.getWrappedData()); }
@SuppressWarnings("unchecked") public void testConvertListToListDataModel() throws Exception { List<Object> sourceList = new ArrayList<>(); DataModel<Object> resultModel = (DataModel<Object>) this.converter.convertSourceToTargetClass(sourceList, ListDataModel.class); assertNotNull(resultModel); assertSame(sourceList, resultModel.getWrappedData()); }
@SuppressWarnings("unchecked") public void testConvertListToSerializableListDataModel() throws Exception { List<Object> sourceList = new ArrayList<>(); DataModel<Object> resultModel = (DataModel<Object>) this.converter.convertSourceToTargetClass(sourceList, SerializableListDataModel.class); assertNotNull(resultModel); assertSame(sourceList, resultModel.getWrappedData()); assertTrue(resultModel instanceof Serializable); }
@SuppressWarnings("unchecked") public void testConvertListToSerializableListDataModelNullSource() throws Exception { List<Object> sourceList = null; DataModel<Object> resultModel = (DataModel<Object>) this.converter.convertSourceToTargetClass(sourceList, SerializableListDataModel.class); assertNotNull(resultModel); assertTrue(resultModel instanceof Serializable); assertEquals(0, resultModel.getRowCount()); } }