From f7e8bee7cd3b8af97fd239c0425623f98ff1dd88 Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Thu, 7 Oct 2021 15:51:03 +0200 Subject: [PATCH] Bugfix with 'posix:permissions' for Windows systems --- .../v1/server/utils/FileSystemBackedArchiver.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 d00029df0..63ececd41 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 @@ -18,6 +18,8 @@ import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import org.apache.commons.lang3.SystemUtils; + @Slf4j public class FileSystemBackedArchiver implements AutoCloseable { @@ -25,20 +27,18 @@ public class FileSystemBackedArchiver implements AutoCloseable { private final File tempFile; private final ZipOutputStream zipOutputStream; - private static final boolean isPosix = FileSystems.getDefault().supportedFileAttributeViews().contains("posix"); - @SneakyThrows public FileSystemBackedArchiver() { - // TODO this is just a workaround for testing - if (isPosix) { + 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(); - tempFile.setReadable(true); - tempFile.setWritable(true); - tempFile.setExecutable(true); + tempFile.setReadable(true, true); + tempFile.setWritable(true, true); + tempFile.setExecutable(true, true); } + zipOutputStream = new ZipOutputStream(new FileOutputStream(tempFile)); }