Merge branch '1.1.x'

This commit is contained in:
Dave Syer
2014-07-28 09:32:58 -07:00
3 changed files with 12 additions and 21 deletions

View File

@@ -75,15 +75,7 @@ public class HttpMessageConverters implements Iterable<HttpMessageConverter<?>>
public HttpMessageConverters(Collection<HttpMessageConverter<?>> additionalConverters) {
List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();
List<HttpMessageConverter<?>> defaultConverters = getDefaultConverters();
for (HttpMessageConverter<?> converter : additionalConverters) {
int defaultConverterIndex = indexOfItemClass(defaultConverters, converter);
if (defaultConverterIndex == -1) {
converters.add(converter);
}
else {
defaultConverters.set(defaultConverterIndex, converter);
}
}
converters.addAll(additionalConverters);
converters.addAll(defaultConverters);
this.converters = Collections.unmodifiableList(converters);
}
@@ -120,16 +112,6 @@ public class HttpMessageConverters implements Iterable<HttpMessageConverter<?>>
converters.addAll(xml);
}
private <E> int indexOfItemClass(List<E> list, E item) {
Class<? extends Object> itemClass = item.getClass();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getClass().isAssignableFrom(itemClass)) {
return i;
}
}
return -1;
}
@Override
public Iterator<HttpMessageConverter<?>> iterator() {
return getConverters().iterator();

View File

@@ -69,6 +69,15 @@ public class HttpMessageConvertersTests {
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
HttpMessageConverters converters = new HttpMessageConverters(converter);
assertTrue(converters.getConverters().contains(converter));
int count = 0;
for (HttpMessageConverter<?> httpMessageConverter : converters) {
if (httpMessageConverter instanceof MappingJackson2HttpMessageConverter) {
count++;
}
}
// The existing converter is still there, but with a lower priority
assertEquals(2, count);
assertEquals(0, converters.getConverters().indexOf(converter));
}
@Test

View File

@@ -118,7 +118,7 @@
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.1.7</version>
<version>2.1.10</version>
<executions>
<execution>
<goals>
@@ -130,7 +130,7 @@
<verbose>true</verbose>
<dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${basedir}/src/main/resources/git.properties</generateGitPropertiesFilename>
<generateGitPropertiesFilename>${basedir}/target/classes/git.properties</generateGitPropertiesFilename>
</configuration>
</plugin>
<!-- Support our own plugin -->