mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-07 09:06:03 +00:00
simplified the implementation of the write method.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@1712 71c3de6d-444a-0410-be80-ed276b4c234a
This commit is contained in:
1 parent
fbc918b1f5
commit
2d93ee8d4a
1 file changed
+4
-10
@@ -438,24 +438,18 @@ public final class FilePath implements Serializable {
|
||||
* If this file already exists, it will be overwritten.
|
||||
* If the directory doesn't exist, it will be created.
|
||||
*/
|
||||
public OutputStream write() throws IOException {
|
||||
public OutputStream write() throws IOException, InterruptedException {
|
||||
if(channel==null)
|
||||
return new FileOutputStream(new File(remote));
|
||||
|
||||
final Pipe p = Pipe.createLocalToRemote();
|
||||
channel.callAsync(new Callable<Void,IOException>() {
|
||||
public Void call() throws IOException {
|
||||
return channel.call(new Callable<OutputStream,IOException>() {
|
||||
public OutputStream call() throws IOException {
|
||||
File f = new File(remote);
|
||||
f.getParentFile().mkdirs();
|
||||
FileOutputStream fos = new FileOutputStream(f);
|
||||
Util.copyStream(p.getIn(),fos);
|
||||
fos.close();
|
||||
p.getIn().close();
|
||||
return null;
|
||||
return new RemoteOutputStream(fos);
|
||||
}
|
||||
});
|
||||
|
||||
return p.getOut();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user