aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/server/ActivityPubManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/server/ActivityPubManager.java')
-rw-r--r--src/main/java/com/juick/server/ActivityPubManager.java43
1 files changed, 18 insertions, 25 deletions
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<String> 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<String> 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();
@@ -323,28 +333,11 @@ public class ActivityPubManager implements ActivityListener, NotificationListene
}
@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");