From 9689b6716e0fd64151a638e3395a16511ef0d89e Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Mon, 2 Nov 2015 11:58:02 +0100 Subject: [PATCH] DATAREST-686 - Set default encoding for resource description message source to UTF-8. --- .../config/RepositoryRestMvcConfiguration.java | 1 + ...sitoryRestMvConfigurationIntegrationTests.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java index 7cf4330bd..1811a282f 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java @@ -398,6 +398,7 @@ public class RepositoryRestMvcConfiguration extends HateoasAwareSpringDataWebCon ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasename("classpath:rest-messages"); messageSource.setCommonMessages(propertiesFactoryBean.getObject()); + messageSource.setDefaultEncoding("UTF-8"); return new MessageSourceAccessor(messageSource); diff --git a/spring-data-rest-webmvc/src/test/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvConfigurationIntegrationTests.java b/spring-data-rest-webmvc/src/test/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvConfigurationIntegrationTests.java index 26cedf0c4..ec2c3c5e6 100644 --- a/spring-data-rest-webmvc/src/test/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvConfigurationIntegrationTests.java +++ b/spring-data-rest-webmvc/src/test/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvConfigurationIntegrationTests.java @@ -33,6 +33,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.MessageSourceAccessor; import org.springframework.core.convert.ConversionService; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort.Direction; @@ -53,6 +54,7 @@ import org.springframework.hateoas.core.DefaultRelProvider; import org.springframework.hateoas.mvc.TypeConstrainedMappingJackson2HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.test.util.ReflectionTestUtils; import org.springframework.util.MultiValueMap; import org.springframework.web.util.UriComponentsBuilder; @@ -207,6 +209,19 @@ public class RepositoryRestMvConfigurationIntegrationTests { assertThat(service.canConvert(Distance.class, String.class), is(true)); } + /** + * @see DATAREST-686 + */ + @Test + public void defaultsEncodingForMessageSourceToUtfEight() { + + MessageSourceAccessor accessor = context.getBean("resourceDescriptionMessageSourceAccessor", + MessageSourceAccessor.class); + Object messageSource = ReflectionTestUtils.getField(accessor, "messageSource"); + + assertThat((String) ReflectionTestUtils.getField(messageSource, "defaultEncoding"), is("UTF-8")); + } + @Configuration @Import(RepositoryRestMvcConfiguration.class) static class ExtendingConfiguration extends RepositoryRestConfigurerAdapter {