INT-4177: Use Shared DefaultConversionService
JIRA: https://jira.spring.io/browse/INT-4177 Use DefaultConversionService.getSharedInstance() $ find . | grep '\.java$' | xargs sed -i '' -e 's/new DefaultConversionService/DefaultConversionService.getSharedInstance/ Polishing - BFTC, Revert Tests, Fix JPA Deps spring-data-jpa pulls in SF 5.0.0.M3.
This commit is contained in:
committed by
Artem Bilan
parent
b25c95508e
commit
00796702c0
10
build.gradle
10
build.gradle
@@ -447,7 +447,15 @@ project('spring-integration-jpa') {
|
||||
compile ("org.eclipse.persistence:javax.persistence:$jpaApiVersion", optional)
|
||||
|
||||
|
||||
testCompile "org.springframework.data:spring-data-jpa:$springDataJpaVersion"
|
||||
testCompile ("org.springframework.data:spring-data-jpa:$springDataJpaVersion") {
|
||||
exclude group: 'org.springframework', module: 'spring-beans'
|
||||
exclude group: 'org.springframework', module: 'spring-context'
|
||||
exclude group: 'org.springframework', module: 'spring-core'
|
||||
exclude group: 'org.springframework', module: 'spring-expression'
|
||||
exclude group: 'org.springframework', module: 'spring-aop'
|
||||
exclude group: 'org.springframework', module: 'spring-orm'
|
||||
exclude group: 'org.springframework', module: 'spring-tx'
|
||||
}
|
||||
|
||||
testCompile "com.h2database:h2:$h2Version"
|
||||
testCompile "org.hsqldb:hsqldb:$hsqldbVersion"
|
||||
|
||||
@@ -121,7 +121,7 @@ public abstract class AbstractMethodAnnotationPostProcessor<T extends Annotation
|
||||
this.conversionService = conversionService;
|
||||
}
|
||||
else {
|
||||
this.conversionService = new DefaultConversionService();
|
||||
this.conversionService = DefaultConversionService.getSharedInstance();
|
||||
}
|
||||
this.channelResolver = new BeanFactoryChannelResolver(beanFactory);
|
||||
this.annotationType = (Class<T>) GenericTypeResolver.resolveTypeArgument(this.getClass(),
|
||||
|
||||
@@ -73,7 +73,7 @@ public abstract class IntegrationObjectSupport implements BeanNameAware, NamedCo
|
||||
*/
|
||||
protected final Log logger = LogFactory.getLog(getClass());
|
||||
|
||||
private final ConversionService defaultConversionService = new DefaultConversionService();
|
||||
private final ConversionService defaultConversionService = DefaultConversionService.getSharedInstance();
|
||||
|
||||
private volatile DestinationResolver<MessageChannel> channelResolver;
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ public final class RouterSpec<K, R extends AbstractMappingMessageRouter>
|
||||
protected void onInit() throws Exception {
|
||||
ConversionService conversionService = getConversionService();
|
||||
if (conversionService == null) {
|
||||
conversionService = new DefaultConversionService();
|
||||
conversionService = DefaultConversionService.getSharedInstance();
|
||||
}
|
||||
for (Map.Entry<Object, NamedComponent> entry : this.mapping.entrySet()) {
|
||||
Object key = entry.getKey();
|
||||
|
||||
@@ -86,7 +86,7 @@ public class LambdaMessageProcessor implements MessageProcessor<Object>, BeanFac
|
||||
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
|
||||
ConversionService conversionService = IntegrationUtils.getConversionService(beanFactory);
|
||||
if (conversionService == null) {
|
||||
conversionService = new DefaultConversionService();
|
||||
conversionService = DefaultConversionService.getSharedInstance();
|
||||
}
|
||||
this.conversionService = conversionService;
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ public abstract class AbstractMessageRouter extends AbstractMessageHandler imple
|
||||
if (this.getConversionService() == null) {
|
||||
synchronized (this) {
|
||||
if (this.getConversionService() == null) {
|
||||
this.setConversionService(new DefaultConversionService());
|
||||
this.setConversionService(DefaultConversionService.getSharedInstance());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.springframework.util.Assert;
|
||||
public class DefaultDatatypeChannelMessageConverter implements MessageConverter,
|
||||
BeanFactoryAware {
|
||||
|
||||
private volatile ConversionService conversionService = new DefaultConversionService();
|
||||
private volatile ConversionService conversionService = DefaultConversionService.getSharedInstance();
|
||||
|
||||
private volatile boolean conversionServiceSet;
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ public class MapToObjectTransformer extends AbstractPayloadTransformer<Map<?, ?>
|
||||
DataBinder binder = new DataBinder(target);
|
||||
ConversionService conversionService = this.getConversionService();
|
||||
if (conversionService == null) {
|
||||
conversionService = new DefaultConversionService();
|
||||
conversionService = DefaultConversionService.getSharedInstance();
|
||||
}
|
||||
binder.setConversionService(conversionService);
|
||||
binder.bind(new MutablePropertyValues(payload));
|
||||
|
||||
@@ -27,8 +27,8 @@ import org.springframework.core.convert.ConversionService;
|
||||
import org.springframework.core.convert.TypeDescriptor;
|
||||
import org.springframework.core.convert.support.DefaultConversionService;
|
||||
import org.springframework.expression.TypeConverter;
|
||||
import org.springframework.messaging.MessageHeaders;
|
||||
import org.springframework.integration.history.MessageHistory;
|
||||
import org.springframework.messaging.MessageHeaders;
|
||||
import org.springframework.util.ClassUtils;
|
||||
|
||||
/**
|
||||
@@ -39,9 +39,6 @@ import org.springframework.util.ClassUtils;
|
||||
*/
|
||||
public class BeanFactoryTypeConverter implements TypeConverter, BeanFactoryAware {
|
||||
|
||||
private static ConversionService defaultConversionService;
|
||||
|
||||
|
||||
private volatile SimpleTypeConverter delegate = new SimpleTypeConverter();
|
||||
|
||||
private volatile boolean haveCalledDelegateGetDefaultEditor;
|
||||
@@ -50,12 +47,7 @@ public class BeanFactoryTypeConverter implements TypeConverter, BeanFactoryAware
|
||||
|
||||
|
||||
public BeanFactoryTypeConverter() {
|
||||
synchronized (BeanFactoryTypeConverter.class) {
|
||||
if (defaultConversionService == null) {
|
||||
defaultConversionService = new DefaultConversionService();
|
||||
}
|
||||
}
|
||||
this.conversionService = defaultConversionService;
|
||||
this.conversionService = DefaultConversionService.getSharedInstance();
|
||||
}
|
||||
|
||||
public BeanFactoryTypeConverter(ConversionService conversionService) {
|
||||
@@ -67,6 +59,7 @@ public class BeanFactoryTypeConverter implements TypeConverter, BeanFactoryAware
|
||||
this.conversionService = conversionService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
|
||||
if (beanFactory instanceof ConfigurableBeanFactory) {
|
||||
Object typeConverter = ((ConfigurableBeanFactory) beanFactory).getTypeConverter();
|
||||
@@ -90,6 +83,7 @@ public class BeanFactoryTypeConverter implements TypeConverter, BeanFactoryAware
|
||||
return this.delegate.findCustomEditor(targetType, null) != null || this.getDefaultEditor(targetType) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConvert(TypeDescriptor sourceTypeDescriptor, TypeDescriptor targetTypeDescriptor) {
|
||||
if (this.conversionService.canConvert(sourceTypeDescriptor, targetTypeDescriptor)) {
|
||||
return true;
|
||||
@@ -100,6 +94,7 @@ public class BeanFactoryTypeConverter implements TypeConverter, BeanFactoryAware
|
||||
return canConvert(sourceType, targetType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object convertValue(Object value, TypeDescriptor sourceType, TypeDescriptor targetType) {
|
||||
// Echoes org.springframework.expression.common.ExpressionUtils.convertTypedValue()
|
||||
if ((targetType.getType() == Void.class || targetType.getType() == Void.TYPE) && value == null) {
|
||||
|
||||
@@ -17,13 +17,16 @@
|
||||
package org.springframework.integration.expression;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNotSame;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
import org.springframework.context.support.ConversionServiceFactoryBean;
|
||||
import org.springframework.context.support.GenericApplicationContext;
|
||||
import org.springframework.core.convert.support.DefaultConversionService;
|
||||
import org.springframework.expression.TypeConverter;
|
||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
||||
import org.springframework.integration.config.IntegrationEvaluationContextFactoryBean;
|
||||
@@ -66,6 +69,8 @@ public class ExpressionUtilsTests {
|
||||
assertNotNull(evalContext.getBeanResolver());
|
||||
TypeConverter typeConverter = evalContext.getTypeConverter();
|
||||
assertNotNull(typeConverter);
|
||||
assertSame(DefaultConversionService.getSharedInstance(),
|
||||
TestUtils.getPropertyValue(typeConverter, "conversionService"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -78,6 +83,8 @@ public class ExpressionUtilsTests {
|
||||
assertNotNull(evalContext.getBeanResolver());
|
||||
TypeConverter typeConverter = evalContext.getTypeConverter();
|
||||
assertNotNull(typeConverter);
|
||||
assertNotSame(DefaultConversionService.getSharedInstance(),
|
||||
TestUtils.getPropertyValue(typeConverter, "conversionService"));
|
||||
assertSame(context.getBean(IntegrationUtils.INTEGRATION_CONVERSION_SERVICE_BEAN_NAME),
|
||||
TestUtils.getPropertyValue(typeConverter, "conversionService"));
|
||||
}
|
||||
@@ -88,5 +95,7 @@ public class ExpressionUtilsTests {
|
||||
assertNull(evalContext.getBeanResolver());
|
||||
TypeConverter typeConverter = evalContext.getTypeConverter();
|
||||
assertNotNull(typeConverter);
|
||||
assertSame(DefaultConversionService.getSharedInstance(),
|
||||
TestUtils.getPropertyValue(typeConverter, "conversionService"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user