DATACMNS-1123 - Upgraded to XmlBeam 1.4.12 and tweaked HttpMessageConverter implementation.

XmlBeam 1.4.11 accidentally removed ProjectionFactory as public interface. Adapted our HttpMessageConverter implementation to make sure we still work on those versions.

Related ticket: https://github.com/SvenEwald/xmlbeam/issues/45
This commit is contained in:
Oliver Gierke
2017-07-24 14:12:50 +02:00
parent 27f6a4d36c
commit d38fdf338b
3 changed files with 4 additions and 5 deletions

View File

@@ -20,7 +20,7 @@
<javaslang>2.0.4</javaslang>
<vavr>0.9.0</vavr>
<scala>2.11.7</scala>
<xmlbeam>1.4.8</xmlbeam>
<xmlbeam>1.4.12</xmlbeam>
</properties>
<dependencies>

View File

@@ -28,7 +28,6 @@ import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.util.ConcurrentReferenceHashMap;
import org.xmlbeam.ProjectionFactory;
import org.xmlbeam.XBProjector;
/**
@@ -40,7 +39,7 @@ import org.xmlbeam.XBProjector;
*/
public class XmlBeamHttpMessageConverter extends AbstractHttpMessageConverter<Object> {
private final ProjectionFactory projectionFactory;
private final XBProjector projectionFactory;
private final Map<Class<?>, Boolean> supportedTypesCache = new ConcurrentReferenceHashMap<Class<?>, Boolean>();
/**

View File

@@ -28,7 +28,7 @@ import org.springframework.data.classloadersupport.HidingClassLoader;
import org.springframework.data.web.ProjectingJackson2HttpMessageConverter;
import org.springframework.data.web.XmlBeamHttpMessageConverter;
import org.springframework.http.converter.HttpMessageConverter;
import org.xmlbeam.ProjectionFactory;
import org.xmlbeam.XBProjector;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jayway.jsonpath.DocumentContext;
@@ -67,7 +67,7 @@ public class SpringDataWebConfigurationIntegrationTests {
List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();
ClassLoader classLoader = HidingClassLoader.hide(ProjectionFactory.class);
ClassLoader classLoader = HidingClassLoader.hide(XBProjector.class);
createConfigWithClassLoader(classLoader).extendMessageConverters(converters);
assertThat(converters, not(hasItem(instanceWithClassName(XmlBeamHttpMessageConverter.class))));