List of usage examples for org.springframework.core.convert TypeDescriptor valueOf
public static TypeDescriptor valueOf(@Nullable Class<?> type)
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; }