From: David ‘Bombe’ Roden Date: Wed, 16 Jan 2013 17:58:27 +0000 (+0100) Subject: Convert “post removed” into EventBus-based event. X-Git-Tag: 0.8.5^2~3^2~107 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=756202d801245428d09fa0f5174fde0a8b001bd0;p=Sone.git Convert “post removed” into EventBus-based event. --- diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index c62a06f..81e5e09 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -41,6 +41,7 @@ import net.pterodactylus.sone.core.event.MarkSoneKnownEvent; import net.pterodactylus.sone.core.event.NewPostFoundEvent; import net.pterodactylus.sone.core.event.NewPostReplyFoundEvent; import net.pterodactylus.sone.core.event.NewSoneFoundEvent; +import net.pterodactylus.sone.core.event.PostRemovedEvent; import net.pterodactylus.sone.core.event.SoneRemovedEvent; import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Client; @@ -1107,7 +1108,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis for (Post post : storedSone.getPosts()) { posts.remove(post.getId()); if (!sone.getPosts().contains(post)) { - coreListenerManager.firePostRemoved(post); + eventBus.post(new PostRemovedEvent(post)); } } } @@ -1580,7 +1581,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis synchronized (posts) { posts.remove(post.getId()); } - coreListenerManager.firePostRemoved(post); + eventBus.post(new PostRemovedEvent(post)); markPostKnown(post); touchConfiguration(); } @@ -2419,7 +2420,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis synchronized (knownPosts) { for (Post post : sone.getPosts()) { posts.remove(post.getId()); - coreListenerManager.firePostRemoved(post); + eventBus.post(new PostRemovedEvent(post)); } } } diff --git a/src/main/java/net/pterodactylus/sone/core/CoreListener.java b/src/main/java/net/pterodactylus/sone/core/CoreListener.java index 970d9e9..937ffb6 100644 --- a/src/main/java/net/pterodactylus/sone/core/CoreListener.java +++ b/src/main/java/net/pterodactylus/sone/core/CoreListener.java @@ -20,7 +20,6 @@ package net.pterodactylus.sone.core; import java.util.EventListener; import net.pterodactylus.sone.data.Image; -import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.util.version.Version; @@ -34,14 +33,6 @@ import net.pterodactylus.util.version.Version; public interface CoreListener extends EventListener { /** - * Notifies a listener that the given post was removed. - * - * @param post - * The removed post - */ - public void postRemoved(Post post); - - /** * Notifies a listener that the given reply was removed. * * @param reply diff --git a/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java b/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java index 25f24c3..a0c6d22 100644 --- a/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java +++ b/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java @@ -18,7 +18,6 @@ package net.pterodactylus.sone.core; import net.pterodactylus.sone.data.Image; -import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.util.event.AbstractListenerManager; @@ -46,19 +45,6 @@ public class CoreListenerManager extends AbstractListenerManager. + */ + +package net.pterodactylus.sone.core.event; + +import net.pterodactylus.sone.data.Post; + +/** + * Event that signals that a {@link Post} was removed. + * + * @author David ‘Bombe’ Roden + */ +public class PostRemovedEvent extends PostEvent { + + /** + * Creates a new “post removed” event. + * + * @param post + * The post that was removed + */ + public PostRemovedEvent(Post post) { + super(post); + } + +} diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 14bbcc4..53f7dd9 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -43,6 +43,7 @@ import net.pterodactylus.sone.core.event.MarkSoneKnownEvent; import net.pterodactylus.sone.core.event.NewPostFoundEvent; import net.pterodactylus.sone.core.event.NewPostReplyFoundEvent; import net.pterodactylus.sone.core.event.NewSoneFoundEvent; +import net.pterodactylus.sone.core.event.PostRemovedEvent; import net.pterodactylus.sone.core.event.SoneRemovedEvent; import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Image; @@ -899,20 +900,23 @@ public class WebInterface implements CoreListener { newSoneNotification.remove(soneRemovedEvent.sone()); } - // - // CORELISTENER METHODS - // - /** - * {@inheritDoc} + * Notifies the web interface that a {@link Post} was removed. + * + * @param postRemovedEvent + * The event */ - @Override - public void postRemoved(Post post) { - newPostNotification.remove(post); - localPostNotification.remove(post); - mentionNotification.remove(post); + @Subscribe + public void postRemoved(PostRemovedEvent postRemovedEvent) { + newPostNotification.remove(postRemovedEvent.post()); + localPostNotification.remove(postRemovedEvent.post()); + mentionNotification.remove(postRemovedEvent.post()); } + // + // CORELISTENER METHODS + // + /** * {@inheritDoc} */