diff --git a/pom.xml b/pom.xml
index 474389d..64d4604 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
org.warp.filesponge
FileSponge
- 0.1.0
+ 0.2.0
FileSponge
diff --git a/src/main/java/org/warp/filesponge/DiskCache.java b/src/main/java/org/warp/filesponge/DiskCache.java
index 7ce1577..29f3b8c 100644
--- a/src/main/java/org/warp/filesponge/DiskCache.java
+++ b/src/main/java/org/warp/filesponge/DiskCache.java
@@ -31,7 +31,7 @@ import java.util.function.Predicate;
import java.util.stream.Stream;
import reactor.util.function.Tuple2;
-public interface DiskCache extends URLsDiskHandler, URLsWriter, IBackuppable, SafeCloseable {
+public interface DiskCache extends URLsDiskHandler, URLsWriter, SafeCloseable {
void writeMetadataSync(URL url, Metadata metadata);
@@ -58,10 +58,9 @@ public interface DiskCache extends URLsDiskHandler, URLsWriter, IBackuppable, Sa
return new DiskCacheImpl(db, dict1, dict2, shouldCache);
}
- static DiskCache openCustom(LLKeyValueDatabase db,
- LLDictionary fileContent,
+ static DiskCache openCustom(LLDictionary fileContent,
LLDictionary fileMetadata,
Predicate shouldCache) {
- return new DiskCacheImpl(db, fileContent, fileMetadata, shouldCache);
+ return new DiskCacheImpl(null, fileContent, fileMetadata, shouldCache);
}
}
diff --git a/src/main/java/org/warp/filesponge/DiskCacheImpl.java b/src/main/java/org/warp/filesponge/DiskCacheImpl.java
index 858d6b2..f5123a5 100644
--- a/src/main/java/org/warp/filesponge/DiskCacheImpl.java
+++ b/src/main/java/org/warp/filesponge/DiskCacheImpl.java
@@ -24,19 +24,13 @@ import static org.warp.filesponge.FileSponge.BLOCK_SIZE;
import it.cavallium.buffer.Buf;
import it.cavallium.buffer.BufDataInput;
import it.cavallium.buffer.BufDataOutput;
-import it.cavallium.dbengine.client.IBackuppable;
-import it.cavallium.dbengine.database.ColumnUtils;
-import it.cavallium.dbengine.database.LLDatabaseConnection;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.LLDictionaryResultType;
import it.cavallium.dbengine.database.LLKeyValueDatabase;
-import it.cavallium.dbengine.database.UpdateMode;
import it.cavallium.dbengine.database.UpdateReturnMode;
import it.cavallium.dbengine.database.serialization.SerializationException;
-import it.cavallium.dbengine.rpc.current.data.DatabaseOptions;
import it.cavallium.dbengine.utils.StreamUtils;
import it.unimi.dsi.fastutil.booleans.BooleanArrayList;
-import java.util.List;
import java.util.Objects;
import java.util.function.Predicate;
import java.util.stream.Stream;
@@ -51,17 +45,17 @@ import reactor.util.function.Tuples;
class DiskCacheImpl implements DiskCache {
private final DiskMetadataSerializer diskMetadataSerializer;
-
- private final LLKeyValueDatabase db;
+ @Nullable
+ private final LLKeyValueDatabase ownedDb;
private final LLDictionary fileContent;
private final LLDictionary fileMetadata;
private final Predicate shouldCache;
- public DiskCacheImpl(LLKeyValueDatabase db,
+ DiskCacheImpl(@Nullable LLKeyValueDatabase ownedDb,
LLDictionary fileContent,
LLDictionary fileMetadata,
Predicate shouldCache) {
- this.db = db;
+ this.ownedDb = ownedDb;
this.fileContent = fileContent;
this.fileMetadata = fileMetadata;
this.diskMetadataSerializer = new DiskMetadataSerializer();
@@ -305,21 +299,8 @@ class DiskCacheImpl implements DiskCache {
@Override
public void close() {
- db.close();
- }
-
- @Override
- public void pauseForBackup() {
- db.pauseForBackup();
- }
-
- @Override
- public void resumeAfterBackup() {
- db.resumeAfterBackup();
- }
-
- @Override
- public boolean isPaused() {
- return db.isPaused();
+ if (ownedDb != null) {
+ ownedDb.close();
+ }
}
}