This is an automated email from the git hooks/post-receive script. New commit to branch feature/april in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit c5fff77abda74f895a87e51b9f71ed4bf1f90d8d Author: jcouteau <couteau@codelutin.com> Date: Mon Oct 1 16:31:39 2018 +0200 refs #221 Vote associatif - Modification API Module persistence compile --- .../pollen/persistence/entity/ChoiceTopiaDao.java | 4 +-- .../pollen/persistence/entity/CommentTopiaDao.java | 7 ++++ .../pollen/persistence/entity/PollTopiaDao.java | 42 +++++++++++++++------- .../chorem/pollen/persistence/entity/Polls.java | 22 ++++++------ .../pollen/persistence/entity/VoteTopiaDao.java | 14 ++++---- 5 files changed, 56 insertions(+), 33 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 4c8a24a9..113e5a9f 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 @@ -25,9 +25,9 @@ import java.util.List; public class ChoiceTopiaDao extends AbstractChoiceTopiaDao<Choice> { - public List<Choice> findAll(Poll poll) { + public List<Choice> findAll(Question question) { - return forPollEquals(poll) + return forQuestionEquals(question) .setOrderByArguments(Choice.PROPERTY_CHOICE_ORDER) .findAll(); } 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 index 0e89028b..d01afebf 100644 --- 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 @@ -32,4 +32,11 @@ public class CommentTopiaDao extends AbstractCommentTopiaDao<Comment> { .findPage(paginationParameter); } + + public PaginationResult<Comment> find(Question question, PaginationParameter paginationParameter) { + + return forQuestionEquals(question) + .findPage(paginationParameter); + + } } diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java index 38cd4aee..05d64d45 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollTopiaDao.java @@ -100,7 +100,8 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { parameters.put("user", user); String hql = "FROM " + Vote.class.getName() + " as vote " - + " INNER JOIN vote." + Vote.PROPERTY_POLL + " as poll" + + " INNER JOIN vote." + Vote.PROPERTY_QUESTION + " as question" + + " INNER JOIN question." + Question.PROPERTY_POLL + " as poll" + " WHERE vote." + Vote.PROPERTY_VOTER + "." + PollenPrincipal.PROPERTY_POLLEN_USER + " = :user"; if (StringUtils.isNotBlank(search)) { hql += " AND " + DaoUtils.getSearchClause("poll", parameters, Poll.PROPERTY_TITLE, search); @@ -148,26 +149,41 @@ public class PollTopiaDao extends AbstractPollTopiaDao<Poll> { @Override public void delete(Poll entity) { + //get all questions + QuestionTopiaDao questionDao = topiaDaoSupplier + .getDao(Question.class, QuestionTopiaDao.class); + List<Question> questions = questionDao.forPollEquals(entity).findAll(); - { // --- remove choices --- // + for (Question question:questions) { + { // --- remove choices --- // - ChoiceTopiaDao dao = topiaDaoSupplier - .getDao(Choice.class, ChoiceTopiaDao.class); - List<Choice> list = dao.forPollEquals(entity).findAll(); - dao.deleteAll(list); + ChoiceTopiaDao dao = topiaDaoSupplier + .getDao(Choice.class, ChoiceTopiaDao.class); + List<Choice> list = dao.forQuestionEquals(question).findAll(); + dao.deleteAll(list); - } + } - { // --- remove votes --- // + { // --- remove votes --- // - VoteTopiaDao dao = topiaDaoSupplier - .getDao(Vote.class, VoteTopiaDao.class); - List<Vote> list = dao.forPollEquals(entity).findAll(); - dao.deleteAll(list); + VoteTopiaDao dao = topiaDaoSupplier + .getDao(Vote.class, VoteTopiaDao.class); + List<Vote> list = dao.forQuestionEquals(question).findAll(); + dao.deleteAll(list); + + } + + { // --- remove question comments -- // + + CommentTopiaDao dao = topiaDaoSupplier + .getDao(Comment.class, CommentTopiaDao.class); + List<Comment> list = dao.forPollEquals(entity).findAll(); + dao.deleteAll(list); + } } - { // --- remove comments -- // + { // --- remove poll comments -- // CommentTopiaDao dao = topiaDaoSupplier .getDao(Comment.class, CommentTopiaDao.class); diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java index 460057a8..3864939c 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/Polls.java @@ -59,22 +59,22 @@ public class Polls { return endDate != null && currentDate.after(endDate); } - public static boolean isAddChoiceStarted(Poll poll, Date currentDate) { - Date beginChoiceDate = poll.getBeginChoiceDate(); - return poll.isChoiceAddAllowed() && + public static boolean isAddChoiceStarted(Question question, Date currentDate) { + Date beginChoiceDate = question.getBeginChoiceDate(); + return question.isChoiceAddAllowed() && (beginChoiceDate == null || beginChoiceDate.before(currentDate)); } - public static boolean isAddChoiceRunning(Poll poll, Date currentDate) { - return poll.isChoiceAddAllowed() && - !isFinished(poll, currentDate) && - isAddChoiceStarted(poll, currentDate) && - !isAddChoiceFinished(poll, currentDate); + public static boolean isAddChoiceRunning(Question question, Date currentDate) { + return question.isChoiceAddAllowed() && + !isFinished(question.getPoll(), currentDate) && + isAddChoiceStarted(question, currentDate) && + !isAddChoiceFinished(question, currentDate); } - public static boolean isAddChoiceFinished(Poll poll, Date currentDate) { - Date endChoiceDate = poll.getEndChoiceDate(); - return !poll.isChoiceAddAllowed() || + public static boolean isAddChoiceFinished(Question question, Date currentDate) { + Date endChoiceDate = question.getEndChoiceDate(); + return !question.isChoiceAddAllowed() || (endChoiceDate != null && endChoiceDate.before(currentDate)); } } 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 index 7e946a4d..6a2e928c 100644 --- 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 @@ -32,9 +32,9 @@ public class VoteTopiaDao extends AbstractVoteTopiaDao<Vote> { public static final String ANONYMOUS_NAME = "?"; - public List<Vote> findAll(Poll poll) { + public List<Vote> findAll(Question question) { - return forPollEquals(poll) + return forQuestionEquals(question) .setOrderByArguments(Vote.PROPERTY_TOPIA_CREATE_DATE) .findAll(); } @@ -42,21 +42,21 @@ public class VoteTopiaDao extends AbstractVoteTopiaDao<Vote> { public long getVoteIndex(Vote vote) { HqlAndParametersBuilder<Vote> builder = newHqlAndParametersBuilder(); - builder.addEquals(Vote.PROPERTY_POLL, vote.getPoll()); + builder.addEquals(Vote.PROPERTY_QUESTION, vote.getQuestion()); builder.addLowerOrEquals(Vote.PROPERTY_TOPIA_CREATE_DATE, vote.getTopiaCreateDate()); builder.setSelectClause("select count(" + Vote.PROPERTY_TOPIA_ID + ")"); return count(builder.getHql(), builder.getHqlParameters()); } - public List<Vote> findAllSince(Poll poll, Date since) { + public List<Vote> findAllSince(Question question, Date since) { if (since == null) { - return findAll(poll); + return findAll(question); } return forHql("FROM " + Vote.class.getCanonicalName() +" v" + - " WHERE v." + Vote.PROPERTY_POLL + " = :" + Vote.PROPERTY_POLL + + " WHERE v." + Vote.PROPERTY_QUESTION + " = :" + Vote.PROPERTY_QUESTION + " AND v." + Vote.PROPERTY_TOPIA_CREATE_DATE + " >= :" + Vote.PROPERTY_TOPIA_CREATE_DATE + " ORDER BY v." + Vote.PROPERTY_TOPIA_CREATE_DATE, - Vote.PROPERTY_POLL, poll, + Vote.PROPERTY_QUESTION, question, Vote.PROPERTY_TOPIA_CREATE_DATE, since).findAll(); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.