From 056160edd629372ff93619be7e130a26e2377f9b Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 16 Dec 2018 15:25:17 +0000
Subject: [PATCH] file lists...

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
index 483f9a8..9d066c0 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
@@ -58,15 +58,15 @@
      * @param archive
      * @return
      */
-    public List<BorgFilesystemItem> load(BorgRepoConfig repoConfig, Archive archive) {
+    public List<BorgFilesystemItem> load(BorgRepoConfig repoConfig, Archive archive, int maxSize) {
         File file = getFile(repoConfig, archive);
         if (!file.exists()) {
             return null;
         }
-        return load(file);
+        return load(file, maxSize);
     }
 
-    public List<BorgFilesystemItem> load(File file) {
+    public List<BorgFilesystemItem> load(File file, int maxSize) {
         if (file.exists() == false) {
             log.error("File '" + file.getAbsolutePath() + "' doesn't exist. Can't get archive content files.");
             return null;
@@ -86,6 +86,9 @@
                 return null;
             }
             int size = (Integer) obj;
+            if (maxSize > 0 && maxSize < size) {
+                size = maxSize;
+            }
             list = new ArrayList<>();
             for (int i = 0; i < size; i++) {
                 obj = inputStream.readObject();

--
Gitblit v1.10.0