List of usage examples for org.springframework.core.convert ConversionService convert
@Nullable <T> T convert(@Nullable Object source, Class<T> targetType);
From source file:org.grails.datastore.mapping.redis.query.RedisQueryUtils.java
public static List<Long> transformRedisResults(ConversionService conversionService, Collection<String> results) { List<Long> returnResults; if (!results.isEmpty()) { List<Long> foreignKeys = new ArrayList<Long>(); for (String result : results) { foreignKeys.add(conversionService.convert(result, Long.class)); }//w w w. j a v a2s . c o m returnResults = foreignKeys; } else { returnResults = Collections.emptyList(); } return returnResults; }
From source file:org.grails.datastore.gorm.finders.DynamicFinder.java
public static void populateArgumentsForCriteria(@SuppressWarnings("unused") Class<?> targetClass, Query q, Map argMap) {// w ww .j av a2 s. com if (argMap == null) { return; } Integer maxParam = null; Integer offsetParam = null; final ConversionService conversionService = q.getSession().getMappingContext().getConversionService(); if (argMap.containsKey(ARGUMENT_MAX)) { maxParam = conversionService.convert(argMap.get(ARGUMENT_MAX), Integer.class); } if (argMap.containsKey(ARGUMENT_OFFSET)) { offsetParam = conversionService.convert(argMap.get(ARGUMENT_OFFSET), Integer.class); } String orderParam = (String) argMap.get(ARGUMENT_ORDER); final String sort = (String) argMap.get(ARGUMENT_SORT); final String order = ORDER_DESC.equalsIgnoreCase(orderParam) ? ORDER_DESC : ORDER_ASC; final int max = maxParam == null ? -1 : maxParam; final int offset = offsetParam == null ? -1 : offsetParam; if (max > -1) { q.max(max); } if (offset > -1) { q.offset(offset); } if (sort != null) { if (ORDER_DESC.equals(order)) { q.order(Query.Order.desc(sort)); } else { q.order(Query.Order.asc(sort)); } } if (q instanceof QueryArgumentsAware) { ((QueryArgumentsAware) q).setArguments(argMap); } }
From source file:org.oncoblocks.centromere.web.controller.RequestUtils.java
/** * Converts an object into the appropriate type defined by the model field being queried. * * @param param/* w ww . j a v a 2 s .co m*/ * @param type * @return */ public static Object convertParameter(Object param, Class<?> type, ConversionService conversionService) { logger.debug(String.format("Attempting to convert parameter: from=%s to=%s", param.getClass().getName(), type.getName())); if (conversionService.canConvert(param.getClass(), type)) { try { return conversionService.convert(param, type); } catch (ConversionFailedException e) { e.printStackTrace(); throw new InvalidParameterException("Unable to convert String to " + type.getName()); } } else { return param; } }
From source file:org.web4thejob.print.CsvPrinter.java
private static void writeLine(CSVWriter csv, ConversionService conversionService, Entity entity, RenderScheme renderScheme) {/* ww w. j a v a 2 s . co m*/ List<String> line = new ArrayList<String>(); if (renderScheme.getSchemeType() == SchemeType.ENTITY_SCHEME) { for (RenderElement item : renderScheme.getElements()) { if (item.getPropertyPath().getLastStep().isBlobType()) continue; line.clear(); line.add(item.getFriendlyName()); Object value = item.getPropertyPath().getValue(entity); if (value != null) { if (item.getPropertyPath().getLastStep().isAnnotatedWith(HtmlHolder.class)) { line.add(getActualTextFromHtml(value.toString())); } else { line.add(conversionService.convert(value, String.class)); } } else { line.add(""); } csv.writeNext(line.toArray(new String[line.size()])); } } else { line.clear(); for (RenderElement item : renderScheme.getElements()) { if (item.getPropertyPath().getLastStep().isBlobType()) continue; Object value = item.getPropertyPath().getValue(entity); if (value != null) { if (item.getPropertyPath().getLastStep().isAnnotatedWith(HtmlHolder.class)) { line.add(getActualTextFromHtml(value.toString())); } else { line.add(conversionService.convert(value, String.class)); } } else { line.add(""); } } csv.writeNext(line.toArray(new String[line.size()])); } }
From source file:tv.arte.resteventapi.core.presentation.decoration.RestEventApiControllerLinkBuilder.java
public static String linkTo(Class<?> controller, Method method, Map<String, ?> parameters, ConversionService conversionService) { Assert.notNull(controller, "Controller type must not be null!"); Assert.notNull(method, "Method must not be null!"); RestEventApiControllerLinkBuilder linkBuilder = new RestEventApiControllerLinkBuilder(getBuilder()); if (parameters == null) { parameters = new HashMap<String, Object>(1); }/* www .ja v a 2s . c o m*/ UriTemplate template = new UriTemplate(DISCOVERER.getMapping(controller, method)); URI uri = template.expand(parameters); linkBuilder = linkBuilder.slash(uri); List<String> templateVariables = template.getVariableNames(); for (Entry<String, ?> paramEnt : parameters.entrySet()) { if (!templateVariables.contains(paramEnt.getKey())) { String queryParamName = paramEnt.getKey(); Object queryParamValue = null; if (paramEnt.getValue() != null) { queryParamValue = conversionService.convert(paramEnt.getValue(), String.class); } if (queryParamValue != null) { linkBuilder.uriBuilder.queryParam(queryParamName, queryParamValue); } } } return linkBuilder.uriBuilder.build().toUriString(); }
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()); }//from w w w. ja v a2 s .co 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:org.grails.datastore.gorm.neo4j.Neo4jMappingContext.java
/** * Obtain the native type to use for the given value * * @param value The value/*w w w. j a va 2 s.c o m*/ * @return The value converted to a native Neo4j type */ public Object convertToNative(Object value) { if (value != null) { final Class<?> type = value.getClass(); if (type.equals(byte[].class)) { // workaround for https://github.com/neo4j/neo4j-java-driver/issues/182, remove when fixed byte[] bytes = (byte[]) value; int[] intArray = new int[bytes.length]; for (int i = 0; i < bytes.length; i++) { byte b = bytes[i]; intArray[i] = b; } return intArray; } else if (BASIC_TYPES.contains(type)) { return value; } else if (value instanceof CharSequence) { return value.toString(); } else if (value instanceof Collection) { return value; } else if (value instanceof BigDecimal) { return ((BigDecimal) value).doubleValue(); } else { final ConversionService conversionService = getConversionService(); if (byte[].class.isInstance(value)) { return conversionService.convert(value, String.class); } else { if (conversionService.canConvert(type, LONG_TYPE)) { return conversionService.convert(value, LONG_TYPE); } else if (conversionService.canConvert(type, DOUBLE_TYPE)) { return conversionService.convert(value, DOUBLE_TYPE); } else if (conversionService.canConvert(type, STRING_TYPE)) { return conversionService.convert(value, STRING_TYPE); } else { return value.toString(); } } } } else { return value; } }
From source file:org.web4thejob.web.panel.base.AbstractSettingAwarePanel.java
@SuppressWarnings("unchecked") @Override/*w ww . ja v a2 s. c o m*/ public <T extends Serializable> void setSettingValue(SettingEnum id, T value) { if (settings.containsKey(id)) { final Setting<T> setting = (Setting<T>) settings.get(id); final T oldValue = setting.getValue(); T newValue; if (!setting.getType().isInstance(value) && setting.getType().equals(String.class)) { final ConversionService conversionService = ContextUtil.getBean(ConversionService.class); newValue = conversionService.convert(value, setting.getType()); } else { newValue = value; } if ((oldValue != null && !oldValue.equals(newValue)) || (newValue != null && !newValue.equals(oldValue))) { setting.setValue(newValue); onSettingValueChanged(id, oldValue, newValue); } } }
From source file:org.grails.datastore.mapping.riak.engine.RiakEntityPersister.java
@Override protected void setEntryValue(Map nativeEntry, String key, Object value) { if (null == value) { return;//from w ww.j av a2s. c om } if (value instanceof Date) { // Date handling again, like above nativeEntry.put(key, ((Date) value).getTime()); } else if (value instanceof Calendar) { // Calendar handling again, like above nativeEntry.put(key, ((Calendar) value).getTime().getTime()); } else if (value instanceof Boolean) { nativeEntry.put(key, value); } else if (value instanceof Enum) { nativeEntry.put(key, value.toString()); } else if (shouldConvert(value)) { final ConversionService conversionService = getMappingContext().getConversionService(); nativeEntry.put(key, conversionService.convert(value, String.class)); } }
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 { ///* ww w .j a v a2 s . co m*/ 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; }