From 2e13eb03dd0ed0cbd581aa50775d269bd9d190ac Mon Sep 17 00:00:00 2001 From: kohsuke Date: Fri, 7 May 2010 18:23:26 +0000 Subject: [PATCH] Added a convenience method to reduce the invocation of a deprecated method. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@30806 71c3de6d-444a-0410-be80-ed276b4c234a --- .../java/hudson/lifecycle/WindowsInstallerLink.java | 2 +- .../java/hudson/lifecycle/WindowsSlaveInstaller.java | 2 +- core/src/main/java/hudson/model/Hudson.java | 2 +- .../src/main/java/hudson/util/StreamTaskListener.java | 11 ++++++++++- core/src/test/java/hudson/LauncherTest.java | 2 +- core/src/test/java/hudson/os/SUTester.java | 2 +- .../java/org/jvnet/hudson/test/HudsonTestCase.java | 2 +- .../test/java/hudson/model/AbstractProjectTest.java | 2 +- test/src/test/java/hudson/tools/JDKInstallerTest.java | 4 ++-- .../src/test/java/hudson/triggers/SCMTriggerTest.java | 2 +- 10 files changed, 20 insertions(+), 11 deletions(-) diff --git a/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java b/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java index 45384fc5fb..b6f041025a 100644 --- a/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java +++ b/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java @@ -196,7 +196,7 @@ public class WindowsInstallerLink extends ManagementLink { mv.execute(); } LOGGER.info("Starting a Windows service"); - StreamTaskListener task = new StreamTaskListener(System.out); + StreamTaskListener task = StreamTaskListener.fromStdout(); int r = new LocalLauncher(task).launch().cmds(new File(installationDir, "hudson.exe"), "start") .stdout(task).pwd(installationDir).join(); task.getLogger().println(r==0?"Successfully started":"start service failed. Exit code="+r); diff --git a/core/src/main/java/hudson/lifecycle/WindowsSlaveInstaller.java b/core/src/main/java/hudson/lifecycle/WindowsSlaveInstaller.java index ed01a5a3af..3e549c4723 100644 --- a/core/src/main/java/hudson/lifecycle/WindowsSlaveInstaller.java +++ b/core/src/main/java/hudson/lifecycle/WindowsSlaveInstaller.java @@ -145,7 +145,7 @@ public class WindowsSlaveInstaller implements Callable, A Runtime.getRuntime().addShutdownHook(new Thread("service starter") { public void run() { try { - StreamTaskListener task = new StreamTaskListener(System.out); + StreamTaskListener task = StreamTaskListener.fromStdout(); int r = new LocalLauncher(task).launch().cmds(slaveExe, "start").stdout(task).pwd(dir).join(); task.getLogger().println(r==0?"Successfully started":"start service failed. Exit code="+r); } catch (IOException e) { diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index 433a2fb592..4567c91466 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -628,7 +628,7 @@ public final class Hudson extends Node implements ItemGroup, Stapl Computer c = toComputer(); if(c!=null) for (ComputerListener cl : ComputerListener.all()) - cl.onOnline(c,new StreamTaskListener(System.out)); + cl.onOnline(c,StreamTaskListener.fromStdout()); } for (ItemListener l : ItemListener.all()) diff --git a/core/src/main/java/hudson/util/StreamTaskListener.java b/core/src/main/java/hudson/util/StreamTaskListener.java index 58ee07b126..d9b7b42bb6 100644 --- a/core/src/main/java/hudson/util/StreamTaskListener.java +++ b/core/src/main/java/hudson/util/StreamTaskListener.java @@ -62,7 +62,8 @@ public class StreamTaskListener implements TaskListener, Serializable, Closeable /** * @deprecated as of 1.349 * The caller should use {@link #StreamTaskListener(OutputStream, Charset)} to pass in - * the charset and output stream separately, so that this class can handle encoding correctly. + * the charset and output stream separately, so that this class can handle encoding correctly, + * or use {@link #fromStdout()} or {@link #fromStderr()}. */ public StreamTaskListener(PrintStream out) { this(out,null); @@ -108,6 +109,14 @@ public class StreamTaskListener implements TaskListener, Serializable, Closeable this(new NullStream()); } + public static StreamTaskListener fromStdout() { + return new StreamTaskListener(System.out,Charset.defaultCharset()); + } + + public static StreamTaskListener fromStderr() { + return new StreamTaskListener(System.err,Charset.defaultCharset()); + } + public PrintStream getLogger() { return out; } diff --git a/core/src/test/java/hudson/LauncherTest.java b/core/src/test/java/hudson/LauncherTest.java index e0abe175ed..44afce152a 100644 --- a/core/src/test/java/hudson/LauncherTest.java +++ b/core/src/test/java/hudson/LauncherTest.java @@ -44,7 +44,7 @@ public class LauncherTest extends ChannelTestCase { try { FilePath f = new FilePath(french, tmp.getPath()); - Launcher l = f.createLauncher(new StreamTaskListener(System.err)); + Launcher l = f.createLauncher(StreamTaskListener.fromStderr()); Proc p = l.launch().cmds("sh", "-c", "echo $$$$ > "+tmp+"; sleep 30").stdout(System.out).stderr(System.err).start(); while (!tmp.exists()) Thread.sleep(100); diff --git a/core/src/test/java/hudson/os/SUTester.java b/core/src/test/java/hudson/os/SUTester.java index 11acebd041..2f28a41303 100644 --- a/core/src/test/java/hudson/os/SUTester.java +++ b/core/src/test/java/hudson/os/SUTester.java @@ -10,7 +10,7 @@ import java.io.FileOutputStream; */ public class SUTester { public static void main(String[] args) throws Throwable { - SU.execute(new StreamTaskListener(System.out),"kohsuke","bogus",new Callable() { + SU.execute(StreamTaskListener.fromStdout(),"kohsuke","bogus",new Callable() { public Object call() throws Throwable { System.out.println("Touching /tmp/x"); new FileOutputStream("/tmp/x").close(); diff --git a/test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java b/test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java index 9c59959fee..6387203829 100644 --- a/test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java +++ b/test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java @@ -489,7 +489,7 @@ public abstract class HudsonTestCase extends TestCase implements RootAction { * Creates {@link LocalLauncher}. Useful for launching processes. */ protected LocalLauncher createLocalLauncher() { - return new LocalLauncher(new StreamTaskListener(System.out)); + return new LocalLauncher(StreamTaskListener.fromStdout()); } /** diff --git a/test/src/test/java/hudson/model/AbstractProjectTest.java b/test/src/test/java/hudson/model/AbstractProjectTest.java index e9f8a2f21f..b7b0247bcc 100644 --- a/test/src/test/java/hudson/model/AbstractProjectTest.java +++ b/test/src/test/java/hudson/model/AbstractProjectTest.java @@ -181,7 +181,7 @@ public class AbstractProjectTest extends HudsonTestCase { }); Thread t = new Thread() { @Override public void run() { - p.pollSCMChanges(new StreamTaskListener(System.out)); + p.pollSCMChanges(StreamTaskListener.fromStdout()); } }; try { diff --git a/test/src/test/java/hudson/tools/JDKInstallerTest.java b/test/src/test/java/hudson/tools/JDKInstallerTest.java index 852d570b0b..544a5898d7 100644 --- a/test/src/test/java/hudson/tools/JDKInstallerTest.java +++ b/test/src/test/java/hudson/tools/JDKInstallerTest.java @@ -43,7 +43,7 @@ public class JDKInstallerTest extends HudsonTestCase { */ public void testLocate() throws Exception { JDKInstaller i = new JDKInstaller("jdk-6u13-oth-JPR@CDS-CDS_Developer", true); - StreamTaskListener listener = new StreamTaskListener(System.out); + StreamTaskListener listener = StreamTaskListener.fromStdout(); i.locate(listener, Platform.LINUX, CPU.i386); i.locate(listener, Platform.WINDOWS, CPU.amd64); i.locate(listener, Platform.SOLARIS, CPU.Sparc); @@ -98,7 +98,7 @@ public class JDKInstallerTest extends HudsonTestCase { "#!/bin/bash -ex\n" + "mkdir -p jdk1.6.0_dummy/bin\n" + "touch jdk1.6.0_dummy/bin/java","ASCII"); - TaskListener l = new StreamTaskListener(System.out); + TaskListener l = StreamTaskListener.fromStdout(); File d = env.temporaryDirectoryAllocator.allocate(); diff --git a/test/src/test/java/hudson/triggers/SCMTriggerTest.java b/test/src/test/java/hudson/triggers/SCMTriggerTest.java index c3ab40f1d2..5c33b676a7 100644 --- a/test/src/test/java/hudson/triggers/SCMTriggerTest.java +++ b/test/src/test/java/hudson/triggers/SCMTriggerTest.java @@ -61,7 +61,7 @@ public class SCMTriggerTest extends HudsonTestCase { Future build = p.scheduleBuild2(0, new Cause.UserCause()); checkoutStarted.block(); - assertFalse("SCM-poll after build has started should wait until that build finishes SCM-update", p.pollSCMChanges(new StreamTaskListener(System.out))); + assertFalse("SCM-poll after build has started should wait until that build finishes SCM-update", p.pollSCMChanges(StreamTaskListener.fromStdout())); build.get(); // let mock build finish }