From f3c7033028be33ed8b4bca8d67a2979a3cd7d18d Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Wed, 16 Jan 2013 17:25:15 +0100 Subject: [PATCH] =?utf8?q?Convert=20=E2=80=9Cpost=20reply=20marked=20as=20?= =?utf8?q?known=E2=80=9D=20into=20EventBus-based=20event.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/net/pterodactylus/sone/core/Core.java | 3 +- .../net/pterodactylus/sone/core/CoreListener.java | 8 ----- .../sone/core/CoreListenerManager.java | 12 ------- .../sone/core/event/MarkPostReplyKnownEvent.java | 40 ++++++++++++++++++++++ .../net/pterodactylus/sone/web/WebInterface.java | 19 +++++----- 5 files changed, 52 insertions(+), 30 deletions(-) create mode 100644 src/main/java/net/pterodactylus/sone/core/event/MarkPostReplyKnownEvent.java diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 0d7acf5..cf395a5 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -36,6 +36,7 @@ import net.pterodactylus.sone.core.Options.DefaultOption; import net.pterodactylus.sone.core.Options.Option; import net.pterodactylus.sone.core.Options.OptionWatcher; import net.pterodactylus.sone.core.event.MarkPostKnownEvent; +import net.pterodactylus.sone.core.event.MarkPostReplyKnownEvent; import net.pterodactylus.sone.core.event.MarkSoneKnownEvent; import net.pterodactylus.sone.core.event.NewPostFoundEvent; import net.pterodactylus.sone.core.event.NewPostReplyFoundEvent; @@ -1736,7 +1737,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis public void markReplyKnown(PostReply reply) { reply.setKnown(true); synchronized (knownReplies) { - coreListenerManager.fireMarkReplyKnown(reply); + eventBus.post(new MarkPostReplyKnownEvent(reply)); if (knownReplies.add(reply.getId())) { touchConfiguration(); } diff --git a/src/main/java/net/pterodactylus/sone/core/CoreListener.java b/src/main/java/net/pterodactylus/sone/core/CoreListener.java index 987a2c7..f2ec67a 100644 --- a/src/main/java/net/pterodactylus/sone/core/CoreListener.java +++ b/src/main/java/net/pterodactylus/sone/core/CoreListener.java @@ -34,14 +34,6 @@ import net.pterodactylus.util.version.Version; public interface CoreListener extends EventListener { /** - * Notifies a listener that the given reply is now marked as known. - * - * @param reply - * The known reply - */ - public void markReplyKnown(PostReply reply); - - /** * Notifies a listener that the given Sone was removed. * * @param sone diff --git a/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java b/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java index ed3a6f0..a88bef5 100644 --- a/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java +++ b/src/main/java/net/pterodactylus/sone/core/CoreListenerManager.java @@ -46,18 +46,6 @@ public class CoreListenerManager extends AbstractListenerManager. + */ + +package net.pterodactylus.sone.core.event; + +import net.pterodactylus.sone.data.PostReply; + +/** + * Event that signals that a {@line PostReply} has been marked as + * {@link PostReply#isKnown() known}. + * + * @author David ‘Bombe’ Roden + */ +public class MarkPostReplyKnownEvent extends PostReplyEvent { + + /** + * Creates a new “post reply marked known” event. + * + * @param postReply + * The post reply that was marked as known + */ + public MarkPostReplyKnownEvent(PostReply postReply) { + super(postReply); + } + +} diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 74f9087..68ba585 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -38,6 +38,7 @@ import java.util.logging.Logger; import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.core.CoreListener; import net.pterodactylus.sone.core.event.MarkPostKnownEvent; +import net.pterodactylus.sone.core.event.MarkPostReplyKnownEvent; import net.pterodactylus.sone.core.event.MarkSoneKnownEvent; import net.pterodactylus.sone.core.event.NewPostFoundEvent; import net.pterodactylus.sone.core.event.NewPostReplyFoundEvent; @@ -858,20 +859,20 @@ public class WebInterface implements CoreListener { mentionNotification.remove(markPostKnownEvent.post()); } - // - // CORELISTENER METHODS - // - /** * {@inheritDoc} */ - @Override - public void markReplyKnown(PostReply reply) { - newReplyNotification.remove(reply); - localReplyNotification.remove(reply); - mentionNotification.remove(reply.getPost()); + @Subscribe + public void markReplyKnown(MarkPostReplyKnownEvent markPostReplyKnownEvent) { + newReplyNotification.remove(markPostReplyKnownEvent.postReply()); + localReplyNotification.remove(markPostReplyKnownEvent.postReply()); + mentionNotification.remove(markPostReplyKnownEvent.postReply().getPost()); } + // + // CORELISTENER METHODS + // + /** * {@inheritDoc} */ -- 2.7.4