Pull request #603: RED-5248: Fix handling of temp files
Merge in RED/persistence-service from RED-5248 to master * commit 'abea17381f12891846b1eb480e60bfd2e93e2a5b': RED-5248: Fix handling of temp files
This commit is contained in:
commit
cd92696e33
@ -6,10 +6,6 @@ import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.attribute.FileAttribute;
|
||||
import java.nio.file.attribute.PosixFilePermission;
|
||||
import java.nio.file.attribute.PosixFilePermissions;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@ -17,8 +13,6 @@ import java.util.Set;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
import org.apache.commons.lang3.SystemUtils;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.SneakyThrows;
|
||||
@ -35,20 +29,7 @@ public class FileSystemBackedArchiver implements AutoCloseable {
|
||||
@SneakyThrows
|
||||
public FileSystemBackedArchiver() {
|
||||
|
||||
if (SystemUtils.IS_OS_UNIX) {
|
||||
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rwx------"));
|
||||
tempFile = Files.createTempFile("archive", ".zip", attr).toFile();
|
||||
} else {
|
||||
tempFile = Files.createTempFile("archive", ".zip").toFile();
|
||||
boolean isReadable = tempFile.setReadable(true, true);
|
||||
boolean isWritable = tempFile.setWritable(true, true);
|
||||
boolean isExecutable = tempFile.setExecutable(true, true);
|
||||
|
||||
if (!isReadable || !isWritable || !isExecutable) {
|
||||
log.warn("Could not archive temporary zip file.");
|
||||
}
|
||||
}
|
||||
|
||||
tempFile = FileUtils.createTempFile("archive", ".zip");
|
||||
zipOutputStream = new ZipOutputStream(new FileOutputStream(tempFile));
|
||||
}
|
||||
|
||||
|
||||
@ -31,6 +31,15 @@ public class FileUtils {
|
||||
}
|
||||
|
||||
|
||||
public File createTempFile(String filenamePrefix, String filenameSuffix) throws IOException {
|
||||
|
||||
File tempFile = Files.createTempFile(filenamePrefix, filenameSuffix).toFile();
|
||||
setRWPermissionsOnlyForOwner(tempFile);
|
||||
|
||||
return tempFile;
|
||||
}
|
||||
|
||||
|
||||
public File createTempFile(byte[] content, String filenamePrefix, String filenameSuffix) throws IOException {
|
||||
|
||||
File tempFile = Files.createTempFile(filenamePrefix, filenameSuffix).toFile();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user