Example usage for org.springframework.core.convert TypeDescriptor valueOf

List of usage examples for org.springframework.core.convert TypeDescriptor valueOf

Introduction

In this page you can find the example usage for org.springframework.core.convert TypeDescriptor valueOf.

Prototype

public static TypeDescriptor valueOf(@Nullable Class<?> type) 

Source Link

Document

Create a new type descriptor from the given type.

Usage

From source file:org.synyx.hades.extensions.conversion.GenericDaoConverterUnitTest.java

@Before
public void setUp() {

    converter = new GenericDaoConverter(service);
    daos = new HashMap<String, GenericDao>();

    sourceDescriptor = TypeDescriptor.valueOf(String.class);
    targetDescriptor = TypeDescriptor.valueOf(User.class);

    when(context.getBeansOfType(GenericDao.class)).thenReturn(daos);

}

From source file:pl.java.scalatech.monetary.DefaultFormattingConversionServiceTest.java

@Test
public void testJavaMoney() {
    BeanWrapper beanWrapper = new BeanWrapperImpl(bean);
    beanWrapper.setConversionService(conversionService);
    beanWrapper.setPropertyValue("monetaryAmount", "USD 100,000");
    beanWrapper.setPropertyValue("currencyUnit", "USD");

    assertThat(bean.getMonetaryAmount().getNumber().intValue(), is(100));
    assertThat(bean.getMonetaryAmount().getCurrency().getCurrencyCode(), is("PLN"));
    assertThat(bean.getCurrencyUnit().getCurrencyCode(), is("USD"));

    String monetaryAmountString = (String) conversionService.convert(bean.getMonetaryAmount(),
            beanWrapper.getPropertyTypeDescriptor("monetaryAmount"), TypeDescriptor.valueOf(String.class));
    assertThat(monetaryAmountString, is("USD 100"));
    String currencyUnitString = (String) conversionService.convert(bean.getCurrencyUnit(),
            beanWrapper.getPropertyTypeDescriptor("currencyUnit"), TypeDescriptor.valueOf(String.class));
    assertThat(currencyUnitString, is("USD"));
}

From source file:org.sarons.spring4me.web.widget.bind.support.PrefParamWebArgumentResolver.java

public Object resolveArgument(MethodParameter methodParameter, NativeWebRequest webRequest) throws Exception {
    PrefParam prefParam = methodParameter.getParameterAnnotation(PrefParam.class);
    if (prefParam == null) {
        return WebArgumentResolver.UNRESOLVED;
    }/*w  w  w .ja  v a2  s .c  om*/
    //
    Object value = getValue(webRequest, methodParameter.getParameterName());
    if (value == null) {
        value = prefParam.value();
    }
    //
    Class<?> requiredType = methodParameter.getParameterType();
    if (conversionService.canConvert(String.class, requiredType)) {
        return conversionService.convert(value, TypeDescriptor.valueOf(String.class),
                TypeDescriptor.valueOf(requiredType));
    }
    return WebArgumentResolver.UNRESOLVED;
}

From source file:tv.arte.resteventapi.core.querying.convertion.QueryOpParamGenericConverter.java

