X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=1c672311b1abe007e608fd62bd598323c9f4cbe6;hb=5e2a7a28c94a12c8a9a80340c14f4f1e63bbec24;hp=49140660e4ceea49531903f64dae79b27ea6218b;hpb=8a43c22e3bfc31de0ae43209275f0311e2f875d5;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 4914066..1c67231 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -65,7 +65,7 @@ import freenet.keys.FreenetURI; * * @author David ‘Bombe’ Roden */ -public class Core implements IdentityListener, UpdateListener { +public class Core implements IdentityListener, UpdateListener, SoneProvider, PostProvider { /** * Enumeration for the possible states of a {@link Sone}. @@ -352,6 +352,7 @@ public class Core implements IdentityListener, UpdateListener { * @return The Sone with the given ID, or {@code null} if there is no such * Sone */ + @Override public Sone getSone(String id, boolean create) { if (isLocalSone(id)) { return getLocalSone(id); @@ -574,6 +575,7 @@ public class Core implements IdentityListener, UpdateListener { * exists, {@code false} to return {@code null} * @return The post, or {@code null} if there is no such post */ + @Override public Post getPost(String postId, boolean create) { synchronized (posts) { Post post = posts.get(postId); @@ -1703,6 +1705,9 @@ public class Core implements IdentityListener, UpdateListener { for (SoneInserter soneInserter : soneInserters.values()) { soneInserter.stop(); } + for (Sone localSone : localSones.values()) { + saveSone(localSone); + } } updateChecker.stop(); updateChecker.removeUpdateListener(this); @@ -2034,6 +2039,7 @@ public class Core implements IdentityListener, UpdateListener { } synchronized (newSones) { newSones.remove(identity.getId()); + coreListenerManager.fireSoneRemoved(sone); } }