From a7bd0c5cd2330a84667b9762b4fd2cb35b1c20d4 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 10 Sep 2018 23:37:15 +0300 Subject: fix ActivityPub context --- .../main/java/com/juick/server/api/activity/Profile.java | 14 +++++++------- .../juick/server/api/activity/model/ActivityObject.java | 9 ++++++++- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'juick-server/src/main') diff --git a/juick-server/src/main/java/com/juick/server/api/activity/Profile.java b/juick-server/src/main/java/com/juick/server/api/activity/Profile.java index 89236f03..06735117 100644 --- a/juick-server/src/main/java/com/juick/server/api/activity/Profile.java +++ b/juick-server/src/main/java/com/juick/server/api/activity/Profile.java @@ -63,7 +63,7 @@ public class Profile { avatar.setUrl(image.toUriString()); avatar.setMediaType("image/png"); person.setIcon(avatar); - return person; + return (Person) ActivityObject.build(person); } throw new HttpNotFoundException(); } @@ -76,7 +76,7 @@ public class Profile { blog.setId(ServletUriComponentsBuilder.fromCurrentRequestUri().toUriString()); blog.setTotalItems(userService.getStatsMessages(user.getUid())); blog.setFirst(uriComponentsBuilder.path(String.format("/u/%s/blog", userName)).toUriString()); - return blog; + return (OrderedCollection) ActivityObject.build(blog); } throw new HttpNotFoundException(); } @@ -124,7 +124,7 @@ public class Profile { if (beforeNext > 0) { page.setNext(uri.queryParam("before", beforeNext).toUriString()); } - return page; + return (OrderedCollectionPage) ActivityObject.build(page); } throw new HttpNotFoundException(); } @@ -137,7 +137,7 @@ public class Profile { followers.setId(ServletUriComponentsBuilder.fromCurrentRequestUri().toUriString()); followers.setTotalItems(userService.getStatsMyReaders(user.getUid())); followers.setFirst(uriComponentsBuilder.path(String.format("/u/%s/followers", userName)).toUriString()); - return followers; + return (OrderedCollection) ActivityObject.build(followers); } throw new HttpNotFoundException(); } @@ -167,7 +167,7 @@ public class Profile { if (hasNext) { result.setNext(uriComponentsBuilder.queryParam("page", page + 1).toUriString()); } - return result; + return (OrderedCollectionPage) ActivityObject.build(result); } throw new HttpNotFoundException(); } @@ -180,7 +180,7 @@ public class Profile { following.setId(ServletUriComponentsBuilder.fromCurrentRequestUri().toUriString()); following.setTotalItems(userService.getUserFriends(user.getUid()).size()); following.setFirst(uriComponentsBuilder.path(String.format("/u/%s/followers", userName)).toUriString()); - return following; + return (OrderedCollection) ActivityObject.build(following); } throw new HttpNotFoundException(); } @@ -210,7 +210,7 @@ public class Profile { if (hasNext) { result.setNext(uriComponentsBuilder.queryParam("page", page + 1).toUriString()); } - return result; + return (OrderedCollectionPage) ActivityObject.build(result); } throw new HttpNotFoundException(); } diff --git a/juick-server/src/main/java/com/juick/server/api/activity/model/ActivityObject.java b/juick-server/src/main/java/com/juick/server/api/activity/model/ActivityObject.java index 84a3e018..fceb3612 100644 --- a/juick-server/src/main/java/com/juick/server/api/activity/model/ActivityObject.java +++ b/juick-server/src/main/java/com/juick/server/api/activity/model/ActivityObject.java @@ -9,6 +9,8 @@ import java.util.List; public abstract class ActivityObject { + private List context; + private String id; private Instant published; @@ -27,7 +29,7 @@ public abstract class ActivityObject { @JsonProperty("@context") public List getContext() { - return Arrays.asList(ACTIVITY_STREAMS_URI, SECURITY_URI); + return context; } public final static String ACTIVITY_STREAMS_URI = "https://www.w3.org/ns/activitystreams"; @@ -42,4 +44,9 @@ public abstract class ActivityObject { public void setPublished(Instant published) { this.published = published; } + + public static ActivityObject build(ActivityObject response) { + response.context = Arrays.asList(ACTIVITY_STREAMS_URI, SECURITY_URI); + return response; + } } -- cgit v1.2.3