diff --git a/core/src/main/java/jenkins/install/InstallUtil.java b/core/src/main/java/jenkins/install/InstallUtil.java index ff6949eaef..9280b6c064 100644 --- a/core/src/main/java/jenkins/install/InstallUtil.java +++ b/core/src/main/java/jenkins/install/InstallUtil.java @@ -27,7 +27,6 @@ package jenkins.install; import static java.util.logging.Level.SEVERE; import static java.util.logging.Level.WARNING; -import com.thoughtworks.xstream.XStream; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; import hudson.Functions; @@ -37,6 +36,7 @@ import hudson.model.UpdateCenter.DownloadJob.Installing; import hudson.model.UpdateCenter.InstallationJob; import hudson.model.UpdateCenter.UpdateCenterJob; import hudson.util.VersionNumber; +import hudson.util.XStream2; import jakarta.inject.Provider; import java.io.File; import java.io.IOException; @@ -289,7 +289,7 @@ public class InstallUtil { if (installingPluginsFile == null || !installingPluginsFile.exists()) { return null; } - return (Map) new XStream().fromXML(installingPluginsFile); + return (Map) new XStream2().fromXML(installingPluginsFile); } /** @@ -319,7 +319,7 @@ public class InstallUtil { } } try { - String installingPluginXml = new XStream().toXML(statuses); + String installingPluginXml = new XStream2().toXML(statuses); Files.writeString(Util.fileToPath(installingPluginsFile), installingPluginXml, StandardCharsets.UTF_8); } catch (IOException e) { LOGGER.log(SEVERE, "Failed to save " + installingPluginsFile.getAbsolutePath(), e); diff --git a/core/src/test/java/hudson/util/RobustReflectionConverterTest.java b/core/src/test/java/hudson/util/RobustReflectionConverterTest.java index 2ed2fcadff..bb392132af 100644 --- a/core/src/test/java/hudson/util/RobustReflectionConverterTest.java +++ b/core/src/test/java/hudson/util/RobustReflectionConverterTest.java @@ -78,7 +78,7 @@ public class RobustReflectionConverterTest { @Test public void ifWorkaroundNeeded() { - XStream xs = new XStream(); + XStream xs = new XStream(XStream2.getDefaultDriver()); xs.allowTypes(new Class[] {Point.class}); final ConversionException e = assertThrows(ConversionException.class, () -> read(xs)); assertThat(e.getMessage(), containsString("No such field hudson.util.Point.z")); diff --git a/test/src/test/java/jenkins/security/ClassFilterImplTest.java b/test/src/test/java/jenkins/security/ClassFilterImplTest.java index 9ccc33158c..3962e441e2 100644 --- a/test/src/test/java/jenkins/security/ClassFilterImplTest.java +++ b/test/src/test/java/jenkins/security/ClassFilterImplTest.java @@ -47,6 +47,7 @@ import hudson.model.Result; import hudson.model.Saveable; import hudson.tasks.BuildStepDescriptor; import hudson.tasks.Builder; +import hudson.util.XStream2; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -152,7 +153,7 @@ public class ClassFilterImplTest { config.save(); assertThat(config.getConfigFile().asString(), not(containsString("LinkedListMultimap"))); config.unrelated = "modified"; - Files.writeString(config.getConfigFile().getFile().toPath(), new XStream().toXML(config), StandardCharsets.UTF_8); + Files.writeString(config.getConfigFile().getFile().toPath(), new XStream(XStream2.getDefaultDriver()).toXML(config), StandardCharsets.UTF_8); assertThat(config.getConfigFile().asString(), allOf(containsString("LinkedListMultimap"), containsString("modified"))); config.obj = null; config.unrelated = null;