X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebInterface.java;h=0863fee9cb159ce0acc7786a817e32180abc052b;hb=b3071020f22e1af7226809351a5dbea2a44ebc16;hp=4534c35b2b73d19f66bf6c7c5e5a5c9616a0086e;hpb=fdcd6fa4e0110028080d0b4a9ef3c5f8e5a5e867;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 4534c35..0863fee 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -36,7 +36,10 @@ import java.util.logging.Level; import java.util.logging.Logger; import net.pterodactylus.sone.core.Core; -import net.pterodactylus.sone.core.CoreListener; +import net.pterodactylus.sone.core.event.ImageInsertAbortedEvent; +import net.pterodactylus.sone.core.event.ImageInsertFailedEvent; +import net.pterodactylus.sone.core.event.ImageInsertFinishedEvent; +import net.pterodactylus.sone.core.event.ImageInsertStartedEvent; import net.pterodactylus.sone.core.event.MarkPostKnownEvent; import net.pterodactylus.sone.core.event.MarkPostReplyKnownEvent; import net.pterodactylus.sone.core.event.MarkSoneKnownEvent; @@ -45,7 +48,13 @@ 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.PostReplyRemovedEvent; +import net.pterodactylus.sone.core.event.SoneInsertAbortedEvent; +import net.pterodactylus.sone.core.event.SoneInsertedEvent; +import net.pterodactylus.sone.core.event.SoneInsertingEvent; +import net.pterodactylus.sone.core.event.SoneLockedEvent; import net.pterodactylus.sone.core.event.SoneRemovedEvent; +import net.pterodactylus.sone.core.event.SoneUnlockedEvent; +import net.pterodactylus.sone.core.event.UpdateFoundEvent; import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Post; @@ -134,7 +143,6 @@ import net.pterodactylus.util.template.TemplateParser; import net.pterodactylus.util.template.TemplateProvider; import net.pterodactylus.util.template.XmlFilter; import net.pterodactylus.util.thread.Ticker; -import net.pterodactylus.util.version.Version; import net.pterodactylus.util.web.RedirectPage; import net.pterodactylus.util.web.StaticPage; import net.pterodactylus.util.web.TemplatePage; @@ -157,7 +165,7 @@ import freenet.support.api.HTTPRequest; * * @author David ‘Bombe’ Roden */ -public class WebInterface implements CoreListener { +public class WebInterface { /** The logger. */ private static final Logger logger = Logging.getLogger(WebInterface.class); @@ -936,15 +944,15 @@ public class WebInterface implements CoreListener { } } - // - // CORELISTENER METHODS - // - /** - * {@inheritDoc} + * Notifies the web interface that a Sone was locked. + * + * @param soneLockedEvent + * The event */ - @Override - public void soneLocked(final Sone sone) { + @Subscribe + public void soneLocked(SoneLockedEvent soneLockedEvent) { + final Sone sone = soneLockedEvent.sone(); Object tickerObject = Ticker.getInstance().registerEvent(System.currentTimeMillis() + (5 * 60) * 1000, new Runnable() { @Override @@ -959,97 +967,124 @@ public class WebInterface implements CoreListener { } /** - * {@inheritDoc} + * Notifies the web interface that a Sone was unlocked. + * + * @param soneUnlockedEvent + * The event */ - @Override - public void soneUnlocked(Sone sone) { - lockedSonesNotification.remove(sone); - Ticker.getInstance().deregisterEvent(lockedSonesTickerObjects.remove(sone)); + @Subscribe + public void soneUnlocked(SoneUnlockedEvent soneUnlockedEvent) { + lockedSonesNotification.remove(soneUnlockedEvent.sone()); + Ticker.getInstance().deregisterEvent(lockedSonesTickerObjects.remove(soneUnlockedEvent.sone())); } /** - * {@inheritDoc} + * Notifies the web interface that a {@link Sone} is being inserted. + * + * @param soneInsertingEvent + * The event */ - @Override - public void soneInserting(Sone sone) { - TemplateNotification soneInsertNotification = getSoneInsertNotification(sone); + @Subscribe + public void soneInserting(SoneInsertingEvent soneInsertingEvent) { + TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertingEvent.sone()); soneInsertNotification.set("soneStatus", "inserting"); - if (sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { + if (soneInsertingEvent.sone().getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { notificationManager.addNotification(soneInsertNotification); } } /** - * {@inheritDoc} + * Notifies the web interface that a {@link Sone} was inserted. + * + * @param soneInsertedEvent + * The event */ - @Override - public void soneInserted(Sone sone, long insertDuration) { - TemplateNotification soneInsertNotification = getSoneInsertNotification(sone); + @Subscribe + public void soneInserted(SoneInsertedEvent soneInsertedEvent) { + TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertedEvent.sone()); soneInsertNotification.set("soneStatus", "inserted"); - soneInsertNotification.set("insertDuration", insertDuration / 1000); - if (sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { + soneInsertNotification.set("insertDuration", soneInsertedEvent.insertDuration() / 1000); + if (soneInsertedEvent.sone().getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { notificationManager.addNotification(soneInsertNotification); } } /** - * {@inheritDoc} + * Notifies the web interface that a {@link Sone} insert was aborted. + * + * @param soneInsertAbortedEvent + * The event */ - @Override - public void soneInsertAborted(Sone sone, Throwable cause) { - TemplateNotification soneInsertNotification = getSoneInsertNotification(sone); + @Subscribe + public void soneInsertAborted(SoneInsertAbortedEvent soneInsertAbortedEvent) { + TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertAbortedEvent.sone()); soneInsertNotification.set("soneStatus", "insert-aborted"); - soneInsertNotification.set("insert-error", cause); - if (sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { + soneInsertNotification.set("insert-error", soneInsertAbortedEvent.cause()); + if (soneInsertAbortedEvent.sone().getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { notificationManager.addNotification(soneInsertNotification); } } /** - * {@inheritDoc} + * Notifies the web interface that a new Sone version was found. + * + * @param updateFoundEvent + * The event */ - @Override - public void updateFound(Version version, long releaseTime, long latestEdition) { - newVersionNotification.getTemplateContext().set("latestVersion", version); - newVersionNotification.getTemplateContext().set("latestEdition", latestEdition); - newVersionNotification.getTemplateContext().set("releaseTime", releaseTime); + @Subscribe + public void updateFound(UpdateFoundEvent updateFoundEvent) { + newVersionNotification.getTemplateContext().set("latestVersion", updateFoundEvent.version()); + newVersionNotification.getTemplateContext().set("latestEdition", updateFoundEvent.latestEdition()); + newVersionNotification.getTemplateContext().set("releaseTime", updateFoundEvent.releaseTime()); notificationManager.addNotification(newVersionNotification); } /** - * {@inheritDoc} + * Notifies the web interface that an image insert was started + * + * @param imageInsertStartedEvent + * The event */ - @Override - public void imageInsertStarted(Image image) { - insertingImagesNotification.add(image); + @Subscribe + public void imageInsertStarted(ImageInsertStartedEvent imageInsertStartedEvent) { + insertingImagesNotification.add(imageInsertStartedEvent.image()); notificationManager.addNotification(insertingImagesNotification); } /** - * {@inheritDoc} + * Notifies the web interface that an {@link Image} insert was aborted. + * + * @param imageInsertAbortedEvent + * The event */ - @Override - public void imageInsertAborted(Image image) { - insertingImagesNotification.remove(image); + @Subscribe + public void imageInsertAborted(ImageInsertAbortedEvent imageInsertAbortedEvent) { + insertingImagesNotification.remove(imageInsertAbortedEvent.image()); } /** - * {@inheritDoc} + * Notifies the web interface that an {@link Image} insert is finished. + * + * @param imageInsertFinishedEvent + * The event */ - @Override - public void imageInsertFinished(Image image) { - insertingImagesNotification.remove(image); - insertedImagesNotification.add(image); + @Subscribe + public void imageInsertFinished(ImageInsertFinishedEvent imageInsertFinishedEvent) { + insertingImagesNotification.remove(imageInsertFinishedEvent.image()); + insertedImagesNotification.add(imageInsertFinishedEvent.image()); notificationManager.addNotification(insertedImagesNotification); } /** - * {@inheritDoc} + * Notifies the web interface that an {@link Image} insert has failed. + * + * @param imageInsertFailedEvent + * The event */ - @Override - public void imageInsertFailed(Image image, Throwable cause) { - insertingImagesNotification.remove(image); - imageInsertFailedNotification.add(image); + @Subscribe + public void imageInsertFailed(ImageInsertFailedEvent imageInsertFailedEvent) { + insertingImagesNotification.remove(imageInsertFailedEvent.image()); + imageInsertFailedNotification.add(imageInsertFailedEvent.image()); notificationManager.addNotification(imageInsertFailedNotification); }