/**
 * {@inheritDoc}/*ww w  .  ja v a2s .  com*/
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {

    Object result = null;

    if (sourceType.getResolvableType().resolve().equals(String.class)
            && targetType.getResolvableType().resolve().equals(QueryOpParamValue.class)) {
        QueryOpParamValue queryOpParamValue = new QueryOpParamValue();

        ResolvableType genericResolvableType = targetType.getResolvableType().getGeneric(0);
        TypeDescriptor finalTargerTypeDescriptor = null;

        if (ResolvableType.NONE.equals(genericResolvableType)) {
            finalTargerTypeDescriptor = TypeDescriptor.valueOf(String.class);
        } else {
            finalTargerTypeDescriptor = new RestEventApiTypeDescriptor(genericResolvableType, null,
                    genericResolvableType.resolve().getAnnotations());
        }

        int queryOpSeparatorPosition = this.queryOpValueSeparatorPosition((String) source);
        QueryOp queryOp = this.extractQueryOp((String) source);
        String valuePart = this.extractValueString(queryOpSeparatorPosition, queryOp, (String) source);

        queryOpParamValue.setQueryOp(queryOp);
        queryOpParamValue.setValue(conversionService.convert(valuePart, sourceType, finalTargerTypeDescriptor));

        result = queryOpParamValue;
    } else if (sourceType.getResolvableType().resolve().equals(QueryOpParamValue.class)
            && targetType.getResolvableType().resolve().equals(String.class)) {
        QueryOpParamValue valToVonvert = (QueryOpParamValue) source;

        if (valToVonvert.getValue() != null) {
            String valueStr = conversionService.convert(valToVonvert.getValue(), String.class);
            if (StringUtils.isNotBlank(valueStr)) {
                result = this.assembleQueryOpValue(valToVonvert.getQueryOp(), valueStr);
            }
        }
    } else {
        throw new RestEventApiRuntimeException("Uncompatible conversion");
    }

    return result;
}

From source file:org.sarons.spring4me.web.widget.bind.support.PrefParamMethodArgumentResolver.java

public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
    PrefParam prefParam = parameter.getParameterAnnotation(PrefParam.class);
    String value = getValue(webRequest, parameter.getParameterName());
    if (value == null) {
        value = prefParam.value();//w  w w  .  java 2s  .c om
    }
    //
    Class<?> requiredType = parameter.getParameterType();
    if (conversionService.canConvert(String.class, requiredType)) {
        return conversionService.convert(value, TypeDescriptor.valueOf(String.class),
                TypeDescriptor.valueOf(requiredType));
    }
    //
    return null;
}

From source file:org.focusns.common.web.widget.mvc.method.WidgetMethodArgumentResolver.java

public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
    ////from w  ww.j av  a 2 s  . c om
    Object value = null;
    if (parameter.hasParameterAnnotation(WidgetAttribute.class)) {
        value = getWidgetAttributeValue(parameter, webRequest);
    } else if (parameter.hasParameterAnnotation(WidgetPref.class)) {
        value = getWidgetPrefValue(parameter, webRequest);
    }
    //
    if (value != null) {
        ConversionService conversionService = (ConversionService) webRequest
                .getAttribute(ConversionService.class.getName(), WebRequest.SCOPE_REQUEST);
        if (conversionService.canConvert(value.getClass(), parameter.getParameterType())) {
            value = conversionService.convert(value, parameter.getParameterType());
        } else {
            throw new ConverterNotFoundException(TypeDescriptor.forObject(value),
                    TypeDescriptor.valueOf(parameter.getParameterType()));
        }
    }
    //
    return value;
}

From source file:com._4dconcept.springframework.data.marklogic.core.convert.MappingMarklogicConverter.java

@Override
public <R> R read(Class<R> returnType, MarklogicContentHolder holder) {
    ResultItem resultItem = (ResultItem) holder.getContent();
    if (String.class.equals(returnType)) {
        return returnType.cast(resultItem.asString());
    }/*ww w. j a v  a 2  s .  c  o m*/

    R result = null;
    if (returnType.isPrimitive()) {
        try {
            Method method = MarklogicTypeUtils.primitiveMap.get(returnType).getMethod("valueOf", String.class);
            @SuppressWarnings("unchecked")
            R obj = (R) method.invoke(null, resultItem.asString());
            result = obj;
        } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
            LOGGER.debug("Unable to generate primitive value for type " + returnType.getName());
        }
    }

    if (result != null) {
        return result;
    }

    ConversionService conversionService = getConversionService();

    if (conversionService.canConvert(resultItem.getClass(), returnType)) {
        R convert = conversionService.convert(resultItem, returnType);

        if (convert == null) {
            throw new ConversionFailedException(TypeDescriptor.forObject(resultItem),
                    TypeDescriptor.valueOf(returnType), resultItem, new NullPointerException());
        }

        return convert;
    } else {
        throw new ConverterNotFoundException(TypeDescriptor.forObject(resultItem),
                TypeDescriptor.valueOf(returnType));
    }
}

