/** * Delete a bookmark from current user's collection. * * @param inActionContext action context. * @return true upon successful completion. */ @Override public Serializable execute(final PrincipalActionContext inActionContext) { Person person = personMapper.execute(new FindByIdRequest("Person", inActionContext.getPrincipal().getId())); Long ssIdToRemove = (Long) inActionContext.getParams(); List<StreamScope> bookmarks = person.getBookmarks(); log.debug("Attempting to delete bookmark with id: " + ssIdToRemove); for (StreamScope ss : bookmarks) { log.debug("Examinging SS with id: " + ss.getId()); if (ss.getId() == ssIdToRemove) { log.debug("Match found!"); bookmarks.remove(ss); personMapper.flush(); break; } } return Boolean.TRUE; }
/** * Get the activities. * * @param id the id of the composite stream. * @param openSocialId the open social id of the user. * @param maxCount the number of activities to return * @return the activity DTOs. * @throws Exception exception. */ @SuppressWarnings("unchecked") public PagedSet<ActivityDTO> getActivities( final Long id, final String openSocialId, final int maxCount) throws Exception { // checks to see if composite stream is still valid FindByIdRequest findByIdRequest = new FindByIdRequest("StreamView", id); StreamView stream = findByIdMapper.execute(findByIdRequest); if (stream == null) { throw new ResourceException(Status.CLIENT_ERROR_NOT_FOUND); } // create the request GetActivitiesByCompositeStreamRequest request = new GetActivitiesByCompositeStreamRequest(id, maxCount); request.setMaxActivityId(Long.MAX_VALUE); // Create the actionContext PrincipalActionContext ac = new ServiceActionContext(request, principalPopulator.getPrincipal(openSocialId)); // execute action and return results. return (PagedSet<ActivityDTO>) serviceActionController.execute((ServiceActionContext) ac, action); }