Pull request #244: Bugfix/workaround for windows

Merge in RED/redaction-service from bugfix/workaround-for-windows to master

* commit '535316c3a7740f61c682ae3d938f33671660c667':
  Bugfix with 'posix:permissions' for Windows systems
  Just a test without PosixFilePermission
This commit is contained in:
Philipp Schramm 2021-10-07 16:51:34 +02:00 committed by Dominique Eiflaender
commit 1034066e38

View File

@ -13,6 +13,7 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.SystemUtils;
import org.apache.pdfbox.io.MemoryUsageSetting; import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPage;
@ -64,8 +65,19 @@ public class PdfSegmentationService {
PDDocument pdDocument = null; PDDocument pdDocument = null;
try { try {
//create tempFile //create tempFile
File tempFile;
if(SystemUtils.IS_OS_UNIX) {
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rwx------")); FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rwx------"));
File tempFile = Files.createTempFile("document", ".pdf", attr).toFile(); tempFile = Files.createTempFile("document", ".pdf", attr).toFile();
}
else {
tempFile = Files.createTempFile("document", ".pdf").toFile();
tempFile.setReadable(true, true);
tempFile.setWritable(true, true);
tempFile.setExecutable(true, true);
}
try (var fos = new FileOutputStream(tempFile)) { try (var fos = new FileOutputStream(tempFile)) {
IOUtils.copy(documentInputStream, fos); IOUtils.copy(documentInputStream, fos);