@Override public AdminAccountResource toResource(UserAccount userAccount) { AdminAccountResource resource = new AdminAccountResource(userAccount); try { resource.add(linkTo(methodOn(AdminAccountRestController.class).getAdminAccount()).withSelfRel()); String baseUri = BasicLinkBuilder.linkToCurrentMapping().toString(); Link usersLink = new Link( new UriTemplate(baseUri + ApiUrls.API_ROOT + ApiUrls.URL_ADMIN_USERS), AdminAccountResource.LINK_NAME_USERS); resource.add(assembler.appendPaginationParameterTemplates(usersLink)); Link blogsLink = new Link( new UriTemplate(baseUri + ApiUrls.API_ROOT + ApiUrls.URL_ADMIN_BLOGS), AdminAccountResource.LINK_NAME_BLOGS); resource.add(assembler.appendPaginationParameterTemplates(blogsLink)); Link commentsLink = new Link( new UriTemplate(baseUri + ApiUrls.API_ROOT + ApiUrls.URL_ADMIN_COMMENTS), AdminAccountResource.LINK_NAME_COMMENTS); resource.add(assembler.appendPaginationParameterTemplates(commentsLink)); } catch (Exception ex) { //do nothing } return resource; }
@Override public CourseResource toResource(Course course) { CourseResource resource = new CourseResource(course); // add link to itself ( rel = self ) Link selfLink = linkTo(methodOn(CourseRestController.class).getCourse(course.getId())).withSelfRel(); resource.add(selfLink); // add link to list of lessons for this course. // URI uri = fromMethodCall(on(CourseRestController.class).getLessonsForCourse(course.getId(), null, null)).buildAndExpand(1).toUri(); Link lessonsLink = linkTo(methodOn(CourseRestController.class).getLessonsForCourse(course.getId(), null, null)).withRel(LINK_NAME_LESSONS); resource.add(assembler.appendPaginationParameterTemplates(lessonsLink)); return resource; }
public UserProfileResource toResource(UserAccount userAccount) { UserProfileResource resource = new UserProfileResource(userAccount); try { resource.add(linkTo(methodOn(WebsiteRestController.class).getUserProfile(userAccount.getUserId())) .withSelfRel()); Link commentsLink = linkTo(methodOn(WebsiteRestController.class) .getUserApprovedCommentPosts(userAccount.getUserId(), null, null)) .withRel(UserProfileResource.LINK_NAME_COMMENTS); resource.add(assembler.appendPaginationParameterTemplates(commentsLink)); } catch (ResourceNotFoundException ex) { //do nothing } return resource; } }
@Override public UserAccountResource toResource(UserAccount userAccount) { UserAccountResource resource = new UserAccountResource(userAccount); List<UserSocialConnection> socialConnections = userSocialConnectionRepository.findByUserId(userAccount.getUserId()); for (UserSocialConnection socialConnection : socialConnections) { resource.getSocialConnections().put(socialConnection.getProviderId(), socialConnection); } try { resource.add(linkTo(methodOn(UserAccountRestController.class).getCurrentUserAccount()) .withSelfRel()); resource.add(linkTo(methodOn(UserAccountRestController.class).patchUserProfile(null)) .withRel(UserAccountResource.LINK_NAME_PROFILE)); Link commentsLink = linkTo(methodOn(UserCommentRestController.class).getCurrentUserComments(null, null)) .withRel(UserAccountResource.LINK_NAME_COMMENTS); resource.add(assembler.appendPaginationParameterTemplates(commentsLink)); } catch (ResourceNotFoundException ex) { //do nothing } return resource; }
@Override public AuthorBlogResource toResource(BlogPost blog) { AuthorBlogResource resource = new AuthorBlogResource(blog); resource.setCommentCount(commentPostRepository.countByBlogPostId(blog.getId())); try { resource.add(linkTo(methodOn(AuthorBlogRestController.class).getBlogPostById(blog.getId())) .withSelfRel()); Link commentsLink = linkTo(methodOn(AuthorBlogCommentRestController.class) .getCommentPostsByBlogPostId(blog.getId(), null, null)) .withRel(AuthorBlogResource.LINK_NAME_COMMENTS); resource.add(assembler.appendPaginationParameterTemplates(commentsLink)); } catch (Exception ex) { //do nothing } return resource; }
@Override public AuthorAccountResource toResource(UserAccount entity) { AuthorAccountResource resource = new AuthorAccountResource(entity); try { resource.add(linkTo(methodOn(AuthorAccountRestController.class).getCurrentAuthorAccount()) .withSelfRel()); String baseUri = BasicLinkBuilder.linkToCurrentMapping().toString(); Link blogsLink = new Link( new UriTemplate(baseUri + ApiUrls.API_ROOT + ApiUrls.URL_AUTHOR_BLOGS), AuthorAccountResource.LINK_NAME_BLOGS); resource.add(assembler.appendPaginationParameterTemplates(blogsLink)); Link blogLink = new Link( new UriTemplate(baseUri + ApiUrls.API_ROOT + ApiUrls.URL_AUTHOR_BLOGS_BLOG), AuthorAccountResource.LINK_NAME_BLOG); resource.add(blogLink); } catch (Exception ex) { //do nothing } return resource; }
@Override public BlogResource toResource(BlogPost blogPost) { BlogResource resource = new BlogResource(blogPost); try { resource.add(linkTo(methodOn(BlogRestController.class).getBlogPostById(blogPost.getId())) .withSelfRel()); resource.add(linkTo(methodOn(UserRestController.class).getUserAccountByUserId(blogPost.getAuthorId())) .withRel(BlogResource.LINK_NAME_AUTHOR)); Link commentsLink = linkTo(methodOn(BlogRestController.class) .getCommentPostsByBlogPostId(blogPost.getId(), null, null)) .withRel(BlogResource.LINK_NAME_COMMENTS); resource.add(assembler.appendPaginationParameterTemplates(commentsLink)); } catch (ResourceNotFoundException ex) { //do nothing } return resource; }
@Override public PublicBlogResource toResource(BlogPost entity) { PublicBlogResource resource = new PublicBlogResource(entity); resource.setApprovedCommentCount(commentPostRepository.countByBlogPostIdAndStatus(entity.getId(), CommentStatusType.APPROVED)); try { resource.add(linkTo(methodOn(PublicBlogRestController.class).getPublicBlogPostById(entity.getId())) .withSelfRel()); Link commentsLink = linkTo(methodOn(PublicBlogRestController.class) .getBlogApprovedCommentPosts(entity.getId(), null, null)) .withRel(PublicBlogResource.LINK_NAME_COMMENTS); resource.add(assembler.appendPaginationParameterTemplates(commentsLink)); resource.add(linkTo(methodOn(WebsiteRestController.class).getUserProfile(entity.getAuthorId())) .withRel(PublicBlogResource.LINK_NAME_AUTHOR)); } catch (ResourceNotFoundException ex) { //do nothing } return resource; }
resource.add(assembler.appendPaginationParameterTemplates(blogsLink));