X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FImageInserter.java;h=76519f4d579c33f7ae23adf0899800283d05f192;hb=90993f1fc13288b83996066e726653b4dd011479;hp=791663f2c6936a6ab60989bf49655513919d37f1;hpb=99888ce13cc17d49f5e217ab6f2c9ad5ef168792;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/core/ImageInserter.java b/src/main/java/net/pterodactylus/sone/core/ImageInserter.java
index 791663f..76519f4 100644
--- a/src/main/java/net/pterodactylus/sone/core/ImageInserter.java
+++ b/src/main/java/net/pterodactylus/sone/core/ImageInserter.java
@@ -1,5 +1,5 @@
/*
- * Sone - ImageInserter.java - Copyright © 2011â2013 David Roden
+ * Sone - ImageInserter.java - Copyright © 2011â2020 David Roden
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@ package net.pterodactylus.sone.core;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.logging.Logger.getLogger;
import java.util.Collections;
import java.util.HashMap;
@@ -26,26 +27,29 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.inject.Inject;
+
import net.pterodactylus.sone.core.FreenetInterface.InsertToken;
+import net.pterodactylus.sone.core.FreenetInterface.InsertTokenSupplier;
import net.pterodactylus.sone.data.Image;
import net.pterodactylus.sone.data.TemporaryImage;
-import net.pterodactylus.util.logging.Logging;
+
+import com.google.common.base.Function;
/**
* The image inserter is responsible for inserting images using
* {@link FreenetInterface#insertImage(TemporaryImage, Image, InsertToken)} and
* also tracks running inserts, giving the possibility to abort a running
* insert.
- *
- * @author David âBombeâ Roden
*/
public class ImageInserter {
/** The logger. */
- private static final Logger logger = Logging.getLogger(ImageInserter.class);
+ private static final Logger logger = getLogger(ImageInserter.class.getName());
/** The freenet interface. */
private final FreenetInterface freenetInterface;
+ private final Function insertTokenSupplier;
/** The tokens of running inserts. */
private final Map insertTokens = Collections.synchronizedMap(new HashMap());
@@ -55,9 +59,13 @@ public class ImageInserter {
*
* @param freenetInterface
* The freenet interface
+ * @param insertTokenSupplier
+ * The supplier for insert tokens
*/
- public ImageInserter(FreenetInterface freenetInterface) {
+ @Inject
+ public ImageInserter(FreenetInterface freenetInterface, InsertTokenSupplier insertTokenSupplier) {
this.freenetInterface = freenetInterface;
+ this.insertTokenSupplier = insertTokenSupplier;
}
/**
@@ -73,7 +81,7 @@ public class ImageInserter {
checkNotNull(image, "image must not be null");
checkArgument(image.getId().equals(temporaryImage.getId()), "image IDs must match");
try {
- InsertToken insertToken = freenetInterface.new InsertToken(image);
+ InsertToken insertToken = insertTokenSupplier.apply(image);
insertTokens.put(image.getId(), insertToken);
freenetInterface.insertImage(temporaryImage, image, insertToken);
} catch (SoneException se1) {