This is an automated email from the git hooks/post-receive script. unknown user pushed a commit to branch devel in repository Pollen. commit 3d237d9039ebc4fdb41ed9f288d05bf3c8594f60 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu May 22 08:47:14 2014 +0200 remove permissions + clean service code --- .../pollen/persistence/entity/ChoiceTopiaDao.java | 4 +-- .../pollen/persistence/entity/CommentTopiaDao.java | 15 ++++++++++ .../pollen/persistence/entity/VoteTopiaDao.java | 16 ++++++++++ .../org/chorem/pollen/services/bean/VoteBean.java | 1 - .../pollen/services/service/ChoiceService.java | 25 +++++++++++++--- .../pollen/services/service/CommentService.java | 26 +++++++++++++---- .../services/service/FavoriteListService.java | 32 +++++++++++--------- .../pollen/services/service/PollService.java | 34 ++++++++++++---------- .../services/service/VoteCountingService.java | 1 - .../pollen/services/service/VoteService.java | 25 ++++++++++++---- 10 files changed, 132 insertions(+), 47 deletions(-) diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java index 0d19abf..18206e2 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/ChoiceTopiaDao.java @@ -21,8 +21,6 @@ package org.chorem.pollen.persistence.entity; * #L% */ -import com.google.common.collect.ImmutableList; - import java.util.List; public class ChoiceTopiaDao extends AbstractChoiceTopiaDao<Choice> { @@ -32,7 +30,7 @@ public class ChoiceTopiaDao extends AbstractChoiceTopiaDao<Choice> { List<Choice> choices = forPollEquals(poll). setOrderByArguments(Choice.PROPERTY_CHOICE_ORDER). findAll(); - return ImmutableList.copyOf(choices); + return choices; } } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/CommentTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/CommentTopiaDao.java new file mode 100644 index 0000000..f4835cc --- /dev/null +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/CommentTopiaDao.java @@ -0,0 +1,15 @@ +package org.chorem.pollen.persistence.entity; + +import java.util.List; + +public class CommentTopiaDao extends AbstractCommentTopiaDao<Comment> { + + public List<Comment> findAll(Poll poll) { + + List<Comment> comments = forPollEquals(poll) + .setOrderByArguments(Comment.PROPERTY_TOPIA_CREATE_DATE) + .findAll(); + return comments; + + } +} diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java new file mode 100644 index 0000000..e6091e4 --- /dev/null +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteTopiaDao.java @@ -0,0 +1,16 @@ +package org.chorem.pollen.persistence.entity; + +import java.util.List; + +public class VoteTopiaDao extends AbstractVoteTopiaDao<Vote> { + + public List<Vote> findAll(Poll poll) { + + List<Vote> votes = forPollEquals(poll) + .setOrderByArguments(Vote.PROPERTY_TOPIA_CREATE_DATE) + .findAll(); + return votes; + + } + +} diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java index e5d99f2..ff99433 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java @@ -8,7 +8,6 @@ import org.chorem.pollen.persistence.entity.VoteToChoice; import org.chorem.pollen.persistence.entity.VoteToChoices; import java.util.ArrayList; -import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java index 719234f..1fa5876 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java @@ -52,7 +52,17 @@ public class ChoiceService extends PollenServiceSupport { Poll poll = getPollService().getPoll0(pollId); List<Choice> choices = getChoiceDao().findAll(poll); - return copyAsList(ChoiceBean.class, choices); + List<ChoiceBean> choiceBeans = copyAsList(ChoiceBean.class, choices); + + for (ChoiceBean choiceBean : choiceBeans) { + + if (isNotPermitted(PermissionVerb.editChoice, choiceBean.getId())) { + choiceBean.setPermission(null); + } + + } + + return choiceBeans; } @@ -64,8 +74,14 @@ public class ChoiceService extends PollenServiceSupport { Poll poll = getPollService().getPoll0(pollId); - Choice result = getChoice(poll, choiceId); - return copy(ChoiceBean.class, result); + Choice choice = getChoice(poll, choiceId); + ChoiceBean choiceBean = copy(ChoiceBean.class, choice); + + if (isNotPermitted(PermissionVerb.editChoice, choiceBean.getId())) { + choiceBean.setPermission(null); + } + + return choiceBean; } @@ -90,7 +106,8 @@ public class ChoiceService extends PollenServiceSupport { creator.setEmail(connectedUser.getEmail()); } - return copy(ChoiceBean.class, result); + ChoiceBean choiceBean = copy(ChoiceBean.class, result); + return choiceBean; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java index f20112b..3f5c930 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java @@ -23,6 +23,7 @@ package org.chorem.pollen.services.service; * #L% */ +import com.google.common.collect.ImmutableList; import org.chorem.pollen.persistence.entity.Comment; import org.chorem.pollen.persistence.entity.Poll; import org.chorem.pollen.persistence.entity.PollenPrincipal; @@ -45,8 +46,16 @@ public class CommentService extends PollenServiceSupport { checkNotNull(pollId); Poll poll = getPollService().getPoll0(pollId); - List<Comment> comments = getCommentDao().forPollEquals(poll).findAll(); - return copyAsList(CommentBean.class, comments); + List<Comment> comments = getCommentDao().findAll(poll); + List<CommentBean> commentBeans = copyAsList(CommentBean.class, comments); + + for (CommentBean commentBean : commentBeans) { + if (isNotPermitted(PermissionVerb.readComment, commentBean.getId())) { + commentBean.setPermission(null); + } + } + + return commentBeans; } @@ -58,8 +67,14 @@ public class CommentService extends PollenServiceSupport { Poll poll = getPollService().getPoll0(pollId); - Comment result = getComment(poll, commentId); - return copy(CommentBean.class, result); + Comment comment = getComment(poll, commentId); + CommentBean commentBean = copy(CommentBean.class, comment); + + if (isNotPermitted(PermissionVerb.readComment, commentBean.getId())) { + commentBean.setPermission(null); + } + + return commentBean; } @@ -102,7 +117,8 @@ public class CommentService extends PollenServiceSupport { getNotificationService().onCommentEdited(poll, result); - return copy(CommentBean.class, result); + CommentBean commentBean = copy(CommentBean.class, result); + return commentBean; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java index bb8fd68..66bd690 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java @@ -23,6 +23,8 @@ package org.chorem.pollen.services.service; * #L% */ +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; @@ -71,8 +73,9 @@ public class FavoriteListService extends PollenServiceSupport { checkIsConnected(); PollenUser user = getConnectedUser(); - List<FavoriteList> result = user.getFavoriteList(); - return copyAsList(FavoriteListBean.class, result); + List<FavoriteList> favoriteLists = user.getFavoriteList(); + List<FavoriteListBean> favoriteListBeans = copyAsList(FavoriteListBean.class, favoriteLists); + return favoriteListBeans; } @@ -83,8 +86,9 @@ public class FavoriteListService extends PollenServiceSupport { PollenUser user = getConnectedUser(); - FavoriteList result = getFavoriteList(user, favoriteListId); - return copy(FavoriteListBean.class, result); + FavoriteList favoriteList = getFavoriteList(user, favoriteListId); + FavoriteListBean favoriteListBean = copy(FavoriteListBean.class, favoriteList); + return favoriteListBean; } @@ -130,7 +134,8 @@ public class FavoriteListService extends PollenServiceSupport { getNotificationService().onFavoriteListEdited(user, result); - return copy(FavoriteListBean.class, result); + FavoriteListBean favoriteListBean = copy(FavoriteListBean.class, result); + return favoriteListBean; } @@ -159,8 +164,9 @@ public class FavoriteListService extends PollenServiceSupport { FavoriteList favoriteList = getFavoriteList(user, favoriteListId); - Set<FavoriteListMember> member = favoriteList.getMember(); - return copyAsSet(FavoriteListMemberBean.class, member); + Set<FavoriteListMember> members = favoriteList.getMember(); + Set<FavoriteListMemberBean> memberBeans = copyAsSet(FavoriteListMemberBean.class, members); + return memberBeans; } @@ -174,8 +180,9 @@ public class FavoriteListService extends PollenServiceSupport { FavoriteList favoriteList = getFavoriteList(user, favoriteListId); - FavoriteListMember result = getFavoriteListMember(favoriteList, memberId); - return copy(FavoriteListMemberBean.class, result); + FavoriteListMember member = getFavoriteListMember(favoriteList, memberId); + FavoriteListMemberBean memberBean = copy(FavoriteListMemberBean.class, member); + return memberBean; } @@ -225,7 +232,8 @@ public class FavoriteListService extends PollenServiceSupport { FavoriteListMember result = saveFavoriteListMember(favoriteList, member); commit(); - return copy(FavoriteListMemberBean.class, result); + FavoriteListMemberBean memberBean = copy(FavoriteListMemberBean.class, result); + return memberBean; } @@ -331,9 +339,6 @@ public class FavoriteListService extends PollenServiceSupport { reader.close(); - } catch (FileNotFoundException e) { - // should never happens ? - throw new PollenTechnicalException(e); } catch (IOException e) { // should never happens ? throw new PollenTechnicalException(e); @@ -439,6 +444,7 @@ public class FavoriteListService extends PollenServiceSupport { protected FavoriteList getFavoriteList(PollenUser user, String favoriteListId) { FavoriteList result = getFavoriteListDao().findByTopiaId(favoriteListId); + if (!user.containsFavoriteList(result)) { throw new InvalidEntityLinkException(PollenUser.PROPERTY_FAVORITE_LIST, user, result); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java index 08c1ada..f0ea7a1 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java @@ -23,7 +23,6 @@ package org.chorem.pollen.services.service; * #L% */ -import com.google.common.collect.ImmutableSet; import org.apache.commons.collections4.CollectionUtils; import org.chorem.pollen.persistence.entity.Choice; import org.chorem.pollen.persistence.entity.Poll; @@ -51,46 +50,50 @@ import static org.nuiton.i18n.I18n.l; */ public class PollService extends PollenServiceSupport { - public ImmutableSet<PollBean> getPolls() { + public Set<PollBean> getPolls() { checkIsConnected(); checkIsAdmin(); List<Poll> polls = getPollDao().findAll(); - return copyAsSet(PollBean.class, polls); + Set<PollBean> pollBeans = copyAsSet(PollBean.class, polls); + return pollBeans; } - public ImmutableSet<PollBean> getCreatedPolls() { + public Set<PollBean> getCreatedPolls() { checkIsConnected(); PollenUser connectedUser = getConnectedUser(); Set<Poll> polls = getPollDao().findAllCreated(connectedUser); - return copyAsSet(PollBean.class, polls); + Set<PollBean> pollBeans = copyAsSet(PollBean.class, polls); + return pollBeans; } - public ImmutableSet<PollBean> getInvitedPolls() { + public Set<PollBean> getInvitedPolls() { checkIsConnected(); PollenUser connectedUser = getConnectedUser(); Set<Poll> polls = getPollDao().findAllInvited(connectedUser); - return copyAsSet(PollBean.class, polls); + Set<PollBean> pollBeans = copyAsSet(PollBean.class, polls); + return pollBeans; } - public ImmutableSet<PollBean> getParticipatedPolls() { + public Set<PollBean> getParticipatedPolls() { checkIsConnected(); PollenUser connectedUser = getConnectedUser(); Set<Poll> polls = getPollDao().findAllParticipated(connectedUser); - return copyAsSet(PollBean.class, polls); + Set<PollBean> pollBeans = copyAsSet(PollBean.class, polls); + return pollBeans; } @@ -99,15 +102,16 @@ public class PollService extends PollenServiceSupport { checkNotNull(pollId); checkPermission(PermissionVerb.readPoll, pollId); - Poll result = getPoll0(pollId); - - if (isNotPermitted(PermissionVerb.editPoll, pollId)) { + Poll poll = getPoll0(pollId); + PollBean pollBean = copy(PollBean.class, poll); - // remove creator informations - result.setCreator(null); + if (isNotPermitted(PermissionVerb.editPoll, pollBean.getId())) { + pollBean.setPermission(null); + pollBean.setCreatorEmail(null); + pollBean.setCreatorName(null); } - return copy(PollBean.class, result); + return pollBean; } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java index 1995ab0..0921474 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java @@ -35,7 +35,6 @@ import org.chorem.pollen.services.bean.PollResultBean; */ public class VoteCountingService extends PollenServiceSupport { - //GET /poll/{pollId}/results public PollResultBean getResult(String pollId) { Preconditions.checkNotNull(pollId); Poll poll = getPollService().getPoll0(pollId); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java index f87e237..e9de3e1 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java @@ -53,9 +53,16 @@ public class VoteService extends PollenServiceSupport { checkNotNull(pollId); Poll poll = getPollService().getPoll0(pollId); - //FIXME Use a certain order - List<Vote> votes = getVoteDao().forPollEquals(poll).findAll(); - return copyAsList(VoteBean.class, votes); + List<Vote> votes = getVoteDao().findAll(poll); + List<VoteBean> voteBeans = copyAsList(VoteBean.class, votes); + for (VoteBean voteBean : voteBeans) { + + if (isNotPermitted(PermissionVerb.editVote, voteBean.getId())) { + voteBean.setPermission(null); + } + + } + return voteBeans; } @@ -67,7 +74,13 @@ public class VoteService extends PollenServiceSupport { Poll poll = getPollService().getPoll0(pollId); Vote result = getVote(poll, voteId); - return copy(VoteBean.class, result); + VoteBean voteBean = copy(VoteBean.class, result); + + if (isNotPermitted(PermissionVerb.editVote, voteBean.getId())) { + voteBean.setPermission(null); + } + + return voteBean; } @@ -111,7 +124,8 @@ public class VoteService extends PollenServiceSupport { getNotificationService().onVoteEdited(poll, result); - return copy(VoteBean.class, result); + VoteBean voteBean = copy(VoteBean.class, result); + return voteBean; } @@ -261,5 +275,6 @@ public class VoteService extends PollenServiceSupport { result.setVoteValue(source.getVoteValue()); return result; + } } -- To stop receiving notification emails like this one, please contact Chorem.org SCM administrator <admin+scm@chorem.org>.