From 2f2e9aab6194037259625200091949d8648e3409 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Tue, 24 Sep 2019 11:54:21 +0300 Subject: Use single event model for all application events --- .../java/com/juick/server/ActivityPubManager.java | 43 +++++++++------------- 1 file changed, 18 insertions(+), 25 deletions(-) (limited to 'src/main/java/com/juick/server/ActivityPubManager.java') diff --git a/src/main/java/com/juick/server/ActivityPubManager.java b/src/main/java/com/juick/server/ActivityPubManager.java index c40bbb5c..2fa663eb 100644 --- a/src/main/java/com/juick/server/ActivityPubManager.java +++ b/src/main/java/com/juick/server/ActivityPubManager.java @@ -4,6 +4,7 @@ import com.juick.Message; import com.juick.Reaction; import com.juick.User; import com.juick.formatters.PlainTextFormatter; +import com.juick.server.api.SystemActivity.ActivityType; import com.juick.server.api.activity.model.Context; import com.juick.server.api.activity.model.activities.Accept; import com.juick.server.api.activity.model.activities.Announce; @@ -142,10 +143,10 @@ public class ActivityPubManager implements ActivityListener, NotificationListene List segments = uriComponents.getPathSegments(); if (segments.get(0).equals("n")) { String[] ids = segments.get(1).split("-", 2); - if (ids.length == 2 && Integer.valueOf(ids[1]) == 0) { + if (ids.length == 2 && Integer.parseInt(ids[1]) == 0) { // only messages logger.info("{} recommends {}", event.getActorUri(), Integer.valueOf(ids[0])); - messagesService.likeMessage(Integer.valueOf(ids[0]), 0, Reaction.LIKE, event.getActorUri()); + messagesService.likeMessage(Integer.parseInt(ids[0]), 0, Reaction.LIKE, event.getActorUri()); } } } @@ -156,18 +157,27 @@ public class ActivityPubManager implements ActivityListener, NotificationListene List segments = uriComponents.getPathSegments(); if (segments.get(0).equals("n")) { String[] ids = segments.get(1).split("-", 2); - if (ids.length == 2 && Integer.valueOf(ids[1]) == 0) { + if (ids.length == 2 && Integer.parseInt(ids[1]) == 0) { // only messages logger.info("{} stop recommending {}", event.getActorUri(), Integer.valueOf(ids[0])); - messagesService.likeMessage(Integer.valueOf(ids[0]), 0, null, event.getActorUri()); + messagesService.likeMessage(Integer.parseInt(ids[0]), 0, null, event.getActorUri()); } } } @Override - public void processMessageEvent(MessageEvent messageEvent) { - Message msg = messageEvent.getMessage(); - if (MessageUtils.isPM(msg)) { + public void processSystemEvent(SystemEvent systemEvent) { + ActivityType type = systemEvent.getActivity().getType(); + if (type.equals(ActivityType.message)) { + processMessage(systemEvent.getActivity().getMessage()); + } else if (type.equals(ActivityType.like)) { + if (systemEvent.getActivity().getFrom().equals(serviceUser)) { + processTop(systemEvent.getActivity().getMessage()); + } + } + } + private void processMessage(Message msg) { + if (MessageUtils.isPM(msg) || msg.isService()) { return; } User user = msg.getUser(); @@ -322,29 +332,12 @@ public class ActivityPubManager implements ActivityListener, NotificationListene return note; } - @Override - public void processSubscribeEvent(SubscribeEvent subscribeEvent) { - - } - - @Override - public void processLikeEvent(LikeEvent likeEvent) { - - } - @Override public void processPingEvent(PingEvent pingEvent) { } - @Override - public void processMessageReadEvent(MessageReadEvent messageReadEvent) { - - } - - @Override - public void processTopEvent(TopEvent topEvent) { - Message message = topEvent.getMessage(); + private void processTop(Message message) { Note note = makeNote(message); Announce announce = new Announce(); announce.setId(note.getId() + "#top"); -- cgit v1.2.3