/*
- * Sone - Core.java - Copyright © 2010–2019 David Roden
+ * Sone - Core.java - Copyright © 2010–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
import static java.lang.String.format;
import static java.util.logging.Level.WARNING;
import static java.util.logging.Logger.getLogger;
+import static net.pterodactylus.sone.data.AlbumsKt.getAllImages;
import java.util.ArrayList;
import java.util.Collection;
private final MetricRegistry metricRegistry;
private final Histogram configurationSaveTimeHistogram;
- /**
- * Creates a new core.
- *
- * @param configuration
- * The configuration of the core
- * @param freenetInterface
- * The freenet interface
- * @param identityManager
- * The identity manager
- * @param webOfTrustUpdater
- * The WebOfTrust updater
- * @param eventBus
- * The event bus
- * @param database
- * The database
- */
@Inject
public Core(Configuration configuration, FreenetInterface freenetInterface, IdentityManager identityManager, SoneDownloader soneDownloader, ImageInserter imageInserter, UpdateChecker updateChecker, WebOfTrustUpdater webOfTrustUpdater, EventBus eventBus, Database database, MetricRegistry metricRegistry) {
super("Sone Core");
loadSone(sone);
database.storeSone(sone);
sone.setStatus(SoneStatus.idle);
- if (sone.getPosts().isEmpty() && sone.getReplies().isEmpty()) {
+ if (sone.getPosts().isEmpty() && sone.getReplies().isEmpty() && getAllImages(sone.getRootAlbum()).isEmpty()) {
// dirty hack
lockSone(sone);
+ eventBus.post(new SoneLockedOnStartup(sone));
}
soneInserter.start();
return sone;