From 368313fe758feac3f98658efe8eaed86fee717c0 Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Thu, 7 Oct 2021 13:55:56 +0200 Subject: [PATCH] Just a workaround for testing with windows to solve issues with PosixFilePermission --- .../v1/server/utils/FileSystemBackedArchiver.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 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 c1683bb79..d00029df0 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,6 +6,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import java.io.*; +import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.attribute.FileAttribute; import java.nio.file.attribute.PosixFilePermission; @@ -24,10 +25,20 @@ 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() { - FileAttribute> attr = PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rwx------")); - tempFile = Files.createTempFile("archive", ".zip", attr).toFile(); + // TODO this is just a workaround for testing + if (isPosix) { + 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); + } zipOutputStream = new ZipOutputStream(new FileOutputStream(tempFile)); }