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