Pollen-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 3196 discussions
r3546 - trunk/pollen-persistence/src/main/java/org/chorem/pollen
by tchemit@users.chorem.org 25 Jun '12
by tchemit@users.chorem.org 25 Jun '12
25 Jun '12
Author: tchemit
Date: 2012-06-25 19:28:57 +0200 (Mon, 25 Jun 2012)
New Revision: 3546
Url: http://chorem.org/repositories/revision/pollen/3546
Log:
remove empty package
Removed:
trunk/pollen-persistence/src/main/java/org/chorem/pollen/entities/
1
0
r3545 - in trunk/pollen-persistence/src: main/java/org/chorem/pollen/business/persistence test/java/org/chorem/pollen/business/persistence
by tchemit@users.chorem.org 25 Jun '12
by tchemit@users.chorem.org 25 Jun '12
25 Jun '12
Author: tchemit
Date: 2012-06-25 19:27:47 +0200 (Mon, 25 Jun 2012)
New Revision: 3545
Url: http://chorem.org/repositories/revision/pollen/3545
Log:
replace TopiaQuery and simple hql code (to add tests of DAO)
Added:
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/CommentDAOImplTest.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonListDAOImplTest.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonToListDAOImplTest.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOImplTest.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollDAOImplTest.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/UserAccountDAOImplTest.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/VoteDAOImplTest.java
Removed:
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOTest.java
Modified:
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/CommentDAOImpl.java
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonListDAOImpl.java
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonToListDAOImpl.java
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/UserAccountDAOImpl.java
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/VoteDAOImpl.java
trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/AbstractDAOTest.java
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/CommentDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/CommentDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/CommentDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -23,8 +23,8 @@
package org.chorem.pollen.business.persistence;
import com.google.common.base.Preconditions;
+import org.chorem.pollen.PollenIOUtil;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import java.util.List;
@@ -37,17 +37,25 @@
Preconditions.checkNotNull(pager);
Preconditions.checkNotNull(pollId);
- TopiaQuery countQuery = createQuery("e").
- addFrom(Poll.class, "p").
- addWhere("p." + Poll.PROPERTY_POLL_ID, TopiaQuery.Op.EQ, pollId).
- addWhere("e in elements(p." + Poll.PROPERTY_COMMENT + ")");
- long records = countByQuery(countQuery);
- pager.setRecords((int) records);
+ String countHql = "SELECT COUNT(e) FROM CommentImpl e, PollImpl p WHERE p.pollId = :pollId AND e IN ELEMENTS(p.comment)";
+ PollenIOUtil.computeAndAddRecordsToPager(getContext(), countHql, pager,
+ "pollId", pollId);
- TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(countQuery,
- pager);
- List<E> result = findAllByQuery(query);
+ String hql = "SELECT e FROM CommentImpl e, PollImpl p WHERE p.pollId = :pollId AND e IN ELEMENTS(p.comment)";
+ List<E> result = PollenIOUtil.findByPager(getContext(), hql, pager,
+ "pollId", pollId);
return result;
+// TopiaQuery countQuery = createQuery("e").
+// addFrom(Poll.class, "p").
+// addWhere("p." + Poll.PROPERTY_POLL_ID, TopiaQuery.Op.EQ, pollId).
+// addWhere("e in elements(p." + Poll.PROPERTY_COMMENT + ")");
+// long records = countByQuery(countQuery);
+// pager.setRecords((int) records);
+//
+// TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(countQuery,
+// pager);
+// List<E> result = findAllByQuery(query);
+// return result;
}
@@ -55,13 +63,16 @@
Preconditions.checkNotNull(pollId);
- TopiaQuery query = createQuery("e").
- addFrom(Poll.class, "p").
- addWhere("p." + Poll.PROPERTY_POLL_ID, TopiaQuery.Op.EQ, pollId).
- addWhere("e in elements(p." + Poll.PROPERTY_COMMENT + ")");
- query.addOrderDesc(Comment.PROPERTY_POST_DATE);
- List<E> result = findAllByQuery(query);
+ String hql = "SELECT e FROM CommentImpl e, PollImpl p WHERE p.pollId = :pollId AND e IN ELEMENTS(p.comment)";
+ List<E> result = getContext().findAll(hql, "pollId", pollId);
return result;
+// TopiaQuery query = createQuery("e").
+// addFrom(Poll.class, "p").
+// addWhere("p." + Poll.PROPERTY_POLL_ID, TopiaQuery.Op.EQ, pollId).
+// addWhere("e in elements(p." + Poll.PROPERTY_COMMENT + ")");
+// query.addOrderDesc(Comment.PROPERTY_POST_DATE);
+// List<E> result = findAllByQuery(query);
+// return result;
}
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonListDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonListDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonListDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -24,8 +24,8 @@
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
+import org.chorem.pollen.PollenIOUtil;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import java.util.List;
@@ -36,31 +36,42 @@
TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(user);
+ Preconditions.checkNotNull(pager);
- TopiaQuery countQuery = createQuery("e");
- countQuery.addWhere("e." + PersonList.PROPERTY_OWNER, TopiaQuery.Op.EQ, user);
- long records = countByQuery(countQuery);
+ String countHql = "SELECT COUNT(*) FROM PersonListImpl WHERE owner = :owner";
+ PollenIOUtil.computeAndAddRecordsToPager(getContext(), countHql, pager,
+ "owner", user);
- pager.setRecords((int) records);
-
- TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(countQuery, pager);
-
- List<E> result = findAllByQuery(query);
+ String hql = "FROM PersonListImpl e WHERE e.owner = :owner";
+ List<E> result = PollenIOUtil.findByPager(getContext(), hql, pager,
+ "owner", user);
return result;
+// TopiaQuery countQuery = createQuery("e");
+// countQuery.addWhere("e." + PersonList.PROPERTY_OWNER, TopiaQuery.Op.EQ, user);
+// long records = countByQuery(countQuery);
+//
+// pager.setRecords((int) records);
+//
+// TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(countQuery, pager);
+//
+// List<E> result = findAllByQuery(query);
+// return result;
}
public List<E> getFavoriteLists(UserAccount user) throws TopiaException {
Preconditions.checkNotNull(user);
-
- TopiaQuery query = createQuery("e");
- query.addWhere("e." + PersonList.PROPERTY_OWNER, TopiaQuery.Op.EQ, user);
- List<E> result = findAllByQuery(query);
+ String hql = "FROM PersonListImpl WHERE owner = :owner";
+ List<E> result = getContext().findAll(hql, "owner", user);
return result;
-
+// TopiaQuery query = createQuery("e");
+// query.addWhere("e." + PersonList.PROPERTY_OWNER, TopiaQuery.Op.EQ, user);
+// List<E> result = findAllByQuery(query);
+// return result;
}
- public boolean isPersonListExist(UserAccount user, String name) throws TopiaException {
+ public boolean isPersonListExist(UserAccount user,
+ String name) throws TopiaException {
Preconditions.checkNotNull(user);
Preconditions.checkNotNull(name);
@@ -68,16 +79,18 @@
// can't accept favorite list without name
Preconditions.checkArgument(StringUtils.isNotEmpty(name));
-
// check list does not already exists
- TopiaQuery query = createQuery("e");
-
- query.addWhere("e." + PersonList.PROPERTY_OWNER, TopiaQuery.Op.EQ, user);
- query.addWhere("e." + PersonList.PROPERTY_NAME, TopiaQuery.Op.EQ, name);
-
- boolean exist = existByQuery(query);
- return exist;
+ String hql = "SELECT COUNT(*) FROM PersonListImpl WHERE owner = :owner AND name = :name";
+ long count = (Long) getContext().findUnique(hql, "owner", user, "name", name);
+ return count > 0;
+// TopiaQuery query = createQuery("e");
+//
+// query.addWhere("e." + PersonList.PROPERTY_OWNER, TopiaQuery.Op.EQ, user);
+// query.addWhere("e." + PersonList.PROPERTY_NAME, TopiaQuery.Op.EQ, name);
+//
+// boolean exist = existByQuery(query);
+// return exist;
}
} //PersonListDAOImpl<E extends PersonList>
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonToListDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonToListDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonToListDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -22,35 +22,29 @@
*/
package org.chorem.pollen.business.persistence;
-import java.util.List;
-
/**
* Created: 28/03/12
*
* @author fdesbois <desbois(a)codelutin.com>
- * $Id$
+ * @author tchemit <cheit(a)codelutin.com>
+ * @since 1.3
*/
public class PersonToListDAOImpl<E extends PersonToList> extends PersonToListDAOAbstract<E> {
public PersonToList findByPollAndAccount(Poll poll, PollAccount account) {
-// TopiaQuery query = createQuery("e")
-// .addFrom(Poll.class, "p")
-// .addFrom(VotingList.class, "v")
-// .addEquals("p", poll)
-// .addInElements("v", "p." + Poll.PROPERTY_VOTING_LIST)
-// .addWhere("e." + PersonToList.PROPERTY_VOTING_LIST + " = v." + VotingList.PROPERTY_POLL_ACCOUNT_PERSON_TO_LIST)
-// .addEquals("e." + PersonToList.PROPERTY_POLL_ACCOUNT, account);
+ PersonToList result = null;
+ if (!poll.isVotingListEmpty()) {
+ for (VotingList votingList : poll.getVotingList()) {
+ result = votingList.getPollAccountPersonToList(account);
+ if (result != null) {
- PersonToList result;
- List<VotingList> votingLists = poll.getVotingList();
- for (VotingList votingList : votingLists) {
- result = votingList.getPollAccountPersonToList(account);
- if (result != null) {
- return result;
+ // personToList found
+ break;
+ }
}
}
- return null;
+ return result;
}
-
+
}
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -34,17 +34,15 @@
public E getRestrictedPollAccount(String pollId,
String accountId) throws TopiaException {
-// List<PersonToList> tmp = transaction.find(
-// "FROM " + PersonToList.class.getName() +
-// " WHERE pollAccount.accountId = :accountUId" +
-// " AND votingList.poll.pollId = :pollUId",
-// "accountUId", accountId,
-// "pollUId", pollId);
+ Preconditions.checkNotNull(pollId);
+ Preconditions.checkNotNull(accountId);
TopiaQuery query = new TopiaQuery(PersonToList.class, "p").
+ addFrom(Poll.class, "poll").
setSelect("p." + PersonToList.PROPERTY_POLL_ACCOUNT).
+ addWhere("poll." + Poll.PROPERTY_POLL_ID, TopiaQuery.Op.EQ, pollId).
addWhere("p." + PersonToList.PROPERTY_POLL_ACCOUNT + "." + PollAccount.PROPERTY_ACCOUNT_ID, TopiaQuery.Op.EQ, accountId).
- addWhere("p." + PersonToList.PROPERTY_VOTING_LIST + "." + VotingList.PROPERTY_POLL + "." + Poll.PROPERTY_POLL_ID, TopiaQuery.Op.EQ, pollId);
+ addInElements("p", "poll." + Poll.PROPERTY_VOTING_LIST + "." + VotingList.PROPERTY_POLL_ACCOUNT_PERSON_TO_LIST);
E result = findByQuery(query);
return result;
}
@@ -55,7 +53,6 @@
Preconditions.checkNotNull(favoriteList);
Preconditions.checkNotNull(pager);
-
int records = favoriteList.sizePollAccount();
pager.setRecords(records);
@@ -89,13 +86,13 @@
boolean result = existByQuery(query);
return result;
}
-
+
public PollAccount findByPollVoteUser(Poll poll,
UserAccount user) throws TopiaException {
-
+
Preconditions.checkNotNull(poll);
Preconditions.checkNotNull(user);
-
+
TopiaQuery query = createQuery("e")
.addFrom(Poll.class, "p")
.addFrom(Vote.class, "v")
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -26,109 +26,135 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.tuple.Pair;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.chorem.pollen.PollenFunctions;
-import org.chorem.pollen.entities.PollenDAOHelper;
+import org.chorem.pollen.PollenIOUtil;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import java.util.Date;
import java.util.List;
import java.util.Map;
public class PollDAOImpl<E extends Poll> extends PollDAOAbstract<E> {
- /** Logger. */
- private static final Log log = LogFactory.getLog(PollDAOImpl.class);
+ public List<E> getPolls(
+ TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
- public List<E> getPolls(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
-
Preconditions.checkNotNull(pager);
- long records = count();
- pager.setRecords((int) records);
-
- TopiaQuery query = createQuery("e");
- TopiaFilterPagerUtil.addPagerToQuery(query, pager);
-
- List<E> result = findAllByQuery(query);
+ String countHql = "SELECT COUNT(*) FROM PollImpl";
+ PollenIOUtil.computeAndAddRecordsToPager(getContext(), countHql, pager);
+ String hql = "FROM PollImpl";
+ List<E> result = PollenIOUtil.findByPager(getContext(), hql, pager);
return result;
+// long records = count();
+// pager.setRecords((int) records);
+//
+// TopiaQuery query = createQuery("e");
+// TopiaFilterPagerUtil.addPagerToQuery(query, pager);
+//
+// List<E> result = findAllByQuery(query);
+// return result;
}
-
public List<E> getCreatedPolls(TopiaFilterPagerUtil.FilterPagerBean pager,
UserAccount user) throws TopiaException {
Preconditions.checkNotNull(pager);
Preconditions.checkNotNull(user);
- TopiaQuery countQuery = createQuery("e");
- countQuery.addWhere("e." + Poll.PROPERTY_CREATOR + "." + PollAccount.PROPERTY_USER_ACCOUNT, TopiaQuery.Op.EQ, user);
- long records = countByQuery(countQuery);
- pager.setRecords((int) records);
+ String countHql = "SELECT COUNT(*) FROM PollImpl " +
+ "WHERE creator.userAccount = :user";
+ PollenIOUtil.computeAndAddRecordsToPager(getContext(), countHql, pager,
+ "user", user);
+ String hql = "FROM PollImpl WHERE creator.userAccount = :user";
+ List<E> result = PollenIOUtil.findByPager(getContext(), hql, pager,
+ "user", user);
+ return result;
- TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(countQuery, pager);
-
- List<E> result = findAllByQuery(query);
- return result;
+// TopiaQuery countQuery = createQuery("e");
+// countQuery.addWhere("e." + Poll.PROPERTY_CREATOR + "." +
+// PollAccount.PROPERTY_USER_ACCOUNT,
+// TopiaQuery.Op.EQ, user);
+// long records = countByQuery(countQuery);
+// pager.setRecords((int) records);
+//
+// TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(countQuery, pager);
+//
+// List<E> result = findAllByQuery(query);
+// return result;
}
public List<Pair<Poll, PollAccount>> getInvitedPolls(
TopiaFilterPagerUtil.FilterPagerBean pager,
- UserAccount userToUse) throws TopiaException {
+ UserAccount user) throws TopiaException {
Preconditions.checkNotNull(pager);
- Preconditions.checkNotNull(userToUse);
+ Preconditions.checkNotNull(user);
- String email = userToUse.getEmail();
-
- TopiaQuery query = createQuery("p").
- setSelect("p", "l." + PersonToList.PROPERTY_POLL_ACCOUNT).
- addLeftJoin("p." + Poll.PROPERTY_VOTING_LIST, "v", false).
- addLeftJoin("v." + VotingList.PROPERTY_POLL_ACCOUNT_PERSON_TO_LIST, "l", false).
- addEquals("l." + PersonToList.PROPERTY_POLL_ACCOUNT
- + "." + PollAccount.PROPERTY_EMAIL, email);
-
+ String hql = "SELECT p, l.pollAccount FROM PollImpl p, " +
+ "LEFT JOIN p.votingList v, " +
+ "LEFT JOIN v.pollAccountPersonToList l " +
+ "WHERE l.pollAccount.email = :email";
List<Pair<Poll, PollAccount>> result = findAllWithPollAccounts(
- query, pager);
+ hql, pager, "email", user.getEmail());
return result;
+
+// String email = user.getEmail();
+//
+// TopiaQuery query = createQuery("p").
+// setSelect("p", "l." + PersonToList.PROPERTY_POLL_ACCOUNT).
+// addLeftJoin("p." + Poll.PROPERTY_VOTING_LIST, "v", false).
+// addLeftJoin("v." + VotingList.PROPERTY_POLL_ACCOUNT_PERSON_TO_LIST, "l", false).
+// addEquals("l." + PersonToList.PROPERTY_POLL_ACCOUNT
+// + "." + PollAccount.PROPERTY_EMAIL, email);
+//
+// List<Pair<Poll, PollAccount>> result = findAllWithPollAccounts(
+// query, pager);
+// return result;
}
public List<Pair<Poll, PollAccount>> getParticipatedPolls(
TopiaFilterPagerUtil.FilterPagerBean pager,
- UserAccount userToUse) throws TopiaException {
+ UserAccount user) throws TopiaException {
Preconditions.checkNotNull(pager);
- Preconditions.checkNotNull(userToUse);
+ Preconditions.checkNotNull(user);
- VoteDAO voteDao = PollenDAOHelper.getVoteDAO(context);
-
- TopiaQuery query = voteDao.createQuery("e").
- addFrom(Poll.class, "p").
- addWhere("e in elements(p." + Poll.PROPERTY_VOTE + ")").
- setSelect("p", "e." + Vote.PROPERTY_POLL_ACCOUNT).
- addWhere("e." + Vote.PROPERTY_POLL_ACCOUNT + "." +
- PollAccount.PROPERTY_USER_ACCOUNT,
- TopiaQuery.Op.EQ, userToUse);
-
+ String hql = "SELECT p, v.pollAccount FROM VoteImpl v, PollImpl p " +
+ "WHERE v IN ELEMENTS(p.vote) " +
+ "AND v.pollAccount.userAccount = :user";
List<Pair<Poll, PollAccount>> result = findAllWithPollAccounts(
- query, pager);
+ hql, pager, "user", user);
return result;
+
+// VoteDAO voteDao = PollenDAOHelper.getVoteDAO(context);
+//
+// TopiaQuery query = voteDao.createQuery("e").
+// addFrom(Poll.class, "p").
+// addWhere("e in elements(p." + Poll.PROPERTY_VOTE + ")").
+// setSelect("p", "e." + Vote.PROPERTY_POLL_ACCOUNT).
+// addWhere("e." + Vote.PROPERTY_POLL_ACCOUNT + "." +
+// PollAccount.PROPERTY_USER_ACCOUNT,
+// TopiaQuery.Op.EQ, user);
+//
+// List<Pair<Poll, PollAccount>> result = findAllWithPollAccounts(
+// query, pager);
+// return result;
}
- protected List<Pair<Poll, PollAccount>> findAllWithPollAccounts(TopiaQuery query,
- TopiaFilterPagerUtil.FilterPagerBean pager)
+ protected List<Pair<Poll, PollAccount>> findAllWithPollAccounts(
+ String hql,
+ TopiaFilterPagerUtil.FilterPagerBean pager, Object... params)
throws TopiaException {
- List<Object[]> queryResults = getContext().findByQuery(query);
+ List<Object[]> queryResults = getContext().findAll(hql, params);
Map<Poll, PollAccount> mapResult = Maps.newLinkedHashMap();
for (Object[] row : queryResults) {
Poll poll = (Poll) row[0];
PollAccount pollAccount = (PollAccount) row[1];
mapResult.put(poll, pollAccount);
}
-
long records = mapResult.size();
pager.setRecords((int) records);
TopiaFilterPagerUtil.computeRecordIndexesAndPagesNumber(pager);
@@ -140,40 +166,55 @@
return result;
}
- public List<E> getRunningPolls(boolean withEndDate) throws TopiaException {
+// protected List<Pair<Poll, PollAccount>> findAllWithPollAccounts(
+// TopiaQuery query,
+// TopiaFilterPagerUtil.FilterPagerBean pager)
+// throws TopiaException {
+//
+// List<Object[]> queryResults = getContext().findByQuery(query);
+// Map<Poll, PollAccount> mapResult = Maps.newLinkedHashMap();
+// for (Object[] row : queryResults) {
+// Poll poll = (Poll) row[0];
+// PollAccount pollAccount = (PollAccount) row[1];
+// mapResult.put(poll, pollAccount);
+// }
+//
+// long records = mapResult.size();
+// pager.setRecords((int) records);
+// TopiaFilterPagerUtil.computeRecordIndexesAndPagesNumber(pager);
+// List<Map.Entry<Poll, PollAccount>> entries =
+// Lists.newLinkedList(mapResult.entrySet());
+// List<Pair<Poll, PollAccount>> result =
+// Lists.transform(TopiaFilterPagerUtil.getPageFromList(entries, pager),
+// PollenFunctions.MAP_ENTRY_TO_PAIR_FUNCTION);
+// return result;
+// }
- List<E> results;
- TopiaQuery query;
+ public List<E> getRunningPolls(Date currentTime) throws TopiaException {
- if (withEndDate) {
-
- query = createQuery("poll").
- addWhere("poll.endDate is not null and poll.endDate > current_timestamp()").
- addWhere("poll.beginDate is null or poll.beginDate < current_timestamp()");
-
-// results = transaction
-// .find("from "
-// + Poll.class.getName()
-// + " as poll where (poll.endDate is not null and poll.endDate > current_timestamp())"
-// + " and (poll.beginDate is null or poll.beginDate < current_timestamp())");
- } else {
- query = createQuery("poll").
- addWhere("poll.endDate is null or poll.endDate > current_timestamp()").
- addWhere("poll.beginDate is null or poll.beginDate < current_timestamp()");
-
-// results = transaction
-// .find("from "
-// + Poll.class.getName()
-// + " as poll where (poll.endDate is null or poll.endDate > current_timestamp())"
-// + " and (poll.beginDate is null or poll.beginDate < current_timestamp())");
- }
-
- results = findAllByQuery(query);
-
- if (log.isDebugEnabled()) {
- log.debug("Entities found: "
- + ((results == null) ? "null" : results.size()));
- }
+ String hql = "FROM PollImpl WHERE (endDate IS NULL OR endDate > :currentTime) AND (beginDate IS NULL OR beginDate < :currentTime)";
+ List<E> results = getContext().findAll(hql, "currentTime", currentTime);
return results;
+// List<E> results;
+// TopiaQuery query;
+//
+// if (withEndDate) {
+//
+// query = createQuery("poll").
+// addWhere("poll.endDate is not null and poll.endDate > current_timestamp()").
+// addWhere("poll.beginDate is null or poll.beginDate < current_timestamp()");
+// } else {
+// query = createQuery("poll").
+// addWhere("poll.endDate is null or poll.endDate > current_timestamp()").
+// addWhere("poll.beginDate is null or poll.beginDate < current_timestamp()");
+// }
+//
+// results = findAllByQuery(query);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Entities found: "
+// + ((results == null) ? "null" : results.size()));
+// }
+// return results;
}
} //PollDAOImpl<E extends Poll>
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/UserAccountDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/UserAccountDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/UserAccountDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -24,8 +24,8 @@
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
+import org.chorem.pollen.PollenIOUtil;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import java.util.List;
@@ -39,28 +39,40 @@
// In case of email change, check if an other user has not already
// the new email
// FIXME-fdesbois-20100510 : replace by using id directly
- TopiaQuery query = createQuery().
- addWhere(UserAccount.PROPERTY_LOGIN,
- TopiaQuery.Op.NEQ, user.getLogin());
- query.addEquals(UserAccount.PROPERTY_EMAIL,
- StringUtils.lowerCase(user.getEmail()));
-
- // existing user found
- boolean result = existByQuery(query);
- return result;
+ String hql = "SELECT COUNT(*) FROM UserAccountImpl WHERE login = :login AND email = :email";
+ long count = (Long) getContext().findUnique(
+ hql,
+ "login", user.getLogin(),
+ "email", StringUtils.lowerCase(user.getEmail()));
+ return count > 0;
+// TopiaQuery query = createQuery().
+// addWhere(UserAccount.PROPERTY_LOGIN,
+// TopiaQuery.Op.NEQ, user.getLogin()).
+// addEquals(UserAccount.PROPERTY_EMAIL,
+// StringUtils.lowerCase(user.getEmail()));
+//
+// // existing user found
+// boolean result = existByQuery(query);
+// return result;
}
public List<E> getUsers(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(pager);
- long records = count();
- pager.setRecords((int) records);
+ String countHql = "SELECT COUNT(*) FROM UserAccountImpl";
+ PollenIOUtil.computeAndAddRecordsToPager(getContext(), countHql, pager);
- TopiaQuery query = createQuery("e");
- TopiaFilterPagerUtil.addPagerToQuery(query, pager);
-
- List<E> result = findAllByQuery(query);
+ String hql = "FROM UserAccountImpl";
+ List<E> result = PollenIOUtil.findByPager(getContext(), hql, pager);
return result;
+// long records = count();
+// pager.setRecords((int) records);
+//
+// TopiaQuery query = createQuery("e");
+// TopiaFilterPagerUtil.addPagerToQuery(query, pager);
+//
+// List<E> result = findAllByQuery(query);
+// return result;
}
} //UserAccountDAOImpl<E extends UserAccount>
Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/VoteDAOImpl.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/VoteDAOImpl.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/VoteDAOImpl.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -24,19 +24,14 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenIOUtil;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import java.util.List;
public class VoteDAOImpl<E extends Vote> extends VoteDAOAbstract<E> {
- /** Logger. */
- private static final Log log = LogFactory.getLog(VoteDAOImpl.class);
-
public List<E> getAllVotes(Poll poll) throws TopiaException {
Preconditions.checkNotNull(poll);
@@ -48,25 +43,15 @@
results = Lists.newArrayList();
} else {
- // FIXME-FD20100309 : change model to suppress link from poll to vote
- // It's not necessary to have votes when retrieving the poll, this
- // method do this job only when it's needed
+ String hql = "SELECT e FROM VoteImpl e, PollImpl p WHERE p = :p AND e IN ELEMENTS(p.vote) ORDER BY e.topiaCreateDate DESC";
+ results = getContext().findAll(hql, "p", poll);
-// if (log.isDebugEnabled()) {
-// log.debug("Load votes for poll with uid = " + poll.getPollId());
-// log.debug("LIMIT : startIndex = " + startIndex + " _ " +
-// "endIndex = " + endIndex);
-// }
-
- // FIXME : refactor this to use TopiaQuery from ToPIA 2.3
- // Order the results by creation date (the last vote done will be
- // at the end of the list)
- TopiaQuery query = createQuery("e").
- addFrom(Poll.class, "p").
- addWhere("p", TopiaQuery.Op.EQ, poll).
- addWhere("e in elements (p." + Poll.PROPERTY_VOTE + ")").
- addOrder("e.topiaCreateDate DESC");
- results = findAllByQuery(query);
+// TopiaQuery query = createQuery("e").
+// addFrom(Poll.class, "p").
+// addWhere("p", TopiaQuery.Op.EQ, poll).
+// addInElements("e", "p." + Poll.PROPERTY_VOTE).
+// addOrder("e.topiaCreateDate DESC");
+// results = findAllByQuery(query);
}
return results;
}
@@ -85,26 +70,29 @@
results = Lists.newArrayList();
} else {
- // FIXME-FD20100309 : change model to suppress link from poll to vote
- // It's not necessary to have votes when retrieving the poll, this
- // method do this job only when it's needed
+ String countHql = "SELECT COUNT(e) FROM VoteImpl e, PollImpl p WHERE p = :p AND e IN ELEMENTS(p.vote)";
-// if (log.isDebugEnabled()) {
-// log.debug("Load votes for poll with uid = " + poll.getPollId());
-// log.debug("LIMIT : startIndex = " + startIndex + " _ " +
-// "endIndex = " + endIndex);
-// }
+ PollenIOUtil.computeAndAddRecordsToPager(getContext(),
+ countHql, pager,
+ "p", poll);
- // FIXME : refactor this to use TopiaQuery from ToPIA 2.3
- // Order the results by creation date (the last vote done will be
- // at the end of the list)
- TopiaQuery query = createQuery("e").
- addFrom(Poll.class, "p").
- addWhere("p", TopiaQuery.Op.EQ, poll).
- addWhere("e in elements (p." + Poll.PROPERTY_VOTE + ")").
- addOrder("e.topiaCreateDate");
- TopiaFilterPagerUtil.addPagerToQuery(query, pager);
- results = findAllByQuery(query);
+ String hql = "SELECT e FROM VoteImpl e, PollImpl p WHERE p = :p AND e IN ELEMENTS(p.vote) ORDER BY e.topiaCreateDate DESC";
+
+
+ results = PollenIOUtil.findByPager(getContext(), hql, pager,
+ "p", poll);
+
+// TopiaQuery countQuery = createQuery("e").
+// addFrom(Poll.class, "p").
+// addWhere("p", TopiaQuery.Op.EQ, poll).
+// addInElements("e", "p." + Poll.PROPERTY_VOTE).
+// addOrder("e.topiaCreateDate");
+// long records = countByQuery(countQuery);
+// pager.setRecords((int) records);
+//
+// TopiaQuery query = TopiaFilterPagerUtil.addPagerToQuery(
+// countQuery, pager);
+// results = findAllByQuery(query);
}
return results;
}
@@ -112,24 +100,28 @@
public boolean hasAlreadyVoted(Poll poll, String votingId) throws TopiaException {
// Test using a count(*) on votes
- TopiaQuery query = createQuery("e").
- addFrom(Poll.class, "p").
- addWhere("p", TopiaQuery.Op.EQ, poll).
- addWhere("e in elements(p." + Poll.PROPERTY_VOTE + ")").
- addWhere("e.pollAccount.votingId", TopiaQuery.Op.EQ, votingId).
- addOrder("e.topiaCreateDate");
- boolean result = existByQuery(query);
- return result;
+ String hql = "SELECT COUNT(*) FROM VoteImpl e, PollImpl p WHERE p = :p AND e in elements(p.vote) AND e.pollAccount.votingId = :v";
+ Long nb = (Long) getContext().findUnique(hql, "p", poll, "v", votingId);
+ return nb == 1;
+// TopiaQuery query = createQuery("e").
+// addFrom(Poll.class, "p").
+// addWhere("p", TopiaQuery.Op.EQ, poll).
+// addInElements("e", "p." + Poll.PROPERTY_VOTE).
+// addWhere("e." + Vote.PROPERTY_POLL_ACCOUNT + "." + PollAccount.PROPERTY_VOTING_ID, TopiaQuery.Op.EQ, votingId);
+// boolean result = existByQuery(query);
+// return result;
}
public Vote findByAccountId(String accountId) throws TopiaException {
- String accountIdProperty =
- TopiaQuery.getProperty("e", Vote.PROPERTY_POLL_ACCOUNT, PollAccount.PROPERTY_ACCOUNT_ID);
-
- TopiaQuery query = createQuery("e").addEquals(accountIdProperty, accountId);
- Vote result = findByQuery(query);
+ String hql = "FROM VoteImpl e WHERE e.pollAccount.accountId = :a";
+ Vote result = (Vote) getContext().findUnique(hql, "a", accountId);
return result;
+// String accountIdProperty =
+// TopiaQuery.getProperty("e", Vote.PROPERTY_POLL_ACCOUNT, PollAccount.PROPERTY_ACCOUNT_ID);
+// TopiaQuery query = createQuery("e").addEquals(accountIdProperty, accountId);
+// Vote result = findByQuery(query);
+// return result;
}
Modified: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/AbstractDAOTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/AbstractDAOTest.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/AbstractDAOTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -25,7 +25,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.chorem.pollen.PollenIOUtil;
-import org.chorem.pollen.PollenConfiguration;
import org.chorem.pollen.PollenTopiaRootContextFactory;
import org.junit.Rule;
import org.junit.rules.TestWatcher;
@@ -36,7 +35,6 @@
import org.nuiton.topia.framework.TopiaContextImplementor;
import java.io.File;
-import java.util.Properties;
/**
* Base test for daos.
@@ -49,7 +47,7 @@
/** Logger. */
private static final Log log = LogFactory.getLog(AbstractDAOTest.class);
- public static final String CONFIGURATION_PATH = "pollen-fake.properties";
+ public static final String CONFIGURATION_PATH = "db.properties";
public static final long TIMESTAMP = System.nanoTime();
@@ -64,10 +62,6 @@
return db.beginTransaction();
}
- public PollenConfiguration getConfiguration() {
- return getDb().getConfiguration();
- }
-
/**
* A new database created for each test.
*
@@ -80,12 +74,6 @@
private TopiaContext rootCtxt;
- private PollenConfiguration configuration;
-
- public PollenConfiguration getConfiguration() {
- return configuration;
- }
-
@Override
protected void starting(Description description) {
@@ -99,10 +87,10 @@
testBasedir,
"/" + CONFIGURATION_PATH
);
-
- Properties props = new Properties();
- props.put("testDirectory", testBasedir.getAbsolutePath());
- configuration = new PollenConfiguration(CONFIGURATION_PATH, props);
+ if (log.isInfoEnabled()) {
+ log.info("Starts db " +
+ ((TopiaContextImplementor) rootCtxt).getConfig().get(TopiaContextFactory.CONFIG_URL));
+ }
}
@Override
@@ -111,9 +99,9 @@
TopiaContextImplementor rootContext =
((TopiaContextImplementor) rootCtxt).getRootContext();
- if (log.isInfoEnabled()) {
- log.info("release database " +
- rootContext.getConfig().get(TopiaContextFactory.CONFIG_URL));
+ if (log.isDebugEnabled()) {
+ log.debug("release db " +
+ rootContext.getConfig().get(TopiaContextFactory.CONFIG_URL));
}
try {
if (rootContext != null && !rootContext.isClosed()) {
Added: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/CommentDAOImplTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/CommentDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/CommentDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,104 @@
+package org.chorem.pollen.business.persistence;
+
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+
+import java.util.List;
+
+/**
+ * Tests the {@link CommentDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.5
+ */
+public class CommentDAOImplTest extends AbstractDAOTest {
+
+ @Test
+ public void getComments() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ CommentDAO dao = PollenDAOHelper.getCommentDAO(tx);
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+ String pollId1 = "pollId1";
+ Poll poll = pollDAO.create(Poll.PROPERTY_POLL_ID, pollId1);
+ for (int i = 0; i < 9; i++) {
+ poll.addComment(dao.create(Comment.PROPERTY_TEXT, "comment" + i));
+ }
+ tx.commitTransaction();
+
+ List<Comment> actual;
+ TopiaFilterPagerUtil.FilterPagerBean pager;
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Comment.PROPERTY_TEXT);
+ pager.setSortAscendant(true);
+ actual = dao.getComments(pager, pollId1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("comment" + i, actual.get(i).getText());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setPageIndex(2);
+ pager.setSortColumn(Comment.PROPERTY_TEXT);
+ pager.setSortAscendant(true);
+ actual = dao.getComments(pager, pollId1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(4, actual.size());
+ for (int i = 0; i < 4; i++) {
+ Assert.assertEquals("comment" + (5 + i), actual.get(i).getText());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Comment.PROPERTY_TEXT);
+ pager.setSortAscendant(false);
+ actual = dao.getComments(pager, pollId1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("comment" + (8 - i), actual.get(i).getText());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Comment.PROPERTY_TEXT);
+ pager.setSortAscendant(false);
+ actual = dao.getComments(pager, pollId1 + "-");
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+
+ @Test
+ public void getAllComments() throws Exception {
+
+
+ TopiaContext tx = beginTransaction();
+ CommentDAO dao = PollenDAOHelper.getCommentDAO(tx);
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+ String pollId1 = "pollId1";
+ Poll poll = pollDAO.create(Poll.PROPERTY_POLL_ID, pollId1);
+ for (int i = 0; i < 9; i++) {
+
+ Comment comment = dao.create();
+ poll.addComment(comment);
+ }
+
+ tx.commitTransaction();
+
+ List<Comment> actual;
+ actual = dao.getAllComments(pollId1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(9, actual.size());
+
+ actual = dao.getAllComments(pollId1 + "-");
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+}
Added: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonListDAOImplTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonListDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonListDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,140 @@
+package org.chorem.pollen.business.persistence;
+
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+
+import java.util.List;
+
+/**
+ * Tests the {@link PersonListDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.5
+ */
+public class PersonListDAOImplTest extends AbstractDAOTest {
+
+ @Test
+ public void getAllFavoriteLists() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PersonListDAO dao = PollenDAOHelper.getPersonListDAO(tx);
+ UserAccountDAO userDao = PollenDAOHelper.getUserAccountDAO(tx);
+
+ UserAccount userAccount1 = userDao.create(UserAccount.PROPERTY_LOGIN, "login1");
+ UserAccount userAccount2 = userDao.create(UserAccount.PROPERTY_LOGIN, "login2");
+
+ for (int i = 0; i < 9; i++) {
+
+ PersonList personList = dao.create(PersonList.PROPERTY_NAME, "name" + i);
+ userAccount1.addFavoriteList(personList);
+ }
+
+ tx.commitTransaction();
+
+ List<PersonList> actual;
+ actual = dao.getFavoriteLists(userAccount1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(9, actual.size());
+
+ actual = dao.getFavoriteLists(userAccount2);
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+
+ @Test
+ public void getFavoriteLists() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PersonListDAO dao = PollenDAOHelper.getPersonListDAO(tx);
+ UserAccountDAO userDao = PollenDAOHelper.getUserAccountDAO(tx);
+
+ UserAccount userAccount1 = userDao.create(UserAccount.PROPERTY_LOGIN, "login1");
+ UserAccount userAccount2 = userDao.create(UserAccount.PROPERTY_LOGIN, "login2");
+
+ for (int i = 0; i < 9; i++) {
+
+ PersonList personList = dao.create(PersonList.PROPERTY_NAME, "name" + i);
+ userAccount1.addFavoriteList(personList);
+ }
+
+ tx.commitTransaction();
+
+ List<PersonList> actual;
+ TopiaFilterPagerUtil.FilterPagerBean pager;
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(PersonList.PROPERTY_NAME);
+ pager.setSortAscendant(true);
+
+ actual = dao.getFavoriteLists(userAccount1, pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("name" + i, actual.get(i).getName());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setPageIndex(2);
+ pager.setSortColumn(PersonList.PROPERTY_NAME);
+ pager.setSortAscendant(true);
+ actual = dao.getFavoriteLists(userAccount1, pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(4, actual.size());
+ for (int i = 0; i < 4; i++) {
+ Assert.assertEquals("name" + (5 + i), actual.get(i).getName());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(PersonList.PROPERTY_NAME);
+ pager.setSortAscendant(false);
+ actual = dao.getFavoriteLists(userAccount1, pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("name" + (8 - i), actual.get(i).getName());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(PersonList.PROPERTY_NAME);
+ pager.setSortAscendant(false);
+
+ actual = dao.getFavoriteLists(userAccount2, pager);
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+
+ @Test
+ public void isPersonListExist() throws Exception {
+ TopiaContext tx = beginTransaction();
+ PersonListDAO dao = PollenDAOHelper.getPersonListDAO(tx);
+ UserAccountDAO userDao = PollenDAOHelper.getUserAccountDAO(tx);
+
+ UserAccount userAccount1 = userDao.create(UserAccount.PROPERTY_LOGIN, "login1");
+ UserAccount userAccount2 = userDao.create(UserAccount.PROPERTY_LOGIN, "login2");
+
+ for (int i = 0; i < 9; i++) {
+
+ PersonList personList = dao.create(PersonList.PROPERTY_NAME, "name" + i);
+ userAccount1.addFavoriteList(personList);
+ }
+
+ tx.commitTransaction();
+
+ boolean actual;
+ actual = dao.isPersonListExist(userAccount1, "name1");
+ Assert.assertTrue(actual);
+
+ actual = dao.isPersonListExist(userAccount1, "name-");
+ Assert.assertFalse(actual);
+
+ actual = dao.isPersonListExist(userAccount2, "name1");
+ Assert.assertFalse(actual);
+ }
+}
Added: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonToListDAOImplTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonToListDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonToListDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,79 @@
+package org.chorem.pollen.business.persistence;
+
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+
+/**
+ * Tests the {@link PersonToListDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.5
+ */
+public class PersonToListDAOImplTest extends AbstractDAOTest {
+
+ @Test
+ public void findByPollAndAccount() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PersonToListDAO dao = PollenDAOHelper.getPersonToListDAO(tx);
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+ PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
+ VotingListDAO votingListDAO = PollenDAOHelper.getVotingListDAO(tx);
+
+ Poll poll1 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId1");
+ Poll poll2 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId2");
+ Poll poll3 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId3");
+
+ PollAccount pollAccount1 = pollAccountDAO.create(PollAccount.PROPERTY_VOTING_ID, "votingId1");
+ PollAccount pollAccount2 = pollAccountDAO.create(PollAccount.PROPERTY_VOTING_ID, "votingId2");
+ PollAccount pollAccount3 = pollAccountDAO.create(PollAccount.PROPERTY_VOTING_ID, "votingId3");
+
+ VotingList votingList1 = votingListDAO.create(VotingList.PROPERTY_NAME, "votingList1");
+ poll1.addVotingList(votingList1);
+ VotingList votingList2 = votingListDAO.create(VotingList.PROPERTY_NAME, "votingList2");
+ poll2.addVotingList(votingList2);
+
+ PersonToList personToList1 = dao.create(PersonToList.PROPERTY_POLL_ACCOUNT, pollAccount1);
+ votingList1.addPollAccountPersonToList(personToList1);
+
+ PersonToList personToList2 = dao.create(PersonToList.PROPERTY_POLL_ACCOUNT, pollAccount2);
+ votingList1.addPollAccountPersonToList(personToList2);
+
+ PersonToList personToList3 = dao.create(PersonToList.PROPERTY_POLL_ACCOUNT, pollAccount3);
+ votingList2.addPollAccountPersonToList(personToList3);
+
+ PersonToList actual;
+
+ actual = dao.findByPollAndAccount(poll1, pollAccount1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(personToList1, actual);
+
+ actual = dao.findByPollAndAccount(poll1, pollAccount2);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(personToList2, actual);
+
+ actual = dao.findByPollAndAccount(poll1, pollAccount3);
+ Assert.assertNull(actual);
+
+ actual = dao.findByPollAndAccount(poll2, pollAccount1);
+ Assert.assertNull(actual);
+
+ actual = dao.findByPollAndAccount(poll2, pollAccount2);
+ Assert.assertNull(actual);
+
+ actual = dao.findByPollAndAccount(poll2, pollAccount3);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(personToList3, actual);
+
+ actual = dao.findByPollAndAccount(poll3, pollAccount1);
+ Assert.assertNull(actual);
+
+ actual = dao.findByPollAndAccount(poll3, pollAccount2);
+ Assert.assertNull(actual);
+
+ actual = dao.findByPollAndAccount(poll3, pollAccount3);
+ Assert.assertNull(actual);
+ }
+}
Copied: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOImplTest.java (from rev 3544, trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOTest.java)
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,151 @@
+/*
+ * #%L
+ * Pollen :: Persistence
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.pollen.business.persistence;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+/**
+ * Test the {@link PollAccountDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.3
+ */
+public class PollAccountDAOImplTest extends AbstractDAOTest {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(PollAccountDAOImplTest.class);
+
+ @Test
+ public void getRestrictedPollAccount() throws Exception {
+ TopiaContext tx = beginTransaction();
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+ PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
+ VotingListDAO votingListDAO = PollenDAOHelper.getVotingListDAO(tx);
+ PersonToListDAO personToListDAO = PollenDAOHelper.getPersonToListDAO(tx);
+
+ String pollId = "pollId";
+ String accountId = "accountId";
+ String accountId2 = "accountId2";
+ String accountId3 = "accountId3";
+
+ PollAccount pollAccount = pollAccountDAO.create(
+ PollAccount.PROPERTY_ACCOUNT_ID, accountId);
+
+ PollAccount pollAccount2 = pollAccountDAO.create(
+ PollAccount.PROPERTY_ACCOUNT_ID, accountId2);
+ PollAccount pollAccount3 = pollAccountDAO.create(
+ PollAccount.PROPERTY_ACCOUNT_ID, accountId3);
+
+ Poll poll = pollDAO.create(Poll.PROPERTY_POLL_ID, pollId);
+
+ VotingList votingList = votingListDAO.create();
+ poll.addVotingList(votingList);
+ VotingList votingList2 = votingListDAO.create();
+ poll.addVotingList(votingList2);
+
+ PersonToList personToList = personToListDAO.create(
+ PersonToList.PROPERTY_POLL_ACCOUNT, pollAccount,
+ PersonToList.PROPERTY_VOTING_LIST, votingList
+ );
+
+ PersonToList personToList2 = personToListDAO.create(
+ PersonToList.PROPERTY_POLL_ACCOUNT, pollAccount2,
+ PersonToList.PROPERTY_VOTING_LIST, votingList
+ );
+ PersonToList personToList3 = personToListDAO.create(
+ PersonToList.PROPERTY_POLL_ACCOUNT, pollAccount3,
+ PersonToList.PROPERTY_VOTING_LIST, votingList2
+ );
+
+ pollAccount.addVotingListPersonToList(personToList);
+ pollAccount2.addVotingListPersonToList(personToList2);
+ pollAccount3.addVotingListPersonToList(personToList3);
+
+ PollAccount restrictedPollAccount =
+ pollAccountDAO.getRestrictedPollAccount(pollId, accountId);
+
+ Assert.assertNotNull(restrictedPollAccount);
+ Assert.assertEquals(accountId, restrictedPollAccount.getAccountId());
+ Assert.assertNotNull(restrictedPollAccount.getVotingListPersonToList());
+ Assert.assertTrue(restrictedPollAccount.getVotingListPersonToList().contains(personToList));
+
+ PollAccount restrictedPollAccount2 =
+ pollAccountDAO.getRestrictedPollAccount(pollId, accountId2);
+
+ Assert.assertNotNull(restrictedPollAccount2);
+ Assert.assertEquals(accountId2, restrictedPollAccount2.getAccountId());
+ Assert.assertNotNull(restrictedPollAccount2.getVotingListPersonToList());
+ Assert.assertFalse(restrictedPollAccount2.getVotingListPersonToList().contains(personToList));
+ Assert.assertTrue(restrictedPollAccount2.getVotingListPersonToList().contains(personToList2));
+
+ PollAccount restrictedPollAccount3 =
+ pollAccountDAO.getRestrictedPollAccount(pollId, accountId3);
+
+ Assert.assertNotNull(restrictedPollAccount3);
+ Assert.assertEquals(accountId3, restrictedPollAccount3.getAccountId());
+ Assert.assertNotNull(restrictedPollAccount3.getVotingListPersonToList());
+ Assert.assertFalse(restrictedPollAccount3.getVotingListPersonToList().contains(personToList));
+ Assert.assertTrue(restrictedPollAccount3.getVotingListPersonToList().contains(personToList3));
+
+ PollAccount restrictedPollAccount4 =
+ pollAccountDAO.getRestrictedPollAccount(pollId, System.nanoTime() + "--");
+
+ Assert.assertNull(restrictedPollAccount4);
+ }
+
+ @Test
+ public void getFavoriteListUsers() throws TopiaException {
+ if (log.isInfoEnabled()) {
+ log.info("TODO");
+ }
+ }
+
+ @Test
+ public void isPollAccountExists() throws TopiaException {
+ if (log.isInfoEnabled()) {
+ log.info("TODO");
+ }
+ }
+
+ @Test
+ public void findByPollVoteUser() throws TopiaException {
+ if (log.isInfoEnabled()) {
+ log.info("TODO");
+ }
+ }
+
+ @Test
+ public void existsByPollVoteAccountId() throws TopiaException {
+ if (log.isInfoEnabled()) {
+ log.info("TODO");
+ }
+ }
+}
Property changes on: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOImplTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOTest.java 2012-06-20 14:08:36 UTC (rev 3544)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollAccountDAOTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -1,89 +0,0 @@
-/*
- * #%L
- * Pollen :: Persistence
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2012 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package org.chorem.pollen.business.persistence;
-
-import org.chorem.pollen.entities.PollenDAOHelper;
-import org.junit.Assert;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-
-/**
- * Test the {@link PollAccountDAO}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.3
- */
-public class PollAccountDAOTest extends AbstractDAOTest {
-
- @Test
- public void getRestrictedPollAccount() throws Exception {
- TopiaContext tx = beginTransaction();
-
- PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
-
- String pollId = "pollId";
- String accountId = "accountId";
-
- PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
- PollAccount pollAccount = pollAccountDAO.newInstance();
- pollAccount.setAccountId(accountId);
- pollAccount = pollAccountDAO.create(pollAccount);
-
- Poll poll = pollDAO.newInstance();
- poll.setPollId(pollId);
- poll = pollDAO.create(poll);
-
-
- VotingListDAO votingListDAO = PollenDAOHelper.getVotingListDAO(tx);
-
- VotingList votingList = votingListDAO.newInstance();
-
- votingList.setPoll(poll);
- votingList = votingListDAO.create(votingList);
-
-
- PersonToListDAO personToListDAO = PollenDAOHelper.getPersonToListDAO(tx);
-
- PersonToList personToList = personToListDAO.newInstance();
- personToList.setPollAccount(pollAccount);
- personToList.setVotingList(votingList);
- personToList.setPollAccount(pollAccount);
-
- personToList = personToListDAO.create(personToList);
-
- poll.addVotingList(votingList);
- pollAccount.addVotingListPersonToList(personToList);
-
- pollDAO.update(poll);
- pollAccountDAO.update(pollAccount);
-
-
- PollAccount restrictedPollAccount =
- pollAccountDAO.getRestrictedPollAccount(pollId, accountId);
-
- Assert.assertNotNull(restrictedPollAccount);
- Assert.assertEquals(accountId, restrictedPollAccount.getAccountId());
- Assert.assertNotNull(restrictedPollAccount.getVotingListPersonToList());
- Assert.assertTrue(restrictedPollAccount.getVotingListPersonToList().contains(personToList));
- }
-}
Added: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollDAOImplTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,272 @@
+package org.chorem.pollen.business.persistence;
+
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.util.DateUtil;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Tests the {@link PollDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.5
+ */
+public class PollDAOImplTest extends AbstractDAOTest {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PollDAOImplTest.class);
+
+ @Test
+ public void getPolls() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PollDAO dao = PollenDAOHelper.getPollDAO(tx);
+
+ for (int i = 0; i < 9; i++) {
+ dao.create(Poll.PROPERTY_POLL_ID, "pollId" + i,
+ Poll.PROPERTY_TITLE, "title" + i);
+ }
+
+ tx.commitTransaction();
+
+ List<Poll> actual;
+ TopiaFilterPagerUtil.FilterPagerBean pager;
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(true);
+ actual = dao.getPolls(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("title" + i, actual.get(i).getTitle());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setPageIndex(2);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(true);
+ actual = dao.getPolls(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(4, actual.size());
+ for (int i = 0; i < 4; i++) {
+ Assert.assertEquals("title" + (5 + i), actual.get(i).getTitle());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(false);
+ actual = dao.getPolls(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("title" + (8 - i), actual.get(i).getTitle());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setPageIndex(3);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(false);
+ actual = dao.getPolls(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+
+ }
+
+ @Test
+ public void getCreatedPolls() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PollDAO dao = PollenDAOHelper.getPollDAO(tx);
+ PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
+ UserAccountDAO userAccountDAO = PollenDAOHelper.getUserAccountDAO(tx);
+ UserAccount userAccount1 = userAccountDAO.create(UserAccount.PROPERTY_LOGIN, "login1");
+ UserAccount userAccount2 = userAccountDAO.create(UserAccount.PROPERTY_LOGIN, "login2");
+
+ for (int i = 0; i < 9; i++) {
+ PollAccount creator = pollAccountDAO.create(
+ PollAccount.PROPERTY_USER_ACCOUNT, userAccount1);
+ dao.create(Poll.PROPERTY_POLL_ID, "pollId" + i,
+ Poll.PROPERTY_TITLE, "title" + i,
+ Poll.PROPERTY_CREATOR, creator);
+ }
+
+ tx.commitTransaction();
+
+ List<Poll> actual;
+ TopiaFilterPagerUtil.FilterPagerBean pager;
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(true);
+ actual = dao.getCreatedPolls(pager, userAccount1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("title" + i, actual.get(i).getTitle());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setPageIndex(2);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(true);
+ actual = dao.getCreatedPolls(pager, userAccount1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(4, actual.size());
+ for (int i = 0; i < 4; i++) {
+ Assert.assertEquals("title" + (5 + i), actual.get(i).getTitle());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(false);
+ actual = dao.getCreatedPolls(pager, userAccount1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("title" + (8 - i), actual.get(i).getTitle());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(Poll.PROPERTY_TITLE);
+ pager.setSortAscendant(false);
+ actual = dao.getCreatedPolls(pager, userAccount2);
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+
+ }
+
+ @Test
+ public void getInvitedPolls() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PollDAO dao = PollenDAOHelper.getPollDAO(tx);
+ if (log.isInfoEnabled()) {
+ log.info("TODO");
+ }
+ }
+
+ @Test
+ public void getParticipatedPolls() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PollDAO dao = PollenDAOHelper.getPollDAO(tx);
+ VoteDAO voteDao = PollenDAOHelper.getVoteDAO(tx);
+ PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
+ UserAccountDAO userAccountDAO = PollenDAOHelper.getUserAccountDAO(tx);
+
+ Poll poll0 = dao.create(Poll.PROPERTY_POLL_ID, "pollId0");
+ Poll poll1 = dao.create(Poll.PROPERTY_POLL_ID, "pollId1");
+
+ UserAccount userAccount1 = userAccountDAO.create(UserAccount.PROPERTY_LOGIN, "login1");
+ UserAccount userAccount2 = userAccountDAO.create(UserAccount.PROPERTY_LOGIN, "login2");
+ PollAccount pollAccount1 = pollAccountDAO.create(PollAccount.PROPERTY_ACCOUNT_ID, "accountId1", PollAccount.PROPERTY_USER_ACCOUNT, userAccount1);
+ PollAccount pollAccount2 = pollAccountDAO.create(PollAccount.PROPERTY_ACCOUNT_ID, "accountId2", PollAccount.PROPERTY_USER_ACCOUNT, userAccount2);
+
+ Vote vote1 = voteDao.create(Vote.PROPERTY_POLL_ACCOUNT, pollAccount1);
+ poll0.addVote(vote1);
+
+ Vote vote2 = voteDao.create(Vote.PROPERTY_POLL_ACCOUNT, pollAccount1);
+ poll1.addVote(vote2);
+
+
+ tx.commitTransaction();
+
+ TopiaFilterPagerUtil.FilterPagerBean pager;
+ List<Pair<Poll, PollAccount>> actual;
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+
+ actual = dao.getParticipatedPolls(pager, userAccount1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(2, actual.size());
+ Assert.assertEquals(poll0, actual.get(0).getLeft());
+ Assert.assertEquals(pollAccount1, actual.get(0).getRight());
+ Assert.assertEquals(poll1, actual.get(1).getLeft());
+ Assert.assertEquals(pollAccount1, actual.get(1).getRight());
+
+ actual = dao.getParticipatedPolls(pager, userAccount2);
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+
+ @Test
+ public void getRunningPolls() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+ PollDAO dao = PollenDAOHelper.getPollDAO(tx);
+
+ Date now = DateUtil.createDate(5, 6, 2010);
+ Date lastYearNow = DateUtil.createDate(5, 6, 2009);
+ Date nextMonthNow = DateUtil.createDate(5, 7, 2010);
+ Date nextYearNow = DateUtil.createDate(5, 6, 2011);
+
+ Poll poll0 = dao.create(Poll.PROPERTY_POLL_ID, "pollId0");
+ Poll poll1 = dao.create(Poll.PROPERTY_POLL_ID, "pollId1", Poll.PROPERTY_BEGIN_DATE, DateUtil.createDate(1, 5, 2010));
+ Poll poll2 = dao.create(Poll.PROPERTY_POLL_ID, "pollId2", Poll.PROPERTY_BEGIN_DATE, DateUtil.createDate(1, 7, 2010));
+ Poll poll3 = dao.create(Poll.PROPERTY_POLL_ID, "pollId3",
+ Poll.PROPERTY_BEGIN_DATE, DateUtil.createDate(1, 5, 2010),
+ Poll.PROPERTY_END_DATE, DateUtil.createDate(1, 10, 2010)
+ );
+ Poll poll4 = dao.create(Poll.PROPERTY_POLL_ID, "pollId4",
+ Poll.PROPERTY_BEGIN_DATE, DateUtil.createDate(1, 5, 2010),
+ Poll.PROPERTY_END_DATE, DateUtil.createDate(1, 7, 2010)
+ );
+ Poll poll5 = dao.create(Poll.PROPERTY_POLL_ID, "pollId5",
+ Poll.PROPERTY_END_DATE, DateUtil.createDate(1, 8, 2010)
+ );
+
+ tx.commitTransaction();
+
+ List<Poll> actual;
+
+ actual = dao.getRunningPolls(now);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ Assert.assertEquals(poll0, actual.get(0));
+ Assert.assertEquals(poll1, actual.get(1));
+ Assert.assertEquals(poll3, actual.get(2));
+ Assert.assertEquals(poll4, actual.get(3));
+ Assert.assertEquals(poll5, actual.get(4));
+
+
+ actual = dao.getRunningPolls(lastYearNow);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(2, actual.size());
+ Assert.assertEquals(poll0, actual.get(0));
+ Assert.assertEquals(poll5, actual.get(1));
+
+ actual = dao.getRunningPolls(nextMonthNow);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ Assert.assertEquals(poll0, actual.get(0));
+ Assert.assertEquals(poll1, actual.get(1));
+ Assert.assertEquals(poll2, actual.get(2));
+ Assert.assertEquals(poll3, actual.get(3));
+ Assert.assertEquals(poll5, actual.get(4));
+
+ actual = dao.getRunningPolls(nextYearNow);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(3, actual.size());
+ Assert.assertEquals(poll0, actual.get(0));
+ Assert.assertEquals(poll1, actual.get(1));
+ Assert.assertEquals(poll2, actual.get(2));
+ }
+}
Added: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/UserAccountDAOImplTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/UserAccountDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/UserAccountDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,110 @@
+package org.chorem.pollen.business.persistence;
+
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+
+import java.util.List;
+
+/**
+ * Tests the {@link UserAccountDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.5
+ */
+public class UserAccountDAOImplTest extends AbstractDAOTest {
+
+ @Test
+ public void isUserExist() throws Exception {
+ TopiaContext tx = beginTransaction();
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(tx);
+
+ for (int i = 0; i < 20; i++) {
+ dao.create(UserAccount.PROPERTY_LOGIN, "login" + i, UserAccount.PROPERTY_EMAIL, "email" + i);
+ }
+
+ tx.commitTransaction();
+
+ boolean actual;
+ UserAccount userAccount;
+ userAccount = dao.newInstance();
+ userAccount.setLogin("login1");
+ userAccount.setEmail("email1");
+ actual = dao.isUserExist(userAccount);
+ Assert.assertTrue(actual);
+
+ userAccount = dao.newInstance();
+ userAccount.setLogin("login1");
+ userAccount.setEmail("Email1");
+ actual = dao.isUserExist(userAccount);
+ Assert.assertTrue(actual);
+
+ userAccount = dao.newInstance();
+ userAccount.setLogin("Login1");
+ userAccount.setEmail("email1");
+ actual = dao.isUserExist(userAccount);
+ Assert.assertFalse(actual);
+
+ userAccount = dao.newInstance();
+ userAccount.setLogin("login1");
+ userAccount.setEmail("email111");
+ actual = dao.isUserExist(userAccount);
+ Assert.assertFalse(actual);
+ }
+
+ @Test
+ public void getUsers() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+
+ UserAccountDAO dao = PollenDAOHelper.getUserAccountDAO(tx);
+
+ for (int i = 0; i < 9; i++) {
+ dao.create(UserAccount.PROPERTY_LOGIN, "login" + i, UserAccount.PROPERTY_EMAIL, "email" + i);
+ }
+
+ tx.commitTransaction();
+
+ TopiaFilterPagerUtil.FilterPagerBean pager;
+ List<UserAccount> actual;
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(UserAccount.PROPERTY_LOGIN);
+ pager.setSortAscendant(true);
+ actual = dao.getUsers(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("login" + i, actual.get(i).getLogin());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setPageIndex(2);
+ pager.setSortColumn(UserAccount.PROPERTY_LOGIN);
+ pager.setSortAscendant(true);
+ actual = dao.getUsers(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(4, actual.size());
+ for (int i = 0; i < 4; i++) {
+ Assert.assertEquals("login" + (5 + i), actual.get(i).getLogin());
+ }
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(5);
+ pager.setSortColumn(UserAccount.PROPERTY_LOGIN);
+ pager.setSortAscendant(false);
+ actual = dao.getUsers(pager);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(5, actual.size());
+ for (int i = 0; i < 5; i++) {
+ Assert.assertEquals("login" + (8 - i), actual.get(i).getLogin());
+ }
+
+
+ }
+}
Added: trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/VoteDAOImplTest.java
===================================================================
--- trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/VoteDAOImplTest.java (rev 0)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/VoteDAOImplTest.java 2012-06-25 17:27:47 UTC (rev 3545)
@@ -0,0 +1,191 @@
+package org.chorem.pollen.business.persistence;
+
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.util.DateUtil;
+
+import java.util.List;
+
+/**
+ * Tests the {@link VoteDAOImpl}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.5
+ */
+public class VoteDAOImplTest extends AbstractDAOTest {
+
+ @Test
+ public void getAllVotes() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(tx);
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+
+ Poll poll1 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId1");
+ Poll poll2 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId2",
+ Poll.PROPERTY_ANONYMOUS, true);
+
+ Vote vote1 = voteDAO.create();
+ vote1.setTopiaCreateDate(DateUtil.createDate(0, 0, 0, 1, 1, 2010));
+ poll1.addVote(vote1);
+ Vote vote2 = voteDAO.create();
+ vote2.setTopiaCreateDate(DateUtil.createDate(10, 0, 0, 1, 1, 2010));
+ poll1.addVote(vote2);
+
+ Vote vote3 = voteDAO.create();
+ poll2.addVote(vote3);
+
+ tx.commitTransaction();
+
+ List<Vote> actual;
+
+ actual = voteDAO.getAllVotes(poll1);
+
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(2, actual.size());
+ Assert.assertEquals(vote2, actual.get(0));
+ Assert.assertEquals(vote1, actual.get(1));
+ Assert.assertFalse(actual.contains(vote3));
+
+ actual = voteDAO.getAllVotes(poll2);
+
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+
+ @Test
+ public void getVotesByPoll() throws Exception {
+
+
+ TopiaContext tx = beginTransaction();
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(tx);
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+
+ Poll poll1 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId1");
+ Poll poll2 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId2",
+ Poll.PROPERTY_ANONYMOUS, true);
+
+ Vote vote1 = voteDAO.create();
+ vote1.setTopiaCreateDate(DateUtil.createDate(0, 0, 0, 1, 1, 2010));
+ poll1.addVote(vote1);
+ Vote vote2 = voteDAO.create();
+ vote2.setTopiaCreateDate(DateUtil.createDate(10, 0, 0, 1, 1, 2010));
+ poll1.addVote(vote2);
+
+ Vote vote3 = voteDAO.create();
+ poll2.addVote(vote3);
+
+ tx.commitTransaction();
+
+ List<Vote> actual;
+ TopiaFilterPagerUtil.FilterPagerBean pager =
+ TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(10);
+ actual = voteDAO.getVotesByPoll(poll1, pager);
+
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(2, actual.size());
+ Assert.assertEquals(vote2, actual.get(0));
+ Assert.assertEquals(vote1, actual.get(1));
+ Assert.assertFalse(actual.contains(vote3));
+
+ pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager.setPageSize(10);
+ actual = voteDAO.getVotesByPoll(poll2, pager);
+
+ Assert.assertNotNull(actual);
+ Assert.assertTrue(actual.isEmpty());
+ }
+
+ @Test
+ public void hasAlreadyVoted() throws Exception {
+
+
+ TopiaContext tx = beginTransaction();
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(tx);
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+ PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
+
+ Poll poll1 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId1");
+ Poll poll2 = pollDAO.create(Poll.PROPERTY_POLL_ID, "pollId2",
+ Poll.PROPERTY_ANONYMOUS, true);
+
+ String votingId1 = "votingId1";
+ String votingId2 = "votingId2";
+
+ PollAccount pollAccount1 = pollAccountDAO.create(
+ PollAccount.PROPERTY_VOTING_ID, votingId1);
+
+ PollAccount pollAccount2 = pollAccountDAO.create(
+ PollAccount.PROPERTY_VOTING_ID, votingId2);
+ Vote vote1 = voteDAO.create(Vote.PROPERTY_POLL_ACCOUNT, pollAccount1);
+ poll1.addVote(vote1);
+ Vote vote2 = voteDAO.create();
+ poll1.addVote(vote2);
+ Vote vote3 = voteDAO.create(Vote.PROPERTY_POLL_ACCOUNT, pollAccount2);
+ poll2.addVote(vote3);
+
+ tx.commitTransaction();
+
+ boolean actual;
+ actual = voteDAO.hasAlreadyVoted(poll1, votingId1);
+ Assert.assertTrue(actual);
+ actual = voteDAO.hasAlreadyVoted(poll2, votingId1);
+ Assert.assertFalse(actual);
+
+ actual = voteDAO.hasAlreadyVoted(poll1, votingId2);
+ Assert.assertFalse(actual);
+ actual = voteDAO.hasAlreadyVoted(poll2, votingId2);
+ Assert.assertTrue(actual);
+ }
+
+ @Test
+ public void findByAccountId() throws Exception {
+
+ TopiaContext tx = beginTransaction();
+
+ VoteDAO voteDAO = PollenDAOHelper.getVoteDAO(tx);
+ PollAccountDAO pollAccountDAO = PollenDAOHelper.getPollAccountDAO(tx);
+
+ String accountId1 = "accountId1";
+ PollAccount pollAccount1 = pollAccountDAO.create(PollAccount.PROPERTY_ACCOUNT_ID, accountId1);
+ String accountId2 = "accountId2";
+ PollAccount pollAccount2 = pollAccountDAO.create(PollAccount.PROPERTY_ACCOUNT_ID, accountId2);
+
+ tx.commitTransaction();
+
+ Vote actual;
+ actual = voteDAO.findByAccountId(accountId1);
+ Assert.assertNull(actual);
+ actual = voteDAO.findByAccountId(accountId2);
+ Assert.assertNull(actual);
+
+ // attach accountId1 to vote1
+
+ Vote vote1 = voteDAO.create(Vote.PROPERTY_POLL_ACCOUNT, pollAccount1);
+
+ tx.commitTransaction();
+
+ actual = voteDAO.findByAccountId(accountId1);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(vote1, actual);
+ actual = voteDAO.findByAccountId(accountId2);
+ Assert.assertNull(actual);
+
+ // attach accountId2 to vote2
+ Vote vote2 = voteDAO.create(Vote.PROPERTY_POLL_ACCOUNT, pollAccount2);
+ tx.commitTransaction();
+
+ actual = voteDAO.findByAccountId(accountId2);
+ Assert.assertNotNull(actual);
+ Assert.assertEquals(vote2, actual);
+
+
+ }
+}
1
0
Author: tchemit
Date: 2012-06-20 16:08:36 +0200 (Wed, 20 Jun 2012)
New Revision: 3544
Url: http://chorem.org/repositories/revision/pollen/3544
Log:
update to mavenpom 3.3.4 + add deploy files
Modified:
trunk/pollen-ui-struts2/pom.xml
trunk/pom.xml
Modified: trunk/pollen-ui-struts2/pom.xml
===================================================================
--- trunk/pollen-ui-struts2/pom.xml 2012-06-20 10:56:10 UTC (rev 3543)
+++ trunk/pollen-ui-struts2/pom.xml 2012-06-20 14:08:36 UTC (rev 3544)
@@ -246,6 +246,8 @@
target/${project.build.finalName}-bin.zip
</redmine.releaseFiles>
+ <deployFiles>target/${project.build.finalName}.war</deployFiles>
+
<defaultWebContextPath>pollen</defaultWebContextPath>
<defaultSiteUrl>http://localhost:8080/${defaultWebContextPath}</defaultSiteUrl>
<defaultLogDir>${basedir}/target</defaultLogDir>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-06-20 10:56:10 UTC (rev 3543)
+++ trunk/pom.xml 2012-06-20 14:08:36 UTC (rev 3544)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>3.3.3</version>
+ <version>3.3.4-SNAPSHOT</version>
</parent>
<groupId>org.chorem</groupId>
1
0
r3543 - in trunk/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll resources/i18n webapp/WEB-INF/jsp/poll
by tchemit@users.chorem.org 20 Jun '12
by tchemit@users.chorem.org 20 Jun '12
20 Jun '12
Author: tchemit
Date: 2012-06-20 12:56:10 +0200 (Wed, 20 Jun 2012)
New Revision: 3543
Url: http://chorem.org/repositories/revision/pollen/3543
Log:
- fixes #177: [Results] pas le nombre total de votants
- fixes #628: Improve nb votes messages + use warning messages on vote page when needed
Modified:
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java
trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/result.jsp
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-06-20 10:46:32 UTC (rev 3542)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-06-20 10:56:10 UTC (rev 3543)
@@ -220,7 +220,17 @@
}
public String getVoteSizeMessage() {
- return _("pollen.common.voteNbVotes", getPoll().sizeVote());
+ int i = getPoll().sizeVote();
+
+ String result;
+ if (i==0) {
+ result = _("pollen.common.voteNoVote");
+ } else if (i==1) {
+ result = _("pollen.common.voteOneVote");
+ }else {
+ result = _("pollen.common.voteNbVotes", i);
+ }
+ return result;
}
public String getCommentAuthor() {
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java 2012-06-20 10:46:32 UTC (rev 3542)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java 2012-06-20 10:56:10 UTC (rev 3543)
@@ -182,6 +182,20 @@
return subtitles;
}
+ public String getVoteSizeMessage() {
+ int i = getPoll().sizeVote();
+
+ String result;
+ if (i==0) {
+ result = _("pollen.common.voteNoVote");
+ } else if (i==1) {
+ result = _("pollen.common.voteOneVote");
+ }else {
+ result = _("pollen.common.voteNbVotes", i);
+ }
+ return result;
+ }
+
public String getVictoryMessage() {
String victoryMessage;
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-06-20 10:46:32 UTC (rev 3542)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-06-20 10:56:10 UTC (rev 3543)
@@ -60,11 +60,11 @@
// Messages
if (getPoll().isClosed()) {
- addFlashMessage(_("pollen.information.pollClosed"));
+ addFlashWarning(_("pollen.information.pollClosed"));
} else if (!isPollStarted()) {
- addFlashMessage(_("pollen.information.pollNotStarted"));
+ addFlashWarning(_("pollen.information.pollNotStarted"));
} else if (isPollFinished()) {
- addFlashMessage(_("pollen.information.pollFinished"));
+ addFlashWarning(_("pollen.information.pollFinished"));
}
if (isPollChoiceRunning()) {
addFlashMessage(_("pollen.information.pollChoiceRunning"));
Modified: trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
===================================================================
--- trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-06-20 10:46:32 UTC (rev 3542)
+++ trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-06-20 10:56:10 UTC (rev 3543)
@@ -157,6 +157,8 @@
pollen.common.voteCountingTypeHelp.number=Voting by number\: The answer is free, leave blank or enter a integer.
pollen.common.voteCountingTypeHelp.percentage=Percentage vote\: allocate choices to get a 100%% total.
pollen.common.voteNbVotes=%d existing votes
+pollen.common.voteNoVote=No existing vote
+pollen.common.voteOneVote=1 existing vote
pollen.common.votePerson=Voter
pollen.common.voterName=Votant
pollen.common.votingList=Group
Modified: trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
===================================================================
--- trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-06-20 10:46:32 UTC (rev 3542)
+++ trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-06-20 10:56:10 UTC (rev 3543)
@@ -157,6 +157,8 @@
pollen.common.voteCountingTypeHelp.number=Vote par nombre \: La réponse est libre, laissez vide ou entrez un nombre entier
pollen.common.voteCountingTypeHelp.percentage=Vote par pourcentage \: répartir les choix de manière à obtenir 100%% au total.
pollen.common.voteNbVotes=%d votes existants
+pollen.common.voteNoVote=Pas de vote existant
+pollen.common.voteOneVote=1 vote existant
pollen.common.votePerson=Votant
pollen.common.voterName=Votant
pollen.common.votingList=Groupe
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/result.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/result.jsp 2012-06-20 10:46:32 UTC (rev 3542)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/result.jsp 2012-06-20 10:56:10 UTC (rev 3543)
@@ -108,6 +108,10 @@
</fieldset>
</div>
+<h4>
+ <s:property value="%{voteSizeMessage}"/>
+</h4>
+
<!-- Victoire -->
<s:if test="victoryMessage != ''">
<h4><s:property value="victoryMessage"/>
1
0
r3542 - in trunk/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/io java/org/chorem/pollen/ui/actions/poll webapp/WEB-INF/jsp/poll
by tchemit@users.chorem.org 20 Jun '12
by tchemit@users.chorem.org 20 Jun '12
20 Jun '12
Author: tchemit
Date: 2012-06-20 12:46:32 +0200 (Wed, 20 Jun 2012)
New Revision: 3542
Url: http://chorem.org/repositories/revision/pollen/3542
Log:
refs #613: No thumbnail and image if accents in image name (vote + result page) + clean some jsp
Modified:
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/io/GetPollImageChoice.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayDateChoice.jsp
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayImageChoice.jsp
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayTextChoice.jsp
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/io/GetPollImageChoice.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/io/GetPollImageChoice.java 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/io/GetPollImageChoice.java 2012-06-20 10:46:32 UTC (rev 3542)
@@ -22,6 +22,7 @@
*/
package org.chorem.pollen.ui.actions.io;
+import com.google.common.base.Charsets;
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
import org.chorem.pollen.ui.actions.PollenActionSupport;
@@ -30,6 +31,7 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
+import java.net.URLDecoder;
/**
* Obtain the image choice of a given choice of an image-like poll.
@@ -93,8 +95,12 @@
Preconditions.checkNotNull(pollId);
Preconditions.checkNotNull(choiceId);
- file = getPollService().getPollChoiceImageFile(pollId, choiceId);
+ // decode choice Id
+ String choiceName = URLDecoder.decode(choiceId,
+ Charsets.UTF_8.name());
+ file = getPollService().getPollChoiceImageFile(pollId, choiceName);
+
if (thumb) {
file = getPollService().getImageThumbFile(file);
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-06-20 10:46:32 UTC (rev 3542)
@@ -215,17 +215,6 @@
public abstract boolean isEdit();
- public String getImagechoicesThumbPrefix(Choice choice) {
- String name = choice.getName();
- try {
- String result = URLEncoder.encode(IMAGECHOICES_THUMB_PREFIX + name, Charsets.UTF_8.name());
- return result;
- } catch (UnsupportedEncodingException e) {
- throw new PollenTechnicalException(
- "Could not encode name " + name, e);
- }
- }
-
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
@@ -504,12 +493,6 @@
poll.setMaxChoiceNb(0);
}
-// if (!poll.isPublicResults()) {
-//
-// // force to not have continous results
-// poll.setContinuousResults(false);
-// }
-
if (poll.isAnonymous()) {
// force to not have choice to vote anonymously
@@ -731,6 +714,17 @@
return creator.getUserAccount() != null;
}
+ public String getImageChoiceName(Choice choice) {
+ String name = choice.getName();
+ try {
+ String result = URLEncoder.encode(IMAGECHOICES_THUMB_PREFIX + name, Charsets.UTF_8.name());
+ return result;
+ } catch (UnsupportedEncodingException e) {
+ throw new PollenTechnicalException(
+ "Could not encode name " + name, e);
+ }
+ }
+
public void prepareFormPage() throws Exception {
getPollenSession().removeDynamicDataWithPrefix(IMAGECHOICES_THUMB_PREFIX);
@@ -1320,7 +1314,7 @@
// keep in session the location of this thumb (do not
// want to expose the full path location in url)
- String key = getImagechoicesThumbPrefix(choice);
+ String key = getImageChoiceName(choice);
getPollenSession().putDynamicData(key, thumbFile);
}
}
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-06-20 10:46:32 UTC (rev 3542)
@@ -22,12 +22,14 @@
*/
package org.chorem.pollen.ui.actions.poll;
+import com.google.common.base.Charsets;
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.ServletRequestAware;
+import org.chorem.pollen.PollenTechnicalException;
import org.chorem.pollen.bean.PollResult;
import org.chorem.pollen.bean.PollResultList;
import org.chorem.pollen.bean.PollUrl;
@@ -48,6 +50,8 @@
import org.chorem.pollen.ui.actions.PageSkin;
import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -489,6 +493,17 @@
return text;
}
+ public String getImageChoiceName(Choice choice) {
+ String name = choice.getName();
+ try {
+ String result = URLEncoder.encode(name, Charsets.UTF_8.name());
+ return result;
+ } catch (UnsupportedEncodingException e) {
+ throw new PollenTechnicalException(
+ "Could not encode name " + name, e);
+ }
+ }
+
protected void loadPollAccount() throws PollAccountNotFound {
// Current poll account
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-06-20 10:46:32 UTC (rev 3542)
@@ -142,7 +142,7 @@
<s:url id="imageUrl" namespace="/io" action="getPollChoiceImage"
escapeAmp="true">
<s:param name="choiceTokenId"
- value="%{getImagechoicesThumbPrefix(#choice)}"/>
+ value="%{getImageChoiceName(#choice)}"/>
</s:url>
<img name="<s:property value="#prefix"/>.thumb"
alt="<s:property value='name'/>"
@@ -151,8 +151,7 @@
class="fleft choiceImage">
<s:file key='imageChoice[%{#choiceNumber}]' label='' theme="simple"
- class="fright"
- cssStyle="opacity: 0;"/>
+ class="fright" cssStyle="opacity: 0;"/>
</s:if>
<s:else>
<%--New image--%>
@@ -164,8 +163,7 @@
src="<s:property value='imageUrl'/>" width="100px"
height="75px" class="fleft choiceImage">
<s:file key='imageChoice[%{#choiceNumber}]' label='' theme="simple"
- class="fright"
- cssStyle="opacity: 0;"/>
+ class="fright" cssStyle="opacity: 0;"/>
</s:else>
</div>
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayDateChoice.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayDateChoice.jsp 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayDateChoice.jsp 2012-06-20 10:46:32 UTC (rev 3542)
@@ -42,24 +42,10 @@
displayFormat="%{getText('pollen.common.datePickerPattern')}"/>
</div>
<div class="fright">
- <%--s:a id='choicesDATE_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
- </s:a>
- <s:a id='choicesDATE_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
- <s:textarea cols="30" id="%{#prefix}.description"
- key="%{#prefix}.description" label='' theme="simple"
- value="%{choice.description}"/>
+ <s:textarea cols="30" id="%{#prefix}.description" label='' theme="simple"
+ key="%{#prefix}.description" value="%{choice.description}"/>
<s:a href='#' onclick="return deleteChoice('choicesDATE_%{choiceNumber}')">
<image alt='<s:property value="deleteTitle"/>'
title='<s:property value="deleteTitle"/>'
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayImageChoice.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayImageChoice.jsp 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayImageChoice.jsp 2012-06-20 10:46:32 UTC (rev 3542)
@@ -46,26 +46,11 @@
title="<s:text name='pollen.image.not.loaded'/>"
src="<s:property value='imageUrl'/>" width="100px" height="75"
class="fleft choiceImage">
- <s:file key='%{#prefix2}' label=''
- theme="simple"
- class="fright"
+ <s:file key='%{#prefix2}' label='' theme="simple" class="fright"
cssStyle="opacity: 0;"/>
</div>
</div>
<div class="fright">
- <%--s:a id='choicesIMAGE_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
- </s:a>
- <s:a id='choicesIMAGE_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
<s:textarea cols="30" id="%{#prefix}.description" label='' theme="simple"
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayTextChoice.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayTextChoice.jsp 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayTextChoice.jsp 2012-06-20 10:46:32 UTC (rev 3542)
@@ -39,19 +39,6 @@
label='' theme="simple" value="%{choice.name}"/>
</div>
<div class="fright">
- <%--s:a id='choicesTEXT_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesTEXT_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
- </s:a>
- <s:a id='choicesTEXT_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesTEXT_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
<s:textarea cols="30" id="%{#prefix}.description" label='' theme="simple"
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp 2012-06-20 10:00:52 UTC (rev 3541)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp 2012-06-20 10:46:32 UTC (rev 3542)
@@ -244,13 +244,13 @@
<s:url id="imageUrl" namespace="/io" action="getPollChoiceImage"
escapeAmp="false">
- <s:param name="choiceId" value="name"/>
+ <s:param name="choiceId" value="%{getImageChoiceName(#choice)}"/>
<s:param name="pollId" value="poll.pollId"/>
<s:param name="thumb" value="false"/>
</s:url>
<s:url id="imageUrlThumb" namespace="/io" action="getPollChoiceImage"
escapeAmp="false">
- <s:param name="choiceId" value="name"/>
+ <s:param name="choiceId" value="%{getImageChoiceName(#choice)}"/>
<s:param name="pollId" value="poll.pollId"/>
<s:param name="thumb" value="true"/>
</s:url>
1
0
r3541 - in trunk/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll webapp/WEB-INF/jsp/poll
by tchemit@users.chorem.org 20 Jun '12
by tchemit@users.chorem.org 20 Jun '12
20 Jun '12
Author: tchemit
Date: 2012-06-20 12:00:52 +0200 (Wed, 20 Jun 2012)
New Revision: 3541
Url: http://chorem.org/repositories/revision/pollen/3541
Log:
fixes #613: No thumbnail and image if accents in image name
Modified:
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-06-20 08:48:50 UTC (rev 3540)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-06-20 10:00:52 UTC (rev 3541)
@@ -22,6 +22,7 @@
*/
package org.chorem.pollen.ui.actions.poll;
+import com.google.common.base.Charsets;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
@@ -39,6 +40,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.ServletRequestAware;
+import org.chorem.pollen.PollenTechnicalException;
import org.chorem.pollen.bean.PollDateChoice;
import org.chorem.pollen.bean.PollImageChoice;
import org.chorem.pollen.bean.PollUri;
@@ -70,6 +72,8 @@
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
@@ -211,6 +215,17 @@
public abstract boolean isEdit();
+ public String getImagechoicesThumbPrefix(Choice choice) {
+ String name = choice.getName();
+ try {
+ String result = URLEncoder.encode(IMAGECHOICES_THUMB_PREFIX + name, Charsets.UTF_8.name());
+ return result;
+ } catch (UnsupportedEncodingException e) {
+ throw new PollenTechnicalException(
+ "Could not encode name " + name, e);
+ }
+ }
+
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
@@ -1305,9 +1320,8 @@
// keep in session the location of this thumb (do not
// want to expose the full path location in url)
- getPollenSession().putDynamicData(
- IMAGECHOICES_THUMB_PREFIX + choice.getName(),
- thumbFile);
+ String key = getImagechoicesThumbPrefix(choice);
+ getPollenSession().putDynamicData(key, thumbFile);
}
}
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-06-20 08:48:50 UTC (rev 3540)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-06-20 10:00:52 UTC (rev 3541)
@@ -54,19 +54,6 @@
key="%{#prefix}.name" label='' value="%{#choice.name}"/>
</div>
<div class="fright">
- <%--s:a id='choicesTEXT_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesTEXT_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
- </s:a>
- <s:a id='choicesTEXT_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesTEXT_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
<s:textarea cols="30" id="%{#prefix}.description" label=''
@@ -108,19 +95,6 @@
displayFormat="%{getText('pollen.common.datePickerPattern')}"/>
</div>
<div class="fright">
- <%--s:a id='choicesDATE_down_%{choiceNumber}' cssClass="hidden"
- href='#'
- onclick="return downChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
- </s:a>
- <s:a id='choicesDATE_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
<s:textarea cols="30" id="%{#prefix}.description" theme="simple"
@@ -167,9 +141,8 @@
value="%{#choice.location}" label='' theme="simple"/>
<s:url id="imageUrl" namespace="/io" action="getPollChoiceImage"
escapeAmp="true">
- <s:param name="choiceTokenId">
- imagechoicesThumb_<s:property value='name'/>
- </s:param>
+ <s:param name="choiceTokenId"
+ value="%{getImagechoicesThumbPrefix(#choice)}"/>
</s:url>
<img name="<s:property value="#prefix"/>.thumb"
alt="<s:property value='name'/>"
@@ -199,19 +172,6 @@
</div>
<div class="fright">
- <%--s:a id='choicesIMAGE_down_%{choiceNumber}' cssClass="hidden"
- href='#'
- onclick="return downChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
- </s:a>
- <s:a id='choicesIMAGE_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
<s:textarea cols="30" id="%{#prefix}.description" label=''
1
0
r3540 - trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/user
by tchemit@users.chorem.org 20 Jun '12
by tchemit@users.chorem.org 20 Jun '12
20 Jun '12
Author: tchemit
Date: 2012-06-20 10:48:50 +0200 (Wed, 20 Jun 2012)
New Revision: 3540
Url: http://chorem.org/repositories/revision/pollen/3540
Log:
fixes #626: Error when deleting a participant of a favorite list
Modified:
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/user/favoriteList.jsp
Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/user/favoriteList.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/user/favoriteList.jsp 2012-06-19 16:33:54 UTC (rev 3539)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/user/favoriteList.jsp 2012-06-20 08:48:50 UTC (rev 3540)
@@ -35,14 +35,18 @@
<s:param name="favoriteListId" value="%{favoriteList.topiaId}"/>
</s:url>
-<s:url id="editPollAccounts" action="editPollAccount" namespace="/user">
+<%--<s:url id="editPollAccounts" action="editPollAccount" namespace="/user">--%>
+ <%--<s:param name="favoriteListId" value="%{favoriteList.topiaId}"/>--%>
+<%--</s:url>--%>
+
+<s:url id="editFavoriteList" action="editFavoriteList" namespace="/user">
<s:param name="favoriteListId" value="%{favoriteList.topiaId}"/>
</s:url>
<script type="text/javascript">
var favoriteListId = '<s:property value="favoriteList.topiaId"/>';
- var redirectUrl = "<s:property value='%{editPollAccounts}'/>";
+ var redirectUrl = "<s:property value='%{editFavoriteList}'/>";
var deleteTitle = '<s:text name="pollen.action.deletePollAccount"/>';
var deleteUrl = '<s:url action="confirmDeletePollAccount" namespace="/user" />';
var loadPollActionUrl = '<s:url action="getFavoriteListPollAccount" namespace="/json"/>';
1
0
r3539 - in trunk: . pollen-persistence pollen-services pollen-ui-struts2 pollen-votecounting
by maven-release@users.chorem.org 19 Jun '12
by maven-release@users.chorem.org 19 Jun '12
19 Jun '12
Author: maven-release
Date: 2012-06-19 18:33:54 +0200 (Tue, 19 Jun 2012)
New Revision: 3539
Url: http://chorem.org/repositories/revision/pollen/3539
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pollen-persistence/pom.xml
trunk/pollen-services/pom.xml
trunk/pollen-ui-struts2/pom.xml
trunk/pollen-votecounting/pom.xml
trunk/pom.xml
Modified: trunk/pollen-persistence/pom.xml
===================================================================
--- trunk/pollen-persistence/pom.xml 2012-06-19 16:33:52 UTC (rev 3538)
+++ trunk/pollen-persistence/pom.xml 2012-06-19 16:33:54 UTC (rev 3539)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4</version>
+ <version>1.5-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-services/pom.xml
===================================================================
--- trunk/pollen-services/pom.xml 2012-06-19 16:33:52 UTC (rev 3538)
+++ trunk/pollen-services/pom.xml 2012-06-19 16:33:54 UTC (rev 3539)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4</version>
+ <version>1.5-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-ui-struts2/pom.xml
===================================================================
--- trunk/pollen-ui-struts2/pom.xml 2012-06-19 16:33:52 UTC (rev 3538)
+++ trunk/pollen-ui-struts2/pom.xml 2012-06-19 16:33:54 UTC (rev 3539)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4</version>
+ <version>1.5-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting/pom.xml
===================================================================
--- trunk/pollen-votecounting/pom.xml 2012-06-19 16:33:52 UTC (rev 3538)
+++ trunk/pollen-votecounting/pom.xml 2012-06-19 16:33:54 UTC (rev 3539)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4</version>
+ <version>1.5-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-06-19 16:33:52 UTC (rev 3538)
+++ trunk/pom.xml 2012-06-19 16:33:54 UTC (rev 3539)
@@ -15,7 +15,7 @@
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4</version>
+ <version>1.5-SNAPSHOT</version>
<modules>
<module>pollen-votecounting</module>
@@ -562,11 +562,11 @@
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:http://svn.chorem.org/svn/pollen/tags/pollen-1.4</connection>
+ <connection>scm:svn:http://svn.chorem.org/svn/pollen/trunk</connection>
<developerConnection>
- scm:svn:http://svn.chorem.org/svn/pollen/tags/pollen-1.4
+ scm:svn:http://svn.chorem.org/svn/pollen/trunk
</developerConnection>
- <url>http://www.chorem.org/repositories/browse/pollen/tags/pollen-1.4</url>
+ <url>http://www.chorem.org/repositories/browse/pollen/trunk</url>
</scm>
<distributionManagement>
1
0
Author: maven-release
Date: 2012-06-19 18:33:52 +0200 (Tue, 19 Jun 2012)
New Revision: 3538
Url: http://chorem.org/repositories/revision/pollen/3538
Log:
[maven-release-plugin] copy for tag pollen-1.4
Added:
tags/pollen-1.4/
Property changes on: tags/pollen-1.4
___________________________________________________________________
Added: svn:ignore
+ target
nbactions.xml
.settings
.classpath
.project
*.ipr
*.iws
*.iml
.idea
Added: svn:mergeinfo
+
1
0
r3537 - in trunk: . pollen-persistence pollen-services pollen-ui-struts2 pollen-votecounting
by maven-release@users.chorem.org 19 Jun '12
by maven-release@users.chorem.org 19 Jun '12
19 Jun '12
Author: maven-release
Date: 2012-06-19 18:33:50 +0200 (Tue, 19 Jun 2012)
New Revision: 3537
Url: http://chorem.org/repositories/revision/pollen/3537
Log:
[maven-release-plugin] prepare release pollen-1.4
Modified:
trunk/pollen-persistence/pom.xml
trunk/pollen-services/pom.xml
trunk/pollen-ui-struts2/pom.xml
trunk/pollen-votecounting/pom.xml
trunk/pom.xml
Modified: trunk/pollen-persistence/pom.xml
===================================================================
--- trunk/pollen-persistence/pom.xml 2012-06-19 16:32:01 UTC (rev 3536)
+++ trunk/pollen-persistence/pom.xml 2012-06-19 16:33:50 UTC (rev 3537)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.4</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-services/pom.xml
===================================================================
--- trunk/pollen-services/pom.xml 2012-06-19 16:32:01 UTC (rev 3536)
+++ trunk/pollen-services/pom.xml 2012-06-19 16:33:50 UTC (rev 3537)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.4</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-ui-struts2/pom.xml
===================================================================
--- trunk/pollen-ui-struts2/pom.xml 2012-06-19 16:32:01 UTC (rev 3536)
+++ trunk/pollen-ui-struts2/pom.xml 2012-06-19 16:33:50 UTC (rev 3537)
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -12,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.4</version>
</parent>
<groupId>org.chorem.pollen</groupId>
@@ -370,8 +368,7 @@
<phase>generate-resources</phase>
<configuration>
<target>
- <mkdir
- dir="${basedir}/target/pollen-embedded-temp-${project.version}/WEB-INF/classes"/>
+ <mkdir dir="${basedir}/target/pollen-embedded-temp-${project.version}/WEB-INF/classes" />
</target>
</configuration>
<goals>
Modified: trunk/pollen-votecounting/pom.xml
===================================================================
--- trunk/pollen-votecounting/pom.xml 2012-06-19 16:32:01 UTC (rev 3536)
+++ trunk/pollen-votecounting/pom.xml 2012-06-19 16:33:50 UTC (rev 3537)
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.4</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-06-19 16:32:01 UTC (rev 3536)
+++ trunk/pom.xml 2012-06-19 16:33:50 UTC (rev 3537)
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -17,7 +15,7 @@
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.4</version>
<modules>
<module>pollen-votecounting</module>
@@ -564,11 +562,11 @@
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:http://svn.chorem.org/svn/pollen/trunk</connection>
+ <connection>scm:svn:http://svn.chorem.org/svn/pollen/tags/pollen-1.4</connection>
<developerConnection>
- scm:svn:http://svn.chorem.org/svn/pollen/trunk
+ scm:svn:http://svn.chorem.org/svn/pollen/tags/pollen-1.4
</developerConnection>
- <url>http://www.chorem.org/repositories/browse/pollen/trunk</url>
+ <url>http://www.chorem.org/repositories/browse/pollen/tags/pollen-1.4</url>
</scm>
<distributionManagement>
1
0