From 27e9db8c8c30a941bbbc4ceae6a18bd2124ea527 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Wed, 12 Aug 2015 17:35:03 +0200 Subject: [PATCH] Fix regression in Jaxb2Marshaller regarding JdkVersion Issue: SPR-13312 --- .../org/springframework/oxm/jaxb/Jaxb2Marshaller.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spring-oxm/src/main/java/org/springframework/oxm/jaxb/Jaxb2Marshaller.java b/spring-oxm/src/main/java/org/springframework/oxm/jaxb/Jaxb2Marshaller.java index 88c030a1e8..934da30146 100644 --- a/spring-oxm/src/main/java/org/springframework/oxm/jaxb/Jaxb2Marshaller.java +++ b/spring-oxm/src/main/java/org/springframework/oxm/jaxb/Jaxb2Marshaller.java @@ -583,15 +583,16 @@ public class Jaxb2Marshaller implements MimeMarshaller, MimeUnmarshaller, Generi if (JAXBElement.class == parameterizedType.getRawType() && parameterizedType.getActualTypeArguments().length == 1) { boolean isJdk6 = (org.springframework.core.JdkVersion.getMajorJavaVersion() <= org.springframework.core.JdkVersion.JAVA_16); + boolean isJdk7 = (org.springframework.core.JdkVersion.getMajorJavaVersion() >= org.springframework.core.JdkVersion.JAVA_17); Type typeArgument = parameterizedType.getActualTypeArguments()[0]; if (typeArgument instanceof Class) { Class classArgument = (Class) typeArgument; - if (isJdk6 && classArgument.isArray()) { - return (isPrimitiveWrapper(classArgument) || isStandardClass(classArgument) || - supportsInternal(classArgument, false)); + if (isJdk7 && classArgument.isArray()) { + return (classArgument.getComponentType() == Byte.TYPE); } else { - return (classArgument.getComponentType() == Byte.TYPE); + return (isPrimitiveWrapper(classArgument) || isStandardClass(classArgument) || + supportsInternal(classArgument, false)); } } else if (isJdk6 && typeArgument instanceof GenericArrayType) {