diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java index 84778a5d5..0f2ed0de2 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java @@ -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> 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)); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileUtils.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileUtils.java index f05c90250..84831fd10 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileUtils.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileUtils.java @@ -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();