diff --git a/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java b/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java index 719a3ed968597f83517aadce83e2b397e5c49886..32f2b858b699fb432601668b1ec160def3d1ef84 100644 --- a/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java +++ b/src/main/java/de/thm/arsnova/cache/CacheBusterImpl.java @@ -19,6 +19,7 @@ package de.thm.arsnova.cache; import de.thm.arsnova.event.*; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; /** @@ -26,105 +27,29 @@ import org.springframework.stereotype.Component; * caches, e.g, for a specific session. */ @Component -public class CacheBusterImpl implements CacheBuster, ArsnovaEventVisitor { +public class CacheBusterImpl implements CacheBuster { @CacheEvict(value = "statistics", allEntries = true) - @Override - public void visit(NewCommentEvent event) { } + @EventListener + public void handleNewComment(NewCommentEvent event) { } @CacheEvict(value = "statistics", allEntries = true) - @Override - public void visit(DeleteCommentEvent event) { } - - @Override - public void visit(NewQuestionEvent event) { } - - @Override - public void visit(UnlockQuestionEvent event) { } - - @Override - public void visit(UnlockQuestionsEvent newQuestionsEvent) { } - - @Override - public void visit(LockQuestionEvent lockQuestionEvent) { } - - @Override - public void visit(LockQuestionsEvent lockQuestionsEvent) { } + @EventListener + public void handleDeleteComment(DeleteCommentEvent event) { } @CacheEvict(value = "answerlists", key = "#event.content.id") - @Override - public void visit(NewAnswerEvent event) { } - - @Override - public void visit(DeleteAnswerEvent event) { } - - @Override - public void visit(DeleteQuestionEvent event) { } - - @Override - public void visit(DeleteAllQuestionsEvent event) { } - - @Override - public void visit(DeleteAllQuestionsAnswersEvent event) { } - - @Override - public void visit(DeleteAllPreparationAnswersEvent event) { } - - @Override - public void visit(DeleteAllLectureAnswersEvent event) { } - - @Override - public void visit(NewFeedbackEvent event) { } - - @Override - public void visit(DeleteFeedbackForRoomsEvent event) { } - - @Override - public void visit(StatusRoomEvent event) { } + @EventListener + public void handleNewAnswer(NewAnswerEvent event) { } @CacheEvict(value = "statistics", allEntries = true) - @Override - public void visit(ChangeScoreEvent changeLearningProgress) { } - - @Override - public void visit(PiRoundDelayedStartEvent piRoundDelayedStartEvent) { } - - @Override - public void visit(PiRoundEndEvent piRoundEndEvent) { } - - @Override - public void visit(PiRoundCancelEvent piRoundCancelEvent) { } - - @Override - public void visit(PiRoundResetEvent piRoundResetEvent) { } + @EventListener + public void handleChangeScore(ChangeScoreEvent changeLearningProgress) { } @CacheEvict(value = "statistics", allEntries = true) - @Override - public void visit(NewRoomEvent newSessionEvent) { } + @EventListener + public void handleewRoom(NewRoomEvent newSessionEvent) { } @CacheEvict(value = "statistics", allEntries = true) - @Override - public void visit(DeleteRoomEvent deleteSessionEvent) { } - - @Override - public void visit(LockVoteEvent lockVoteEvent) { } - - @Override - public void visit(LockVotesEvent lockVotesEvent) { } - - @Override - public void visit(UnlockVoteEvent unlockVoteEvent) { } - - @Override - public void visit(UnlockVotesEvent unlockVotesEvent) { } - - @Override - public void visit(FeatureChangeEvent featureChangeEvent) { } - - @Override - public void visit(LockFeedbackEvent lockFeedbackEvent) { } - - @Override - public void visit(FlipFlashcardsEvent flipFlashcardsEvent) { } - + @EventListener + public void handleDeleteRoom(DeleteRoomEvent deleteSessionEvent) { } } diff --git a/src/main/java/de/thm/arsnova/cache/CacheBusterListener.java b/src/main/java/de/thm/arsnova/cache/CacheBusterListener.java deleted file mode 100644 index 07baa649958ad208a6b5b4157a24810638113e5a..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/cache/CacheBusterListener.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of ARSnova Backend. - * Copyright (C) 2012-2018 The ARSnova Team and Contributors - * - * ARSnova Backend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ARSnova Backend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.thm.arsnova.cache; - -import de.thm.arsnova.event.ArsnovaEvent; -import de.thm.arsnova.event.ArsnovaEventVisitor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * Listener registration for the cache buster. - * - * Note that this class is necessary in order for the annotations to work. - */ -@Component -public class CacheBusterListener implements ApplicationListener<ArsnovaEvent> { - - @Autowired - private CacheBuster cacheBuster; - - @Override - public void onApplicationEvent(ArsnovaEvent event) { - event.accept((ArsnovaEventVisitor) cacheBuster); - } - -} diff --git a/src/main/java/de/thm/arsnova/config/AppConfig.java b/src/main/java/de/thm/arsnova/config/AppConfig.java index 2df34dc2e72064282d4b9e439f31db0ef4506207..5b333883359dcc97dabd364adce5ebede952d4af 100644 --- a/src/main/java/de/thm/arsnova/config/AppConfig.java +++ b/src/main/java/de/thm/arsnova/config/AppConfig.java @@ -34,7 +34,6 @@ import de.thm.arsnova.web.PathApiVersionContentNegotiationStrategy; import de.thm.arsnova.web.ResponseInterceptorHandler; import de.thm.arsnova.websocket.ArsnovaSocketioServer; import de.thm.arsnova.websocket.ArsnovaSocketioServerImpl; -import de.thm.arsnova.websocket.ArsnovaSocketioServerListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.config.PropertiesFactoryBean; @@ -275,11 +274,6 @@ public class AppConfig implements WebMvcConfigurer { return socketioServer; } - @Bean - public ArsnovaSocketioServerListener arsnovaSocketListener() { - return new ArsnovaSocketioServerListener(); - } - @Bean public CacheManager cacheManager() { return new ConcurrentMapCacheManager(); diff --git a/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java b/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java index 8c5ac9498433190c1b722cf73a3363016c82405e..f6d6f6e795258f5fee8d36c03fa16743567e8b2f 100644 --- a/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java +++ b/src/main/java/de/thm/arsnova/event/ArsnovaEvent.java @@ -30,6 +30,4 @@ public abstract class ArsnovaEvent extends ApplicationEvent { super(source); } - public abstract void accept(ArsnovaEventVisitor visitor); - } diff --git a/src/main/java/de/thm/arsnova/event/ArsnovaEventVisitor.java b/src/main/java/de/thm/arsnova/event/ArsnovaEventVisitor.java deleted file mode 100644 index 4587c4284920c0038a4a3a4f410a9fb913321899..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/event/ArsnovaEventVisitor.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * This file is part of ARSnova Backend. - * Copyright (C) 2012-2018 The ARSnova Team and Contributors - * - * ARSnova Backend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ARSnova Backend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.thm.arsnova.event; - -/** - * Listeners wanting to receive ARSnova's internal events should implement this interface. - */ -public interface ArsnovaEventVisitor { - - void visit(NewCommentEvent newCommentEvent); - - void visit(DeleteCommentEvent deleteCommentEvent); - - void visit(NewQuestionEvent newQuestionEvent); - - void visit(UnlockQuestionEvent unlockQuestionEvent); - - void visit(UnlockQuestionsEvent newQuestionsEvent); - - void visit(LockQuestionEvent lockQuestionEvent); - - void visit(LockQuestionsEvent lockQuestionsEvent); - - void visit(NewAnswerEvent newAnswerEvent); - - void visit(DeleteAnswerEvent deleteAnswerEvent); - - void visit(DeleteQuestionEvent deleteQuestionEvent); - - void visit(DeleteAllQuestionsEvent deleteAllQuestionsEvent); - - void visit(DeleteAllQuestionsAnswersEvent deleteAllAnswersEvent); - - void visit(DeleteAllPreparationAnswersEvent deleteAllPreparationAnswersEvent); - - void visit(DeleteAllLectureAnswersEvent deleteAllLectureAnswersEvent); - - void visit(NewFeedbackEvent newFeedbackEvent); - - void visit(DeleteFeedbackForRoomsEvent deleteFeedbackEvent); - - void visit(StatusRoomEvent statusSessionEvent); - - void visit(ChangeScoreEvent changeLearningProgress); - - void visit(PiRoundDelayedStartEvent piRoundDelayedStartEvent); - - void visit(PiRoundEndEvent piRoundEndEvent); - - void visit(PiRoundCancelEvent piRoundCancelEvent); - - void visit(PiRoundResetEvent piRoundResetEvent); - - void visit(NewRoomEvent newSessionEvent); - - void visit(DeleteRoomEvent deleteSessionEvent); - - void visit(LockVoteEvent lockVoteEvent); - - void visit(LockVotesEvent lockVotesEvent); - - void visit(UnlockVoteEvent unlockVoteEvent); - - void visit(UnlockVotesEvent unlockVotesEvent); - - void visit(FeatureChangeEvent featureChangeEvent); - - void visit(LockFeedbackEvent lockFeedbackEvent); - - void visit(FlipFlashcardsEvent flipFlashcardsEvent); -} diff --git a/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java b/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java index e67fc341e88ff29f1307420f4c4324610f9d1007..46cbaf639c533957e6b98b6c6adb4f267a8af75b 100644 --- a/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java +++ b/src/main/java/de/thm/arsnova/event/ChangeScoreEvent.java @@ -30,9 +30,4 @@ public class ChangeScoreEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/DeleteAllLectureAnswersEvent.java b/src/main/java/de/thm/arsnova/event/DeleteAllLectureAnswersEvent.java index 210ede956a073bcec5187689831ca07fa8b623a9..3ed09bb704b4ebaa347e8ef6c1e909e51f327522 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteAllLectureAnswersEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteAllLectureAnswersEvent.java @@ -30,9 +30,4 @@ public class DeleteAllLectureAnswersEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/DeleteAllPreparationAnswersEvent.java b/src/main/java/de/thm/arsnova/event/DeleteAllPreparationAnswersEvent.java index 94d7a67c445e2ae7840853496b752879ea4a19ef..a85f12e2f988013b1e0e170b48d794fbb24c6392 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteAllPreparationAnswersEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteAllPreparationAnswersEvent.java @@ -29,9 +29,4 @@ public class DeleteAllPreparationAnswersEvent extends RoomEvent { public DeleteAllPreparationAnswersEvent(Object source, Room room) { super(source, room); } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsAnswersEvent.java b/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsAnswersEvent.java index eb587c21300acfb74c21367a55670e2b6d8b6287..bf7142ed628ab77fa9bb6d2b2196b42730bc509f 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsAnswersEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsAnswersEvent.java @@ -29,9 +29,4 @@ public class DeleteAllQuestionsAnswersEvent extends RoomEvent { public DeleteAllQuestionsAnswersEvent(Object source, Room room) { super(source, room); } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsEvent.java b/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsEvent.java index 7dd76e612659c55ee4fcf9f43feefafe3428a44f..a6cd9558a2adeab4c0d9b89e283a072c60bbb805 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteAllQuestionsEvent.java @@ -31,9 +31,4 @@ public class DeleteAllQuestionsEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/DeleteAnswerEvent.java b/src/main/java/de/thm/arsnova/event/DeleteAnswerEvent.java index eb9f816bffc8a8db93820c77ef0f69ad47e9ebc9..8a7aa4ba1a3cf2ffc752fedd71b7be19f7cb9eec 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteAnswerEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteAnswerEvent.java @@ -34,11 +34,6 @@ public class DeleteAnswerEvent extends RoomEvent { this.content = content; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - public Content getQuestion() { return content; } diff --git a/src/main/java/de/thm/arsnova/event/DeleteCommentEvent.java b/src/main/java/de/thm/arsnova/event/DeleteCommentEvent.java index f62f3c64e39bb1cd39b583208ed7f3154fdc72f1..82ba83d101334b36facfb53fe06b0070771780e5 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteCommentEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteCommentEvent.java @@ -34,11 +34,6 @@ public class DeleteCommentEvent extends RoomEvent { this.comment = comment; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - public Comment getQuestion() { return comment; } diff --git a/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java b/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java index 38b5cfca9f725d761743b75f8b571ab68566d134..1bf0314506296b5fb623a2d09570f286d4a82d64 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteFeedbackForRoomsEvent.java @@ -46,9 +46,4 @@ public class DeleteFeedbackForRoomsEvent extends ArsnovaEvent { return userId; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/DeleteQuestionEvent.java b/src/main/java/de/thm/arsnova/event/DeleteQuestionEvent.java index b2a40f6cfb769c00ed2088e03ce7e5b078b6f8de..bfafb5fe706c94fb3a1b292d20562435a25ea482 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteQuestionEvent.java @@ -38,9 +38,4 @@ public class DeleteQuestionEvent extends RoomEvent { return this.content; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/DeleteRoomEvent.java b/src/main/java/de/thm/arsnova/event/DeleteRoomEvent.java index 2e470d680689775efbed767fe7438031820a15e7..a650c51a6d55a17273df313b4e5b86f81e2ca556 100644 --- a/src/main/java/de/thm/arsnova/event/DeleteRoomEvent.java +++ b/src/main/java/de/thm/arsnova/event/DeleteRoomEvent.java @@ -31,9 +31,4 @@ public class DeleteRoomEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/FeatureChangeEvent.java b/src/main/java/de/thm/arsnova/event/FeatureChangeEvent.java index 890425edb912f192e319556de5bfa98d6c52f76c..447631a91ab42bddf8a90f2c253ff45931952d53 100644 --- a/src/main/java/de/thm/arsnova/event/FeatureChangeEvent.java +++ b/src/main/java/de/thm/arsnova/event/FeatureChangeEvent.java @@ -30,9 +30,4 @@ public class FeatureChangeEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java b/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java index 10a17302f4be7e243e88980ea120e5a779c6161a..5b94f9a21e4d3f1c2448fc3199d16ee263aaed8c 100644 --- a/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java +++ b/src/main/java/de/thm/arsnova/event/FlipFlashcardsEvent.java @@ -29,9 +29,4 @@ public class FlipFlashcardsEvent extends RoomEvent { public FlipFlashcardsEvent(Object source, Room room) { super(source, room); } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/LockFeedbackEvent.java b/src/main/java/de/thm/arsnova/event/LockFeedbackEvent.java index b7a39b6b92b2dcc27d7794e1045bdce9ab47317e..1f907db30dd45109f78d841af905703dff368a6b 100644 --- a/src/main/java/de/thm/arsnova/event/LockFeedbackEvent.java +++ b/src/main/java/de/thm/arsnova/event/LockFeedbackEvent.java @@ -29,9 +29,4 @@ public class LockFeedbackEvent extends RoomEvent { public LockFeedbackEvent(Object source, Room room) { super(source, room); } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/LockQuestionEvent.java b/src/main/java/de/thm/arsnova/event/LockQuestionEvent.java index 54bc9ff6a955fbbcdcad17561aeef794eb0df7a4..2b0e38bd4c261b7af20efa8b31f1effd1b23e0f5 100644 --- a/src/main/java/de/thm/arsnova/event/LockQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/event/LockQuestionEvent.java @@ -38,9 +38,4 @@ public class LockQuestionEvent extends RoomEvent { return this.content; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/LockQuestionsEvent.java b/src/main/java/de/thm/arsnova/event/LockQuestionsEvent.java index 8c892967d3a15bec451edbfbef972783cb08701e..fb27e4e6cf5c31cba98dadb4ddafef2b2f40d475 100644 --- a/src/main/java/de/thm/arsnova/event/LockQuestionsEvent.java +++ b/src/main/java/de/thm/arsnova/event/LockQuestionsEvent.java @@ -40,9 +40,4 @@ public class LockQuestionsEvent extends RoomEvent { return this.contents; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/LockVoteEvent.java b/src/main/java/de/thm/arsnova/event/LockVoteEvent.java index 1463e12e01dd0f6cf22953844ba0971c32b05aa4..07456ac7b7f52605f596df1375088eb402c1db18 100644 --- a/src/main/java/de/thm/arsnova/event/LockVoteEvent.java +++ b/src/main/java/de/thm/arsnova/event/LockVoteEvent.java @@ -59,9 +59,4 @@ public class LockVoteEvent extends RoomEvent { map.put("variant", getGroup()); return map; } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/LockVotesEvent.java b/src/main/java/de/thm/arsnova/event/LockVotesEvent.java index a18cf149938191b846924c2e7d8853bbc6b08f38..ebff38234b700147bbdd1957e78c1e488ad5d3a6 100644 --- a/src/main/java/de/thm/arsnova/event/LockVotesEvent.java +++ b/src/main/java/de/thm/arsnova/event/LockVotesEvent.java @@ -40,9 +40,4 @@ public class LockVotesEvent extends RoomEvent { return this.contents; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/NewAnswerEvent.java b/src/main/java/de/thm/arsnova/event/NewAnswerEvent.java index bdf775c000745d33460d7db85de805cdb0dab7ee..462494d9854ce5dc609f7bce65bef97e640cc378 100644 --- a/src/main/java/de/thm/arsnova/event/NewAnswerEvent.java +++ b/src/main/java/de/thm/arsnova/event/NewAnswerEvent.java @@ -41,11 +41,6 @@ public class NewAnswerEvent extends RoomEvent { this.content = content; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - public Answer getAnswer() { return answer; } diff --git a/src/main/java/de/thm/arsnova/event/NewCommentEvent.java b/src/main/java/de/thm/arsnova/event/NewCommentEvent.java index 3ad2620eaeb8cc8476fc0fea0b4dc41abc19dbdf..0ccf30272328b99e76767b984d9fea397295683a 100644 --- a/src/main/java/de/thm/arsnova/event/NewCommentEvent.java +++ b/src/main/java/de/thm/arsnova/event/NewCommentEvent.java @@ -38,9 +38,4 @@ public class NewCommentEvent extends RoomEvent { return comment; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java b/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java index f9bcdc5254a862cc7e99e3b848aa032a382bccf7..d663f2bb5d0607366800fa91b04e0bd2ce5a9d65 100644 --- a/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java +++ b/src/main/java/de/thm/arsnova/event/NewFeedbackEvent.java @@ -30,9 +30,4 @@ public class NewFeedbackEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/NewQuestionEvent.java b/src/main/java/de/thm/arsnova/event/NewQuestionEvent.java index 4cf0da993809f66cc4698e2608d586742c1cfc98..53281dceaaea6ad74dc49dd769509f22cf0ae821 100644 --- a/src/main/java/de/thm/arsnova/event/NewQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/event/NewQuestionEvent.java @@ -37,9 +37,4 @@ public class NewQuestionEvent extends RoomEvent { public Content getQuestion() { return content; } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/NewRoomEvent.java b/src/main/java/de/thm/arsnova/event/NewRoomEvent.java index 4dd067ba6fa1fff1c32979aa1b8097c4247bdc1d..222fa7c0fdc7c16f55483e9299dc9780cd79f43e 100644 --- a/src/main/java/de/thm/arsnova/event/NewRoomEvent.java +++ b/src/main/java/de/thm/arsnova/event/NewRoomEvent.java @@ -30,9 +30,4 @@ public class NewRoomEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/PiRoundCancelEvent.java b/src/main/java/de/thm/arsnova/event/PiRoundCancelEvent.java index 969d4a68aa092872a2be4223776db477c795a93f..27cf4351d875d413fe5f037e803943f1c2e5b51f 100644 --- a/src/main/java/de/thm/arsnova/event/PiRoundCancelEvent.java +++ b/src/main/java/de/thm/arsnova/event/PiRoundCancelEvent.java @@ -31,9 +31,4 @@ public class PiRoundCancelEvent extends PiRoundEndEvent { super(source, room, content); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/PiRoundDelayedStartEvent.java b/src/main/java/de/thm/arsnova/event/PiRoundDelayedStartEvent.java index b8880c367497ac6cf20b09a5c527cef41b0251a6..43ac5f59bf4eb4e4681dd9effdc975f86ac451c9 100644 --- a/src/main/java/de/thm/arsnova/event/PiRoundDelayedStartEvent.java +++ b/src/main/java/de/thm/arsnova/event/PiRoundDelayedStartEvent.java @@ -47,11 +47,6 @@ public class PiRoundDelayedStartEvent extends RoomEvent { this.startTime = new Date(); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - public String getQuestionId() { return questionId; } diff --git a/src/main/java/de/thm/arsnova/event/PiRoundEndEvent.java b/src/main/java/de/thm/arsnova/event/PiRoundEndEvent.java index ebd864bf7ea003de4cfba5a525956b549008bf20..064ba458d611d2b9dd0f4567073f73e265ed4078 100644 --- a/src/main/java/de/thm/arsnova/event/PiRoundEndEvent.java +++ b/src/main/java/de/thm/arsnova/event/PiRoundEndEvent.java @@ -40,11 +40,6 @@ public class PiRoundEndEvent extends RoomEvent { this.group = content.getGroups().toArray(new String[1])[0]; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - public String getContentId() { return contentId; } diff --git a/src/main/java/de/thm/arsnova/event/PiRoundResetEvent.java b/src/main/java/de/thm/arsnova/event/PiRoundResetEvent.java index a7045abfd4da888dec2a42c6274924996c7533d1..4d5d773ea302d36a4bdf5661242793e7d4f5f1c5 100644 --- a/src/main/java/de/thm/arsnova/event/PiRoundResetEvent.java +++ b/src/main/java/de/thm/arsnova/event/PiRoundResetEvent.java @@ -40,11 +40,6 @@ public class PiRoundResetEvent extends RoomEvent { this.group = content.getGroups().toArray(new String[1])[0]; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - public String getContentId() { return contentId; } diff --git a/src/main/java/de/thm/arsnova/event/StatusRoomEvent.java b/src/main/java/de/thm/arsnova/event/StatusRoomEvent.java index a981d2f31022df067147d200a3f0cb1e5d21f5e2..d91026fde9c00daaab7fc1347e9f684e96581102 100644 --- a/src/main/java/de/thm/arsnova/event/StatusRoomEvent.java +++ b/src/main/java/de/thm/arsnova/event/StatusRoomEvent.java @@ -30,9 +30,4 @@ public class StatusRoomEvent extends RoomEvent { super(source, room); } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/UnlockQuestionEvent.java b/src/main/java/de/thm/arsnova/event/UnlockQuestionEvent.java index 5e09ed349ffb1b08f8c1ffbbaa131d584013c4df..3a53ff4427d17f2c6a746e8287c26b674e1fc8e0 100644 --- a/src/main/java/de/thm/arsnova/event/UnlockQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/event/UnlockQuestionEvent.java @@ -38,9 +38,4 @@ public class UnlockQuestionEvent extends RoomEvent { return this.content; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/UnlockQuestionsEvent.java b/src/main/java/de/thm/arsnova/event/UnlockQuestionsEvent.java index a4e5d8c6a1916b3d07f8b33794af26f2fd2dcc75..50c66f05acd183039a483eb19198349e7d67b6b8 100644 --- a/src/main/java/de/thm/arsnova/event/UnlockQuestionsEvent.java +++ b/src/main/java/de/thm/arsnova/event/UnlockQuestionsEvent.java @@ -40,9 +40,4 @@ public class UnlockQuestionsEvent extends RoomEvent { return this.contents; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/event/UnlockVoteEvent.java b/src/main/java/de/thm/arsnova/event/UnlockVoteEvent.java index 962f7c54678b7a10cca7ef7b890d56489ef48270..d6206d6db140b09396f8a159b590e91fa8f1ae4b 100644 --- a/src/main/java/de/thm/arsnova/event/UnlockVoteEvent.java +++ b/src/main/java/de/thm/arsnova/event/UnlockVoteEvent.java @@ -57,9 +57,4 @@ public class UnlockVoteEvent extends RoomEvent { map.put("variant", getGroup()); return map; } - - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } } diff --git a/src/main/java/de/thm/arsnova/event/UnlockVotesEvent.java b/src/main/java/de/thm/arsnova/event/UnlockVotesEvent.java index fdc50180ad5b8caf777ce001919f56cdefe8ca65..cf5fe5f2c95e3c9575eb1b908e167c0d75e14de1 100644 --- a/src/main/java/de/thm/arsnova/event/UnlockVotesEvent.java +++ b/src/main/java/de/thm/arsnova/event/UnlockVotesEvent.java @@ -40,9 +40,4 @@ public class UnlockVotesEvent extends RoomEvent { return this.contents; } - @Override - public void accept(ArsnovaEventVisitor visitor) { - visitor.visit(this); - } - } diff --git a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java index 78acff908dc1d575d4d06111ef4de0a4b996181d..d8267dfae9c16a03901dc4b08d97df4faa37613e 100644 --- a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java +++ b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorFactoryImpl.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; /** @@ -31,7 +32,7 @@ import org.springframework.stereotype.Component; * This class additionally clears all score caches and reports this via event system. */ @Component -public class ScoreCalculatorFactoryImpl implements ArsnovaEventVisitor, ScoreCalculatorFactory, ApplicationEventPublisherAware { +public class ScoreCalculatorFactoryImpl implements ScoreCalculatorFactory, ApplicationEventPublisherAware { @Autowired private SessionStatisticsRepository sessionStatisticsRepository; @@ -50,141 +51,87 @@ public class ScoreCalculatorFactoryImpl implements ArsnovaEventVisitor, ScoreCal return scoreCalculator; } - @Override - public void visit(NewCommentEvent event) { } - - @Override - public void visit(DeleteCommentEvent deleteCommentEvent) { } - @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(NewQuestionEvent event) { + @EventListener + public void handleNewQuestion(NewQuestionEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(UnlockQuestionEvent event) { + @EventListener + public void handleUnlockQuestion(UnlockQuestionEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(UnlockQuestionsEvent event) { + @EventListener + public void handleUnlockQuestions(UnlockQuestionsEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(LockQuestionEvent event) { + @EventListener + public void handleLockQuestion(LockQuestionEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(LockQuestionsEvent event) { + @EventListener + public void handleLockQuestions(LockQuestionsEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(NewAnswerEvent event) { + @EventListener + public void handleNewAnswer(NewAnswerEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(DeleteAnswerEvent event) { + @EventListener + public void handleDeleteAnswer(DeleteAnswerEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(DeleteQuestionEvent event) { + @EventListener + public void handleDeleteQuestion(DeleteQuestionEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(DeleteAllQuestionsEvent event) { + @EventListener + public void handleDeleteAllQuestions(DeleteAllQuestionsEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(DeleteAllQuestionsAnswersEvent event) { + @EventListener + public void handleDeleteAllQuestionsAnswers(DeleteAllQuestionsAnswersEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(DeleteAllPreparationAnswersEvent event) { + @EventListener + public void handleDeleteAllPreparationAnswers(DeleteAllPreparationAnswersEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(DeleteAllLectureAnswersEvent event) { + @EventListener + public void handleDeleteAllLectureAnswers(DeleteAllLectureAnswersEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } @CacheEvict(value = "score", key = "#event.Room") - @Override - public void visit(PiRoundResetEvent event) { + @EventListener + public void handlePiRoundReset(PiRoundResetEvent event) { this.publisher.publishEvent(new ChangeScoreEvent(this, event.getRoom())); } - @Override - public void visit(NewFeedbackEvent newFeedbackEvent) { } - - @Override - public void visit(DeleteFeedbackForRoomsEvent deleteFeedbackEvent) { } - - @Override - public void visit(StatusRoomEvent statusSessionEvent) { } - - @Override - public void visit(ChangeScoreEvent changeLearningProgress) { } - - @Override - public void visit(PiRoundDelayedStartEvent piRoundDelayedStartEvent) { } - - @Override - public void visit(PiRoundEndEvent piRoundEndEvent) { } - - @Override - public void visit(PiRoundCancelEvent piRoundCancelEvent) { } - - @Override - public void visit(NewRoomEvent event) { } - - @Override - public void visit(DeleteRoomEvent event) { } - @Override public void setApplicationEventPublisher(ApplicationEventPublisher publisher) { this.publisher = publisher; } - @Override - public void visit(LockVoteEvent lockVoteEvent) { } - - @Override - public void visit(LockVotesEvent lockVotesEvent) { } - - @Override - public void visit(UnlockVoteEvent unlockVoteEvent) { } - - @Override - public void visit(UnlockVotesEvent unlockVotesEvent) { } - - @Override - public void visit(FeatureChangeEvent featureChangeEvent) { } - - @Override - public void visit(LockFeedbackEvent lockFeedbackEvent) { } - - @Override - public void visit(FlipFlashcardsEvent flipFlashcardsEvent) { } - } diff --git a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorListener.java b/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorListener.java deleted file mode 100644 index d78cc886327e289d5649f0476dbfebea9f3755ae..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/service/score/ScoreCalculatorListener.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of ARSnova Backend. - * Copyright (C) 2012-2018 The ARSnova Team and Contributors - * - * ARSnova Backend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ARSnova Backend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.thm.arsnova.service.score; - -import de.thm.arsnova.event.ArsnovaEvent; -import de.thm.arsnova.event.ArsnovaEventVisitor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * Listener registration for the score. - * - * Note that this class is necessary in order for the annotations to work. - */ -@Component -public class ScoreCalculatorListener implements ApplicationListener<ArsnovaEvent> { - - @Autowired - private ScoreCalculatorFactory scoreCalculatorFactory; - - @Override - public void onApplicationEvent(ArsnovaEvent event) { - event.accept((ArsnovaEventVisitor) scoreCalculatorFactory); - } - -} diff --git a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java index 0e20156dfa0748e51fc02140968725b5a9cd8d47..5636c66ae4999d97901dd071028dc59b38626d97 100644 --- a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java +++ b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java @@ -48,6 +48,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Required; +import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @@ -67,7 +68,7 @@ import java.util.UUID; * Web socket implementation based on Socket.io. */ @Component -public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, ArsnovaEventVisitor { +public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { @Autowired private FeedbackService feedbackService; @@ -489,40 +490,40 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova } } - @Override - public void visit(NewQuestionEvent event) { + @EventListener + public void handleNewQuestion(NewQuestionEvent event) { this.reportContentAvailable(event.getRoom(), Collections.singletonList(event.getQuestion())); } - @Override - public void visit(UnlockQuestionEvent event) { + @EventListener + public void handleUnlockQuestion(UnlockQuestionEvent event) { this.reportContentAvailable(event.getRoom(), Collections.singletonList(event.getQuestion())); } - @Override - public void visit(LockQuestionEvent event) { + @EventListener + public void handleLockQuestion(LockQuestionEvent event) { this.reportContentsLocked(event.getRoom(), Collections.singletonList(event.getQuestion())); } - @Override - public void visit(UnlockQuestionsEvent event) { + @EventListener + public void handleUnlockQuestions(UnlockQuestionsEvent event) { this.reportContentAvailable(event.getRoom(), event.getQuestions()); } - @Override - public void visit(LockQuestionsEvent event) { + @EventListener + public void handleLockQuestions(LockQuestionsEvent event) { this.reportContentsLocked(event.getRoom(), event.getQuestions()); } - @Override - public void visit(NewCommentEvent event) { + @EventListener + public void handleNewComment(NewCommentEvent event) { this.reportCommentAvailable(event.getRoom(), event.getQuestion()); } @Async - @Override - @Timed(name = "visit.NewAnswerEvent") - public void visit(NewAnswerEvent event) { + @EventListener + @Timed + public void handleNewAnswer(NewAnswerEvent event) { final String roomId = event.getRoom().getId(); this.reportAnswersToContentAvailable(event.getRoom(), new Content(event.getContent())); broadcastInRoom(roomId, "countQuestionAnswersByQuestionId", answerService.countAnswersAndAbstentionsInternal(event.getContent().getId())); @@ -540,9 +541,9 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova } @Async - @Override - @Timed(name = "visit.DeleteAnswerEvent") - public void visit(DeleteAnswerEvent event) { + @EventListener + @Timed + public void handleDeleteAnswer(DeleteAnswerEvent event) { final String roomId = event.getRoom().getId(); this.reportAnswersToContentAvailable(event.getRoom(), new Content(event.getQuestion())); // We do not know which user's answer was deleted, so we can't update his 'unanswered' list of questions... @@ -552,49 +553,49 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova } @Async - @Override - @Timed(name = "visit.PiRoundDelayedStartEvent") - public void visit(PiRoundDelayedStartEvent event) { + @EventListener + @Timed + public void handlePiRoundDelayedStart(PiRoundDelayedStartEvent event) { final String roomId = event.getRoom().getId(); broadcastInRoom(roomId, "startDelayedPiRound", event.getPiRoundInformations()); } @Async - @Override - @Timed(name = "visit.PiRoundEndEvent") - public void visit(PiRoundEndEvent event) { + @EventListener + @Timed + public void handlePiRoundEnd(PiRoundEndEvent event) { final String roomId = event.getRoom().getId(); broadcastInRoom(roomId, "endPiRound", event.getPiRoundEndInformations()); } @Async - @Override - @Timed(name = "visit.PiRoundCancelEvent") - public void visit(PiRoundCancelEvent event) { + @EventListener + @Timed + public void handlePiRoundCancel(PiRoundCancelEvent event) { final String roomId = event.getRoom().getId(); broadcastInRoom(roomId, "cancelPiRound", event.getContentId()); } - @Override - public void visit(PiRoundResetEvent event) { + @EventListener + public void handlePiRoundReset(PiRoundResetEvent event) { final String roomId = event.getRoom().getId(); broadcastInRoom(roomId, "resetPiRound", event.getPiRoundResetInformations()); } - @Override - public void visit(LockVoteEvent event) { + @EventListener + public void handleLockVote(LockVoteEvent event) { final String roomId = event.getRoom().getId(); broadcastInRoom(roomId, "lockVote", event.getVotingAdmission()); } - @Override - public void visit(UnlockVoteEvent event) { + @EventListener + public void handleUnlockVote(UnlockVoteEvent event) { final String roomId = event.getRoom().getId(); broadcastInRoom(roomId, "unlockVote", event.getVotingAdmission()); } - @Override - public void visit(LockVotesEvent event) { + @EventListener + public void handleLockVotes(LockVotesEvent event) { List<Content> contents = new ArrayList<>(); for (de.thm.arsnova.model.Content q : event.getQuestions()) { contents.add(new Content(q)); @@ -602,8 +603,8 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova broadcastInRoom(event.getRoom().getId(), "lockVotes", contents); } - @Override - public void visit(UnlockVotesEvent event) { + @EventListener + public void handleUnlockVotes(UnlockVotesEvent event) { List<Content> contents = new ArrayList<>(); for (de.thm.arsnova.model.Content q : event.getQuestions()) { contents.add(new Content(q)); @@ -611,8 +612,8 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova broadcastInRoom(event.getRoom().getId(), "unlockVotes", contents); } - @Override - public void visit(FeatureChangeEvent event) { + @EventListener + public void handleFeatureChange(FeatureChangeEvent event) { final String roomId = event.getRoom().getId(); final de.thm.arsnova.model.Room.Settings settings = event.getRoom().getSettings(); broadcastInRoom(roomId, "featureChange", toV2Migrator.migrate(settings)); @@ -623,76 +624,34 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova } } - @Override - public void visit(LockFeedbackEvent event) { + @EventListener + public void handleLockFeedback(LockFeedbackEvent event) { broadcastInRoom(event.getRoom().getId(), "lockFeedback", event.getRoom().getSettings().isFeedbackLocked()); } - @Override - public void visit(FlipFlashcardsEvent event) { + @EventListener + public void handleFlipFlashcards(FlipFlashcardsEvent event) { // broadcastInRoom(event.getRoom().getId(), "flipFlashcards", event.getRoom().getFlipFlashcards()); } - @Override - public void visit(DeleteQuestionEvent deleteQuestionEvent) { - // TODO Auto-generated method stub - - } - - @Override - public void visit(DeleteAllQuestionsEvent event) { - // TODO Auto-generated method stub - - } - - @Override - public void visit(DeleteAllQuestionsAnswersEvent deleteAllAnswersEvent) { - // TODO Auto-generated method stub - - } - - @Override - public void visit(DeleteAllPreparationAnswersEvent deleteAllPreparationAnswersEvent) { - // TODO Auto-generated method stub - - } - - @Override - public void visit(DeleteAllLectureAnswersEvent deleteAllLectureAnswersEvent) { - // TODO Auto-generated method stub - - } - - @Override - public void visit(DeleteCommentEvent deleteCommentEvent) { - // TODO Auto-generated method stub - - } - - @Override - public void visit(NewFeedbackEvent event) { + @EventListener + public void handleNewFeedback(NewFeedbackEvent event) { this.reportUpdatedFeedbackForRoom(event.getRoom()); } - @Override - public void visit(DeleteFeedbackForRoomsEvent event) { + @EventListener + public void handleDeleteFeedbackForRooms(DeleteFeedbackForRoomsEvent event) { this.reportDeletedFeedback(event.getUserId(), event.getSessions()); } - @Override - public void visit(StatusRoomEvent event) { + @EventListener + public void handleStatusRoom(StatusRoomEvent event) { this.reportRoomStatus(event.getRoom().getId(), !event.getRoom().isClosed()); } - @Override - public void visit(ChangeScoreEvent event) { + @EventListener + public void handleChangeScore(ChangeScoreEvent event) { broadcastInRoom(event.getRoom().getId(), "learningProgressChange", null); } - - @Override - public void visit(NewRoomEvent event) { } - - @Override - public void visit(DeleteRoomEvent event) { } } diff --git a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerListener.java b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerListener.java deleted file mode 100644 index 1d69bc792375c57b2d5a87b9e7bb16c196d2ff1a..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerListener.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * This file is part of ARSnova Backend. - * Copyright (C) 2012-2018 The ARSnova Team and Contributors - * - * ARSnova Backend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ARSnova Backend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.thm.arsnova.websocket; - -import de.thm.arsnova.event.ArsnovaEvent; -import de.thm.arsnova.event.ArsnovaEventVisitor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * An external Listener is required because otherwise the event methods are not called through a Spring proxy. - * This would result in Spring method annotations not working. - */ -@Component -public class ArsnovaSocketioServerListener implements ApplicationListener<ArsnovaEvent> { - - @Autowired - private ArsnovaSocketioServer socketioServer; - - @Override - public void onApplicationEvent(ArsnovaEvent event) { - event.accept((ArsnovaEventVisitor) socketioServer); - } - -}