import static java.lang.String.format;
import static java.lang.System.currentTimeMillis;
+import static java.util.logging.Logger.getLogger;
import static net.pterodactylus.sone.data.Album.NOT_EMPTY;
import java.io.InputStream;
import net.pterodactylus.sone.core.event.SoneInsertedEvent;
import net.pterodactylus.sone.core.event.SoneInsertingEvent;
import net.pterodactylus.sone.data.Album;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.Reply;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.freenet.StringBucket;
import net.pterodactylus.sone.main.SonePlugin;
import net.pterodactylus.util.io.Closer;
-import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.service.AbstractService;
import net.pterodactylus.util.template.HtmlFilter;
import net.pterodactylus.util.template.ReflectionAccessor;
public class SoneInserter extends AbstractService {
/** The logger. */
- private static final Logger logger = Logging.getLogger(SoneInserter.class);
+ private static final Logger logger = getLogger("Sone.Inserter");
/** The insertion delay (in seconds). */
private static final AtomicInteger insertionDelay = new AtomicInteger(60);
this(core, eventBus, freenetInterface, soneId, new SoneModificationDetector(new LockableFingerprintProvider() {
@Override
public boolean isLocked() {
- final Optional<Sone> sone = core.getSone(soneId);
+ final Optional<LocalSone> sone = core.getLocalSone(soneId);
if (!sone.isPresent()) {
return false;
}
sleep(delay);
if (soneModificationDetector.isEligibleForInsert()) {
- Optional<Sone> soneOptional = core.getSone(soneId);
+ Optional<LocalSone> soneOptional = core.getLocalSone(soneId);
if (!soneOptional.isPresent()) {
logger.log(Level.WARNING, format("Sone %s has disappeared, exiting inserter.", soneId));
return;
}
- Sone sone = soneOptional.get();
+ LocalSone sone = soneOptional.get();
InsertInformation insertInformation = new InsertInformation(sone);
logger.log(Level.INFO, String.format("Inserting Sone “%s”…", sone.getName()));
long insertTime = currentTimeMillis();
eventBus.post(new SoneInsertingEvent(sone));
FreenetURI finalUri = freenetInterface.insertDirectory(sone.getInsertUri(), insertInformation.generateManifestEntries(), "index.html");
- eventBus.post(new SoneInsertedEvent(sone, currentTimeMillis() - insertTime));
+ eventBus.post(new SoneInsertedEvent(sone, currentTimeMillis() - insertTime, insertInformation.getFingerprint()));
/* at this point we might already be stopped. */
if (shouldStop()) {
/* if so, bail out, don’t change anything. */