From 3a8b25a696e7e7e26ec655275d0af50ace95f2db Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 30 Dec 2018 05:47:47 +0000
Subject: [PATCH] List archive content: Creating file list on the fly (for saving memory).

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java |   38 +++++++++++++++++++++++---------------
 1 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
index ea7aa11..9ffc59a 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractCommandLineJob.java
@@ -67,24 +67,12 @@
         PumpStreamHandler streamHandler = new PumpStreamHandler(new LogOutputStream() {
             @Override
             protected void processLine(String line, int level) {
-                //log.info(line);
-                try {
-                    outputStream.write(line.getBytes());
-                    outputStream.write("\n".getBytes());
-                } catch (IOException ex) {
-                    log.error(ex.getMessage(), ex);
-                }
+                processStdOutLine(line, level);
             }
         }, new LogOutputStream() {
             @Override
-            protected void processLine(String line, int logLevel) {
-                //log.error(line);
-                try {
-                    errorOutputStream.write(line.getBytes());
-                    errorOutputStream.write("\n".getBytes());
-                } catch (IOException ex) {
-                    log.error(ex.getMessage(), ex);
-                }
+            protected void processLine(String line, int level) {
+                processStdErrLine(line, level);
             }
         });
         executor.setStreamHandler(streamHandler);
@@ -108,6 +96,26 @@
         return result;
     }
 
+    protected void processStdOutLine(String line, int level) {
+        //log.info(line);
+        try {
+            outputStream.write(line.getBytes());
+            outputStream.write("\n".getBytes());
+        } catch (IOException ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
+
+    protected void processStdErrLine(String line, int level) {
+        //log.info(line);
+        try {
+            errorOutputStream.write(line.getBytes());
+            errorOutputStream.write("\n".getBytes());
+        } catch (IOException ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
+
     @Override
     protected void cancelRunningProcess() {
         if (watchdog != null) {

--
Gitblit v1.10.0