From source file:net.abhinavsarkar.spelhelper.ImplicitMethodResolver.java

@Override
public MethodExecutor resolve(final EvaluationContext context, final Object targetObject, final String name,
        final List<TypeDescriptor> argumentTypes) throws AccessException {
    if (targetObject == null) {
        return null;
    }/*from   w w  w . jav  a 2  s .  c  o  m*/
    Class<?> type = targetObject.getClass();
    String cacheKey = type.getName() + "." + name;
    if (CACHE.containsKey(cacheKey)) {
        MethodExecutor executor = CACHE.get(cacheKey);
        return executor == NULL_ME ? null : executor;
    }

    Method method = lookupMethod(context, type, name);
    if (method != null) {
        int modifiers = method.getModifiers();
        if (Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers)) {
            Class<?>[] parameterTypes = method.getParameterTypes();
            Class<?> firstParamType = parameterTypes[0];
            if (parameterTypes.length > 0 && firstParamType.isAssignableFrom(type)) {
                List<TypeDescriptor> newArgumentTypes = new ArrayList<TypeDescriptor>();
                newArgumentTypes.add(TypeDescriptor.valueOf(firstParamType));
                newArgumentTypes.addAll(argumentTypes);

                MethodExecutor executor = delegate.resolve(context, method.getDeclaringClass(), name,
                        newArgumentTypes);
                MethodExecutor wrappedExecutor = executor == null ? null : new ImplicitMethodExecutor(executor);
                if (wrappedExecutor == null) {
                    CACHE.putIfAbsent(cacheKey, NULL_ME);
                }
                return wrappedExecutor;
            }
        }
    }
    CACHE.putIfAbsent(cacheKey, NULL_ME);
    return null;
}

From source file:org.springframework.data.rest.webmvc.json.UriStringDeserializerUnitTests.java

private void assertConverterInvokedWithUri(String source, URI expected) throws Exception {

    invokeConverterWith(source);// w w w .ja  v a2s.  c o  m

    verify(converter).convert(eq(expected), Mockito.any(TypeDescriptor.class),
            eq(TypeDescriptor.valueOf(Object.class)));
}

From source file:org.appverse.web.framework.backend.frontfacade.mvc.schema.services.presentation.SchemaGeneratorServiceImpl.java

@RequestMapping(value = "/entity/{entity}/", method = RequestMethod.GET, produces = "application/schema+json")
@Deprecated//ww w. j ava 2  s. c  om
public String generateSchemaByEntityName(@PathVariable("entity") String entity) {
    String data = "";
    if (StringUtils.isEmpty(entity)) {
        throw new PresentationException("invalid content");
    }
    try {
        Class<?> clazz = Class.forName(entity);
        JsonSchema schema = entityConverter.convert(clazz, TypeDescriptor.valueOf(String.class),
                TypeDescriptor.valueOf(JsonSchema.class));

        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(SerializationConfig.Feature.WRITE_ENUMS_USING_TO_STRING, true);
        mapper.configure(SerializationConfig.Feature.WRITE_NULL_PROPERTIES, false);
        mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false);
        data = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema);

    } catch (ClassNotFoundException nsme) {
        throw new PresentationException("invalid class:" + entity, nsme);
    } catch (IOException e) {
        throw new PresentationException("schema generation exception", e);
    } catch (NullPointerException npe) {
        // workarround where entity have a setter without getter it fails to parse
        throw new PresentationException("entity have setter without getter", npe);
    }
    return data;
}