未验证 提交 7090b374 编写于 作者: J Jesse Glick

More consistent use of Util.fileToPath from FilePath methods.

上级 ea7cade1
......@@ -59,7 +59,6 @@ import hudson.util.NamingThreadFactory;
import hudson.util.io.Archiver;
import hudson.util.io.ArchiverFactory;
import static java.util.logging.Level.FINE;
import java.io.BufferedOutputStream;
import java.io.File;
......@@ -86,7 +85,6 @@ import java.nio.file.InvalidPathException;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.LinkOption;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.nio.file.attribute.FileAttribute;
import java.nio.file.attribute.PosixFilePermission;
......@@ -137,10 +135,8 @@ import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.Stapler;
import static hudson.FilePath.TarCompression.GZIP;
import static hudson.Util.deleteFile;
import static hudson.Util.fileToPath;
import static hudson.Util.fixEmpty;
import static hudson.Util.isSymlink;
import java.util.Collections;
import org.apache.tools.ant.BuildException;
......@@ -1600,11 +1596,7 @@ public final class FilePath implements Serializable {
@Override
public Void invoke(File f, VirtualChannel channel) throws IOException {
if(!f.exists()) {
try {
Files.newOutputStream(creating(f).toPath()).close();
} catch (InvalidPathException e) {
throw new IOException(e);
}
Files.newOutputStream(fileToPath(creating(f))).close();
}
if(!stating(f).setLastModified(timestamp))
throw new IOException("Failed to set the timestamp of "+f+" to "+timestamp);
......@@ -1947,11 +1939,7 @@ public final class FilePath implements Serializable {
*/
public InputStream read() throws IOException, InterruptedException {
if(channel==null) {
try {
return Files.newInputStream(reading(new File(remote)).toPath());
} catch (InvalidPathException e) {
throw new IOException(e);
}
return Files.newInputStream(fileToPath(reading(new File(remote))));
}
final Pipe p = Pipe.createRemoteToLocal();
......@@ -1967,11 +1955,9 @@ public final class FilePath implements Serializable {
}
@Override
public Void invoke(File f, VirtualChannel channel) throws IOException, InterruptedException {
try (InputStream fis = Files.newInputStream(reading(f).toPath());
try (InputStream fis = Files.newInputStream(fileToPath(reading(f)));
OutputStream out = p.getOut()) {
org.apache.commons.io.IOUtils.copy(fis, out);
} catch (InvalidPathException e) {
p.error(new IOException(e));
} catch (Exception x) {
p.error(x);
}
......@@ -2075,11 +2061,7 @@ public final class FilePath implements Serializable {
if(channel==null) {
File f = new File(remote).getAbsoluteFile();
mkdirs(f.getParentFile());
try {
return Files.newOutputStream(writing(f).toPath());
} catch (InvalidPathException e) {
throw new IOException(e);
}
return Files.newOutputStream(fileToPath(writing(f)));
}
return act(new WritePipe());
......@@ -2090,12 +2072,7 @@ public final class FilePath implements Serializable {
public OutputStream invoke(File f, VirtualChannel channel) throws IOException, InterruptedException {
f = f.getAbsoluteFile();
mkdirs(f.getParentFile());
try {
OutputStream fos = Files.newOutputStream(writing(f).toPath());
return new RemoteOutputStream(fos);
} catch (InvalidPathException e) {
throw new IOException(e);
}
return new RemoteOutputStream(Files.newOutputStream(fileToPath(writing(f))));
}
}
......@@ -2120,11 +2097,9 @@ public final class FilePath implements Serializable {
@Override
public Void invoke(File f, VirtualChannel channel) throws IOException {
mkdirs(f.getParentFile());
try (OutputStream fos = Files.newOutputStream(writing(f).toPath());
try (OutputStream fos = Files.newOutputStream(fileToPath(writing(f)));
Writer w = encoding != null ? new OutputStreamWriter(fos, encoding) : new OutputStreamWriter(fos)) {
w.write(content);
} catch (InvalidPathException e) {
throw new IOException(e);
}
return null;
}
......@@ -2270,11 +2245,9 @@ public final class FilePath implements Serializable {
}
@Override
public Void invoke(File f, VirtualChannel channel) throws IOException {
try (InputStream fis = Files.newInputStream(reading(f).toPath())) {
try (InputStream fis = Files.newInputStream(fileToPath(reading(f)))) {
org.apache.commons.io.IOUtils.copy(fis, out);
return null;
} catch (InvalidPathException e) {
throw new IOException(e);
} finally {
out.close();
}
......@@ -3337,7 +3310,7 @@ public final class FilePath implements Serializable {
Path child = currentFileAbsolutePath.normalize();
Path parent = parentAbsolutePath.normalize();
return child.startsWith(parent);
} catch (InvalidPathException e2) {
} catch (InvalidPathException e2) { // TODO which method would throw this?
throw new IOException(e2);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册