X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=6f819c331f8f84a855f6539f6b832ae2a71f00d0;hb=87630ec07d4de0e516133d29a3135f81716e5383;hp=a2a400b8ef97f0670abcfafcb13c328f6e59ef03;hpb=8e313509a42a8c638fcac018dd73dd975bf9cb68;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index a2a400b..6f819c3 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -51,6 +51,7 @@ import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidPostReplyFound import net.pterodactylus.sone.core.SoneChangeDetector.PostProcessor; import net.pterodactylus.sone.core.SoneChangeDetector.PostReplyProcessor; import net.pterodactylus.sone.core.event.ImageInsertFinishedEvent; +import net.pterodactylus.sone.core.event.InsertionDelayChangedEvent; import net.pterodactylus.sone.core.event.MarkPostKnownEvent; import net.pterodactylus.sone.core.event.MarkPostReplyKnownEvent; import net.pterodactylus.sone.core.event.MarkSoneKnownEvent; @@ -207,22 +208,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, * The database */ @Inject - public Core(Configuration configuration, FreenetInterface freenetInterface, IdentityManager identityManager, UpdateChecker updateChecker, WebOfTrustUpdater webOfTrustUpdater, EventBus eventBus, Database database) { - super("Sone Core"); - this.configuration = configuration; - this.freenetInterface = freenetInterface; - this.identityManager = identityManager; - this.soneDownloader = new SoneDownloaderImpl(this, freenetInterface); - this.imageInserter = new ImageInserter(freenetInterface, freenetInterface.new InsertTokenSupplier()); - this.updateChecker = updateChecker; - this.webOfTrustUpdater = webOfTrustUpdater; - this.eventBus = eventBus; - this.database = database; - preferences = new Preferences(eventBus); - } - - @VisibleForTesting - protected Core(Configuration configuration, FreenetInterface freenetInterface, IdentityManager identityManager, SoneDownloader soneDownloader, ImageInserter imageInserter, UpdateChecker updateChecker, WebOfTrustUpdater webOfTrustUpdater, EventBus eventBus, Database database) { + public Core(Configuration configuration, FreenetInterface freenetInterface, IdentityManager identityManager, SoneDownloader soneDownloader, ImageInserter imageInserter, UpdateChecker updateChecker, WebOfTrustUpdater webOfTrustUpdater, EventBus eventBus, Database database) { super("Sone Core"); this.configuration = configuration; this.freenetInterface = freenetInterface; @@ -422,11 +408,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, return database.newPostBuilder(); } - /** - * {@inheritDoc} - */ + @Nullable @Override - public Optional getPost(String postId) { + public Post getPost(@Nonnull String postId) { return database.getPost(postId); } @@ -459,8 +443,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, /** * {@inheritDoc} */ + @Nullable @Override - public Optional getPostReply(String replyId) { + public PostReply getPostReply(String replyId) { return database.getPostReply(replyId); } @@ -542,7 +527,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, */ @Nullable public Album getAlbum(@Nonnull String albumId) { - return database.getAlbum(albumId).orNull(); + return database.getAlbum(albumId); } public ImageBuilder imageBuilder() { @@ -575,9 +560,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, */ @Nullable public Image getImage(String imageId, boolean create) { - Optional image = database.getImage(imageId); - if (image.isPresent()) { - return image.get(); + Image image = database.getImage(imageId); + if (image != null) { + return image; } if (!create) { return null; @@ -655,6 +640,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, sone.setClient(new Client("Sone", SonePlugin.getPluginVersion())); sone.setKnown(true); SoneInserter soneInserter = new SoneInserter(this, eventBus, freenetInterface, ownIdentity.getId()); + soneInserter.insertionDelayChanged(new InsertionDelayChangedEvent(preferences.getInsertionDelay())); eventBus.register(soneInserter); synchronized (soneInserters) { soneInserters.put(sone, soneInserter); @@ -1711,7 +1697,13 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, if (sone.isLocal()) { return; } - sone.setLatestEdition(fromNullable(tryParse(identity.getProperty("Sone.LatestEdition"))).or(sone.getLatestEdition())); + String newLatestEdition = identity.getProperty("Sone.LatestEdition"); + if (newLatestEdition != null) { + Long parsedNewLatestEdition = tryParse(newLatestEdition); + if (parsedNewLatestEdition != null) { + sone.setLatestEdition(parsedNewLatestEdition); + } + } soneDownloader.addSone(sone); soneDownloaders.execute(soneDownloader.fetchSoneAction(sone)); }