From 5d528358e2321011146bd59c2cece320ced34fc3 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 17 Dec 2018 21:32:36 +0000
Subject: [PATCH] open file browser.
---
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
index 5a781d6..eb9812d 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
@@ -23,6 +23,7 @@
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.List;
@@ -113,6 +114,7 @@
java.nio.file.Path tempDir = null;
try {
tempDir = BorgCommands.extractFiles(repoConfig, archive.getName(), item.getPath());
+ openFileBrowser(tempDir);
List<java.nio.file.Path> files = DirUtils.listFiles(tempDir);
if (CollectionUtils.isEmpty(files)) {
log.error("No file extracted.");
@@ -140,13 +142,19 @@
Response.ResponseBuilder builder = Response.status(404);
return builder.build();
} finally {
- if (tempDir != null) {
+/* if (tempDir != null) {
try {
FileUtils.deleteDirectory(tempDir.toFile());
} catch (IOException ex) {
log.error("Error while trying to delete temporary directory '" + tempDir.toString() + "': " + ex.getMessage(), ex);
}
- }
+ }*/
+ }
+ }
+
+ public static void openFileBrowser(java.nio.file.Path path) {
+ if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE_FILE_DIR)) {
+ Desktop.getDesktop().browseFileDirectory(path.toFile());
}
}
}
--
Gitblit v1.10.0