From 532dd1603ca9f67b324a435ad6766ffd41abd253 Mon Sep 17 00:00:00 2001 From: kohsuke Date: Sat, 9 Oct 2010 18:29:21 +0000 Subject: [PATCH] enabled XStream annotation support git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@35709 71c3de6d-444a-0410-be80-ed276b4c234a --- core/pom.xml | 2 +- core/src/main/java/hudson/util/XStream2.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index 154b352b28..40f07ba461 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -451,7 +451,7 @@ THE SOFTWARE. org.jvnet.hudson xstream - 1.3.1-hudson-7 + 1.3.1-hudson-8 jfree diff --git a/core/src/main/java/hudson/util/XStream2.java b/core/src/main/java/hudson/util/XStream2.java index 92bda5f8e9..e0b743faa8 100644 --- a/core/src/main/java/hudson/util/XStream2.java +++ b/core/src/main/java/hudson/util/XStream2.java @@ -25,6 +25,7 @@ package hudson.util; import com.google.common.collect.ImmutableMap; import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.mapper.AnnotationMapper; import com.thoughtworks.xstream.mapper.Mapper; import com.thoughtworks.xstream.mapper.MapperWrapper; import com.thoughtworks.xstream.converters.Converter; @@ -109,7 +110,7 @@ public class XStream2 extends XStream { @Override protected MapperWrapper wrapMapper(MapperWrapper next) { - return new CompatibilityMapper(new MapperWrapper(next) { + Mapper m = new CompatibilityMapper(new MapperWrapper(next) { @Override public String serializedClass(Class type) { if (ImmutableMap.class.isAssignableFrom(type)) @@ -118,6 +119,9 @@ public class XStream2 extends XStream { return super.serializedClass(type); } }); + AnnotationMapper a = new AnnotationMapper(m, getConverterRegistry(), getClassLoader(), getReflectionProvider(), getJvm()); + a.autodetectAnnotations(true); + return a; } /** -- GitLab