diff options
author | Keuin <[email protected]> | 2021-01-25 02:07:54 +0800 |
---|---|---|
committer | keuin <[email protected]> | 2021-01-25 02:12:53 +0800 |
commit | 43d48aa979a1e316af5ba0445412fe8926ce983b (patch) | |
tree | ae1419a6c09d286e3604d52bd6f86e807bfbd98d /src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java | |
parent | 1df50093bd76315905a9aae880470e81b5e1d8f0 (diff) |
Perform clean-up after deleting a backup.
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java')
-rw-r--r-- | src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java | 76 |
1 files changed, 32 insertions, 44 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java b/src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java index fa411a0..3be1bfe 100644 --- a/src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java +++ b/src/main/java/com/keuin/kbackupfabric/backup/incremental/ObjectCollectionSerializer.java @@ -1,11 +1,17 @@ package com.keuin.kbackupfabric.backup.incremental; -import org.jetbrains.annotations.NotNull; +import com.keuin.kbackupfabric.backup.incremental.serializer.IncBackupInfoSerializer; +import com.keuin.kbackupfabric.backup.incremental.serializer.SavedIncrementalBackup; -import java.io.*; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Iterator; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.Objects; /** @@ -19,17 +25,18 @@ public class ObjectCollectionSerializer { */ @Deprecated public static ObjectCollection2 fromFile(File file) throws IOException { - Objects.requireNonNull(file); - ObjectCollection2 collection; - try (FileInputStream fileInputStream = new FileInputStream(file)) { - try (ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream)) { - collection = (ObjectCollection2) objectInputStream.readObject(); - } catch (ClassNotFoundException ignored) { - // this should not happen - return null; - } - } - return collection; + throw new RuntimeException("This method has been depreciated."); +// Objects.requireNonNull(file); +// ObjectCollection2 collection; +// try (FileInputStream fileInputStream = new FileInputStream(file)) { +// try (ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream)) { +// collection = (ObjectCollection2) objectInputStream.readObject(); +// } catch (ClassNotFoundException ignored) { +// // this should not happen +// return null; +// } +// } +// return collection; } /** @@ -46,38 +53,19 @@ public class ObjectCollectionSerializer { } public static Iterable<ObjectCollection2> fromDirectory(File directory) throws IOException { - if (!directory.isDirectory()) { throw new IllegalArgumentException("Given directory is invalid."); } - return new Iterable<ObjectCollection2>() { - private final Iterator<ObjectCollection2> iter = new Iterator<ObjectCollection2>() { - private final Iterator<Path> i = Files.walk(directory.toPath(), 1).filter(p -> { - File f = p.toFile(); - return f.isFile() && f.getName().endsWith(".kbi"); - }).iterator(); - - @Override - public boolean hasNext() { - return i.hasNext(); - } - - @Override - public ObjectCollection2 next() { - try { - return fromFile(i.next().toFile()); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - }; - - @NotNull - @Override - public Iterator<ObjectCollection2> iterator() { - return iter; - } - }; - + List<Path> pathList = new ArrayList<>(); + Files.walk(directory.toPath(), 1).filter(p -> { + File f = p.toFile(); + return f.isFile() && f.getName().endsWith(".kbi"); + }).forEach(pathList::add); + List<ObjectCollection2> objectList = new ArrayList<>(); + for (Path path : pathList) { + SavedIncrementalBackup info = IncBackupInfoSerializer.fromFile(path.toFile()); + objectList.add(info.getObjectCollection()); + } + return Collections.unmodifiableCollection(objectList); } } |