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
r3696 - trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence
by tchemit@users.chorem.org 19 Sep '12
by tchemit@users.chorem.org 19 Sep '12
19 Sep '12
Author: tchemit
Date: 2012-09-19 17:42:53 +0200 (Wed, 19 Sep 2012)
New Revision: 3696
Url: http://chorem.org/repositories/revision/pollen/3696
Log:
fixes #813: Impossible de consulter une liste de votants
Modified:
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java
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-09-19 15:42:39 UTC (rev 3695)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java 2012-09-19 15:42:53 UTC (rev 3696)
@@ -31,7 +31,6 @@
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.PagerBeanUtil;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -122,7 +121,7 @@
mapResult.put(poll, pollAccount);
}
long records = mapResult.size();
- pager.setRecords((int) records);
+ pager.setRecords(records);
PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
List<Map.Entry<Poll, PollAccount>> entries =
Lists.newLinkedList(mapResult.entrySet());
@@ -137,7 +136,7 @@
PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
List<E> subList = PagerBeanUtil.getPage(elements, pager.getPageIndex(), pager.getPageSize());
- List<E> result = new ArrayList<E>(subList);
+ List<E> result = Lists.newArrayList(subList);
return result;
}
1
0
r3695 - trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence
by tchemit@users.chorem.org 19 Sep '12
by tchemit@users.chorem.org 19 Sep '12
19 Sep '12
Author: tchemit
Date: 2012-09-19 17:42:39 +0200 (Wed, 19 Sep 2012)
New Revision: 3695
Url: http://chorem.org/repositories/revision/pollen/3695
Log:
fixes #812: Impossible de cr?\195?\169er une liste ?\195?\160 la main ou par import CSV
Modified:
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java
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-09-19 10:07:17 UTC (rev 3694)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-09-19 15:42:39 UTC (rev 3695)
@@ -30,6 +30,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+import org.nuiton.util.PagerBeanUtil;
import java.util.List;
@@ -175,6 +176,7 @@
int records = favoriteList.sizePollAccount();
pager.setRecords(records);
+ PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
String hql = createSimpleQuery("e") + " WHERE e.personList = :owner";
@@ -188,7 +190,7 @@
Preconditions.checkNotNull(personListToUpdate);
Preconditions.checkNotNull(pollAccount);
- String hql = createSimpleQuery("e") + " WHERE " +
+ String hql = "SELECT COUNT(*) " + createSimpleQuery("e") + " WHERE " +
"e.personList = :person AND " +
"e.email = :email";
String pollAccountId = pollAccount.getTopiaId();
1
0
r3694 - trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll
by tchemit@users.chorem.org 19 Sep '12
by tchemit@users.chorem.org 19 Sep '12
19 Sep '12
Author: tchemit
Date: 2012-09-19 12:07:17 +0200 (Wed, 19 Sep 2012)
New Revision: 3694
Url: http://chorem.org/repositories/revision/pollen/3694
Log:
remove commented code
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/vote.jsp
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-09-19 10:07:02 UTC (rev 3693)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/result.jsp 2012-09-19 10:07:17 UTC (rev 3694)
@@ -71,52 +71,16 @@
<h1 class="titleVoteCounting"><s:property value="poll.title"/></h1>
-<!-- Informations sur le sondage -->
+<%-- Informations sur le sondage --%>
<s:set name="showVoteUrl" value="true"/>
<s:set name="showResultUrl" value="false"/>
<%@include file="pollInformation.jsp" %>
-<%--<div id="resultTop">--%>
- <%--<div style="white-space:pre-wrap; text-align: start;">--%>
- <%--<s:property value="poll.description"/>--%>
- <%--</div>--%>
- <%--<fieldset>--%>
- <%--<legend><s:text name="pollen.common.aboutPoll"/></legend>--%>
- <%--<div style="float: right">--%>
- <%--<s:if test="creatorOrAdmin">--%>
- <%--<s:a href="%{summaryUrl}">--%>
- <%--<img src="<s:url value='/img/editSmall.png'/>"--%>
- <%--title="<s:text name='pollen.action.summaryPoll'/>"--%>
- <%--alt="<s:text name='pollen.action.summaryPoll'/>"/>--%>
- <%--</s:a>--%>
- <%--</s:if>--%>
- <%--<s:a href='%{voteUrl}'>--%>
- <%--<img src="<s:url value='/img/vote.png'/>"--%>
- <%--title="<s:text name="pollen.common.vote.return-help"/>"--%>
- <%--alt="<s:text name="pollen.common.vote.return"/>"/>--%>
- <%--</s:a>--%>
- <%--<s:if test="feedFileExisting">--%>
- <%--<s:a namespace="/poll" action="getFeed">--%>
- <%--<s:param name="pollId" value="poll.pollId"/>--%>
- <%--<img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>--%>
- <%--</s:a>--%>
- <%--</s:if>--%>
- <%--</div>--%>
- <%--<s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>--%>
- <%--<s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>--%>
- <%--<s:label value="%{pollEndDate}" key='pollen.common.endDate'/>--%>
- <%--<s:label value="%{voteCountingTypeName}"--%>
- <%--key='pollen.common.voteCountingType'--%>
- <%--tooltip="%{voteCountingTypeHelp}"--%>
- <%--tooltipIconPath="/img/tooltip.png"/>--%>
- <%--</fieldset>--%>
-<%--</div>--%>
-
<h4>
<s:property value="%{voteSizeMessage}"/>
</h4>
-<!-- Victoire -->
+<%-- Victoire --%>
<s:if test="victoryMessage != ''">
<h4><s:property value="victoryMessage"/>
<br/>
@@ -191,19 +155,19 @@
<img id='chart_normal'/>
</sj:div>
- <!-- Diagramme par choix -->
- <s:if test="choicesResults != null">
- <div id="resultChart">
- <div>
- <s:iterator value="choicesResultNames" var="choicesResultName"
- status="status">
- <img id='chart_<s:property value="#status.index"/>'
- alt="<s:property/>" title="<s:property/>"
- src="<s:property value='%{getChoicesResultCharUrl(400,300, #choicesResultName)}'/>">
- </s:iterator>
- </div>
- </div>
- </s:if>
+ <%-- Diagramme par choix --%>
+ <%--<s:if test="choicesResults != null">--%>
+ <%--<div id="resultChart">--%>
+ <%--<div>--%>
+ <%--<s:iterator value="choicesResultNames" var="choicesResultName"--%>
+ <%--status="status">--%>
+ <%--<img id='chart_<s:property value="#status.index"/>'--%>
+ <%--alt="<s:property/>" title="<s:property/>"--%>
+ <%--src="<s:property value='%{getChoicesResultCharUrl(400,300, #choicesResultName)}'/>">--%>
+ <%--</s:iterator>--%>
+ <%--</div>--%>
+ <%--</div>--%>
+ <%--</s:if>--%>
</div>
<!-- Classement -->
<%--<t:remove>--%>
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-09-19 10:07:02 UTC (rev 3693)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp 2012-09-19 10:07:17 UTC (rev 3694)
@@ -119,48 +119,6 @@
<s:set name="showResultUrl" value="true"/>
<%@include file="pollInformation.jsp" %>
-<%--<div id="pollTop">--%>
- <%--<div style="white-space:pre-wrap; text-align: start;">--%>
- <%--<s:property value="poll.description"/>--%>
- <%--</div>--%>
- <%--<fieldset>--%>
- <%--<legend><s:text name="pollen.common.aboutPoll"/></legend>--%>
- <%--<div style="float: right">--%>
- <%--<s:if test="creatorOrAdmin">--%>
- <%--<s:a href="%{summaryUrl}">--%>
- <%--<img src="<s:url value='/img/editSmall.png'/>"--%>
- <%--title="<s:text name='pollen.action.summaryPoll'/>"--%>
- <%--alt="<s:text name='pollen.action.summaryPoll'/>"/>--%>
- <%--</s:a>--%>
- <%--</s:if>--%>
- <%--<s:if test="resultAllowed">--%>
- <%--<s:a href="%{resultUrl}">--%>
- <%--<img src="<s:url value='/img/count.png'/>"--%>
- <%--title="<s:text name='pollen.common.vote.results-help'/>"--%>
- <%--alt="<s:text name='pollen.common.vote.results'/>"/>--%>
- <%--</s:a>--%>
- <%--</s:if>--%>
- <%--<s:if test="feedFileExisting">--%>
- <%--<s:a namespace="/poll" action="getFeed">--%>
- <%--<s:param name="pollId" value="poll.pollId"/>--%>
- <%--<img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>--%>
- <%--</s:a>--%>
- <%--</s:if>--%>
- <%--</div>--%>
- <%--<s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>--%>
- <%--<s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>--%>
- <%--<s:label value="%{pollEndDate}" key='pollen.common.endDate'/>--%>
- <%--<s:label value="%{voteCountingTypeName}"--%>
- <%--key='pollen.common.voteCountingType'--%>
- <%--tooltip="%{voteCountingTypeHelp}"--%>
- <%--tooltipIconPath="/img/tooltip.png"/>--%>
- <%--<s:label value="%{pollVoteVisibilityName}"--%>
- <%--key='pollen.common.pollVoteVisibility'--%>
- <%--tooltip="%{pollVoteVisibilityHelp}"--%>
- <%--tooltipIconPath="/img/tooltip.png"/>--%>
- <%--</fieldset>--%>
-<%--</div>--%>
-
<div id="pollZone">
<s:if test="pollChoiceOrVoteStarted">
1
0
r3693 - in trunk/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll/vote resources/i18n
by tchemit@users.chorem.org 19 Sep '12
by tchemit@users.chorem.org 19 Sep '12
19 Sep '12
Author: tchemit
Date: 2012-09-19 12:07:02 +0200 (Wed, 19 Sep 2012)
New Revision: 3693
Url: http://chorem.org/repositories/revision/pollen/3693
Log:
fixes #811: Bad vote validation
Modified:
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/vote/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
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/vote/VoteForPoll.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/vote/VoteForPoll.java 2012-09-19 08:25:53 UTC (rev 3692)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/vote/VoteForPoll.java 2012-09-19 10:07:02 UTC (rev 3693)
@@ -111,12 +111,13 @@
VoteCountingStrategy strategy = getVoteCountingStrategy(getPoll());
boolean voteValid = true;
- int voteNumber = 0;
+ int voteNumber = -1;
for (VoteToChoice voteToChoice : vote.getChoiceVoteToChoice()) {
+ voteNumber++;
Integer value = voteToChoice.getVoteValue();
- if (value==null) {
+ if (value == null) {
// check value if same as the one return by request
// otherwise it means there is a conversion error
@@ -127,7 +128,7 @@
// vote value changed
String validMessage =
- _("pollen.error.vote.invalidFormat", paramValue);
+ _("pollen.error.vote.invalidFormat", voteToChoice.getChoice().getName(), paramValue);
addFieldError("vote.choices", validMessage);
voteValid = false;
break;
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-09-19 08:25:53 UTC (rev 3692)
+++ trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-09-19 10:07:02 UTC (rev 3693)
@@ -232,7 +232,7 @@
pollen.error.user.restrictedListsForbidden=The poll is restricted and you are not allowed to vote. Check if you have correctly used the link sent to you by email.
pollen.error.userNotAllowed=You are not allowed to count the votes for this poll.
pollen.error.vote.invalidCondorcetVoteValue=Invalid position\: in a condorcet vote, you can let empty values, or put values greater than zero.
-pollen.error.vote.invalidFormat=Vote value invalid (must be a integer number)
+pollen.error.vote.invalidFormat=Vote '%s' value %s is invalid (must be a integer number)
pollen.error.vote.maxChoiceNb=The maximal number of choices is %d.
pollen.error.vote.percentage=The sum of the values must be equals to 100.
pollen.fieldset.choice.options=Choices
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-09-19 08:25:53 UTC (rev 3692)
+++ trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-09-19 10:07:02 UTC (rev 3693)
@@ -233,7 +233,7 @@
pollen.error.user.restrictedListsForbidden=Le sondage est restreint et vous n'êtes pas autorisé à voter. Vérifiez que vous avez bien utiliser le lien qui vous a été envoyé.
pollen.error.userNotAllowed=Vous n'êtes pas autorisé à dépouiller ce sondage.
pollen.error.vote.invalidCondorcetVoteValue=Position invalide \: dans un vote condorcet, vous pouvez soit laisser laisser vide un choix, soit mettre une valeur strictement positive.
-pollen.error.vote.invalidFormat=Valeur de vote %s invalide (doit être un nombre entier)
+pollen.error.vote.invalidFormat=Valeur de vote '%s' %s invalide (doit être un nombre entier)
pollen.error.vote.maxChoiceNb=Le nombre de choix maximal est de %d.
pollen.error.vote.percentage=La somme des valeurs doit être égale à 100.
pollen.fieldset.choice.options=Les choix
1
0
r3692 - in trunk/pollen-ui-struts2/src/main/webapp: WEB-INF/jsp/poll css
by tchemit@users.chorem.org 19 Sep '12
by tchemit@users.chorem.org 19 Sep '12
19 Sep '12
Author: tchemit
Date: 2012-09-19 10:25:53 +0200 (Wed, 19 Sep 2012)
New Revision: 3692
Url: http://chorem.org/repositories/revision/pollen/3692
Log:
factorize poll information ui fragment
Added:
trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/pollInformation.jsp
trunk/pollen-ui-struts2/src/main/webapp/css/pollInformation.css
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/vote.jsp
trunk/pollen-ui-struts2/src/main/webapp/css/results.css
trunk/pollen-ui-struts2/src/main/webapp/css/vote.css
Added: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/pollInformation.jsp
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/pollInformation.jsp (rev 0)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/pollInformation.jsp 2012-09-19 08:25:53 UTC (rev 3692)
@@ -0,0 +1,70 @@
+<%--
+ #%L
+ Pollen :: UI (struts2)
+ $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%
+ --%>
+<%@ page contentType="text/html" language="java" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<div id="pollInformationTop">
+ <div style="white-space:pre-wrap; text-align: start;">
+ <s:property value="poll.description"/>
+ </div>
+ <fieldset>
+ <legend><s:text name="pollen.common.aboutPoll"/></legend>
+ <div style="float: right">
+ <s:if test="creatorOrAdmin">
+ <s:a href="%{summaryUrl}">
+ <img src="<s:url value='/img/editSmall.png'/>"
+ title="<s:text name='pollen.action.summaryPoll'/>"
+ alt="<s:text name='pollen.action.summaryPoll'/>"/>
+ </s:a>
+ </s:if>
+ <s:if test="#showVoteUrl">
+ <s:a href='%{voteUrl}'>
+ <img src="<s:url value='/img/vote.png'/>"
+ title="<s:text name="pollen.common.vote.return-help"/>"
+ alt="<s:text name="pollen.common.vote.return"/>"/>
+ </s:a>
+ </s:if>
+ <s:if test="#showResultUrl">
+ <s:if test="resultAllowed">
+ <s:a href="%{resultUrl}">
+ <img src="<s:url value='/img/count.png'/>"
+ title="<s:text name='pollen.common.vote.results-help'/>"
+ alt="<s:text name='pollen.common.vote.results'/>"/>
+ </s:a>
+ </s:if>
+ </s:if>
+ <s:if test="feedFileExisting">
+ <s:a namespace="/poll" action="getFeed">
+ <s:param name="pollId" value="poll.pollId"/>
+ <img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>
+ </s:a>
+ </s:if>
+ </div>
+ <s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>
+ <s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>
+ <s:label value="%{pollEndDate}" key='pollen.common.endDate'/>
+ <s:label value="%{voteCountingTypeName}"
+ key='pollen.common.voteCountingType'
+ tooltip="%{voteCountingTypeHelp}"
+ tooltipIconPath="/img/tooltip.png"/>
+ </fieldset>
+</div>
\ No newline at end of file
Property changes on: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/pollInformation.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
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-09-14 16:33:06 UTC (rev 3691)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/result.jsp 2012-09-19 08:25:53 UTC (rev 3692)
@@ -20,12 +20,14 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
#L%
--%>
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ page contentType="text/html" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>
<link rel="stylesheet" type="text/css"
href="<s:url value='/css/results.css'/>"/>
<link rel="stylesheet" type="text/css"
+ href="<s:url value='/css/pollInformation.css'/>"/>
+<link rel="stylesheet" type="text/css"
href="<s:url value='/css/jquery.lightbox-0.5.css'/>"/>
@@ -70,42 +72,46 @@
<h1 class="titleVoteCounting"><s:property value="poll.title"/></h1>
<!-- Informations sur le sondage -->
-<div id="resultTop">
- <div style="white-space:pre-wrap; text-align: start;">
- <s:property value="poll.description"/>
- </div>
- <fieldset>
- <legend><s:text name="pollen.common.aboutPoll"/></legend>
- <div style="float: right">
- <s:if test="creatorOrAdmin">
- <s:a href="%{summaryUrl}">
- <img src="<s:url value='/img/editSmall.png'/>"
- title="<s:text name='pollen.action.summaryPoll'/>"
- alt="<s:text name='pollen.action.summaryPoll'/>"/>
- </s:a>
- </s:if>
- <s:a href='%{voteUrl}'>
- <img src="<s:url value='/img/vote.png'/>"
- title="<s:text name="pollen.common.vote.return-help"/>"
- alt="<s:text name="pollen.common.vote.return"/>"/>
- </s:a>
- <s:if test="feedFileExisting">
- <s:a namespace="/poll" action="getFeed">
- <s:param name="pollId" value="poll.pollId"/>
- <img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>
- </s:a>
- </s:if>
- </div>
- <s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>
- <s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>
- <s:label value="%{pollEndDate}" key='pollen.common.endDate'/>
- <s:label value="%{voteCountingTypeName}"
- key='pollen.common.voteCountingType'
- tooltip="%{voteCountingTypeHelp}"
- tooltipIconPath="/img/tooltip.png"/>
- </fieldset>
-</div>
+<s:set name="showVoteUrl" value="true"/>
+<s:set name="showResultUrl" value="false"/>
+<%@include file="pollInformation.jsp" %>
+<%--<div id="resultTop">--%>
+ <%--<div style="white-space:pre-wrap; text-align: start;">--%>
+ <%--<s:property value="poll.description"/>--%>
+ <%--</div>--%>
+ <%--<fieldset>--%>
+ <%--<legend><s:text name="pollen.common.aboutPoll"/></legend>--%>
+ <%--<div style="float: right">--%>
+ <%--<s:if test="creatorOrAdmin">--%>
+ <%--<s:a href="%{summaryUrl}">--%>
+ <%--<img src="<s:url value='/img/editSmall.png'/>"--%>
+ <%--title="<s:text name='pollen.action.summaryPoll'/>"--%>
+ <%--alt="<s:text name='pollen.action.summaryPoll'/>"/>--%>
+ <%--</s:a>--%>
+ <%--</s:if>--%>
+ <%--<s:a href='%{voteUrl}'>--%>
+ <%--<img src="<s:url value='/img/vote.png'/>"--%>
+ <%--title="<s:text name="pollen.common.vote.return-help"/>"--%>
+ <%--alt="<s:text name="pollen.common.vote.return"/>"/>--%>
+ <%--</s:a>--%>
+ <%--<s:if test="feedFileExisting">--%>
+ <%--<s:a namespace="/poll" action="getFeed">--%>
+ <%--<s:param name="pollId" value="poll.pollId"/>--%>
+ <%--<img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>--%>
+ <%--</s:a>--%>
+ <%--</s:if>--%>
+ <%--</div>--%>
+ <%--<s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>--%>
+ <%--<s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>--%>
+ <%--<s:label value="%{pollEndDate}" key='pollen.common.endDate'/>--%>
+ <%--<s:label value="%{voteCountingTypeName}"--%>
+ <%--key='pollen.common.voteCountingType'--%>
+ <%--tooltip="%{voteCountingTypeHelp}"--%>
+ <%--tooltipIconPath="/img/tooltip.png"/>--%>
+ <%--</fieldset>--%>
+<%--</div>--%>
+
<h4>
<s:property value="%{voteSizeMessage}"/>
</h4>
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-09-14 16:33:06 UTC (rev 3691)
+++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp 2012-09-19 08:25:53 UTC (rev 3692)
@@ -29,6 +29,8 @@
<link rel="stylesheet" type="text/css"
href="<s:url value='/css/vote.css'/>"/>
<link rel="stylesheet" type="text/css"
+ href="<s:url value='/css/pollInformation.css'/>"/>
+<link rel="stylesheet" type="text/css"
href="<s:url value='/css/jquery.lightbox-0.5.css'/>"/>
<script type="text/javascript"
@@ -112,48 +114,52 @@
<h1 class="titleVote"><s:property value="poll.title"/></h1>
<!-- Informations sur le sondage -->
+<!-- Informations sur le sondage -->
+<s:set name="showVoteUrl" value="false"/>
+<s:set name="showResultUrl" value="true"/>
+<%@include file="pollInformation.jsp" %>
-<div id="pollTop">
- <div style="white-space:pre-wrap; text-align: start;">
- <s:property value="poll.description"/>
- </div>
- <fieldset>
- <legend><s:text name="pollen.common.aboutPoll"/></legend>
- <div style="float: right">
- <s:if test="creatorOrAdmin">
- <s:a href="%{summaryUrl}">
- <img src="<s:url value='/img/editSmall.png'/>"
- title="<s:text name='pollen.action.summaryPoll'/>"
- alt="<s:text name='pollen.action.summaryPoll'/>"/>
- </s:a>
- </s:if>
- <s:if test="resultAllowed">
- <s:a href="%{resultUrl}">
- <img src="<s:url value='/img/count.png'/>"
- title="<s:text name='pollen.common.vote.results-help'/>"
- alt="<s:text name='pollen.common.vote.results'/>"/>
- </s:a>
- </s:if>
- <s:if test="feedFileExisting">
- <s:a namespace="/poll" action="getFeed">
- <s:param name="pollId" value="poll.pollId"/>
- <img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>
- </s:a>
- </s:if>
- </div>
- <s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>
- <s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>
- <s:label value="%{pollEndDate}" key='pollen.common.endDate'/>
- <s:label value="%{voteCountingTypeName}"
- key='pollen.common.voteCountingType'
- tooltip="%{voteCountingTypeHelp}"
- tooltipIconPath="/img/tooltip.png"/>
- <s:label value="%{pollVoteVisibilityName}"
- key='pollen.common.pollVoteVisibility'
- tooltip="%{pollVoteVisibilityHelp}"
- tooltipIconPath="/img/tooltip.png"/>
- </fieldset>
-</div>
+<%--<div id="pollTop">--%>
+ <%--<div style="white-space:pre-wrap; text-align: start;">--%>
+ <%--<s:property value="poll.description"/>--%>
+ <%--</div>--%>
+ <%--<fieldset>--%>
+ <%--<legend><s:text name="pollen.common.aboutPoll"/></legend>--%>
+ <%--<div style="float: right">--%>
+ <%--<s:if test="creatorOrAdmin">--%>
+ <%--<s:a href="%{summaryUrl}">--%>
+ <%--<img src="<s:url value='/img/editSmall.png'/>"--%>
+ <%--title="<s:text name='pollen.action.summaryPoll'/>"--%>
+ <%--alt="<s:text name='pollen.action.summaryPoll'/>"/>--%>
+ <%--</s:a>--%>
+ <%--</s:if>--%>
+ <%--<s:if test="resultAllowed">--%>
+ <%--<s:a href="%{resultUrl}">--%>
+ <%--<img src="<s:url value='/img/count.png'/>"--%>
+ <%--title="<s:text name='pollen.common.vote.results-help'/>"--%>
+ <%--alt="<s:text name='pollen.common.vote.results'/>"/>--%>
+ <%--</s:a>--%>
+ <%--</s:if>--%>
+ <%--<s:if test="feedFileExisting">--%>
+ <%--<s:a namespace="/poll" action="getFeed">--%>
+ <%--<s:param name="pollId" value="poll.pollId"/>--%>
+ <%--<img src="<s:url value='/img/feed.png'/>" title="Atom" alt="Atom"/>--%>
+ <%--</s:a>--%>
+ <%--</s:if>--%>
+ <%--</div>--%>
+ <%--<s:label value="%{pollCreatorName}" key='pollen.common.pollCreator'/>--%>
+ <%--<s:label value="%{pollBeginDate}" key='pollen.common.beginDate'/>--%>
+ <%--<s:label value="%{pollEndDate}" key='pollen.common.endDate'/>--%>
+ <%--<s:label value="%{voteCountingTypeName}"--%>
+ <%--key='pollen.common.voteCountingType'--%>
+ <%--tooltip="%{voteCountingTypeHelp}"--%>
+ <%--tooltipIconPath="/img/tooltip.png"/>--%>
+ <%--<s:label value="%{pollVoteVisibilityName}"--%>
+ <%--key='pollen.common.pollVoteVisibility'--%>
+ <%--tooltip="%{pollVoteVisibilityHelp}"--%>
+ <%--tooltipIconPath="/img/tooltip.png"/>--%>
+ <%--</fieldset>--%>
+<%--</div>--%>
<div id="pollZone">
<s:if test="pollChoiceOrVoteStarted">
Added: trunk/pollen-ui-struts2/src/main/webapp/css/pollInformation.css
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/css/pollInformation.css (rev 0)
+++ trunk/pollen-ui-struts2/src/main/webapp/css/pollInformation.css 2012-09-19 08:25:53 UTC (rev 3692)
@@ -0,0 +1,48 @@
+/*
+ * #%L
+ * Pollen :: UI (struts2)
+ * $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%
+ */
+#pollInformationTop {
+ width: 700px;
+ margin: auto;
+ text-align: center;
+}
+
+#pollInformationTop legend {
+ color: #727a7e;
+ font-weight: bold;
+}
+
+#pollInformationTop fieldset {
+ width: 350px;
+ border: 1px solid #aab;
+ padding: 15px;
+ padding-bottom: 10px;
+ margin: auto;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ vertical-align: top;
+ text-align: left;
+}
+
+#pollInformationTop fieldset .wwlbl {
+ width: 210px;
+}
\ No newline at end of file
Property changes on: trunk/pollen-ui-struts2/src/main/webapp/css/pollInformation.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/pollen-ui-struts2/src/main/webapp/css/results.css
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/css/results.css 2012-09-14 16:33:06 UTC (rev 3691)
+++ trunk/pollen-ui-struts2/src/main/webapp/css/results.css 2012-09-19 08:25:53 UTC (rev 3692)
@@ -20,33 +20,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
-#resultTop {
- width: 700px;
- margin: auto;
- text-align: center;
-}
-
-#resultTop legend {
- color: #727a7e;
- font-weight: bold;
-}
-
-#resultTop fieldset {
- width: 350px;
- border: 1px solid #aab;
- padding: 15px;
- padding-bottom: 10px;
- margin: auto;
- margin-top: 20px;
- margin-bottom: 20px;
- vertical-align: top;
- text-align: left;
-}
-
-#resultTop fieldset .wwlbl {
- width: 210px;
-}
-
#resultChart {
width: 400px;
margin: auto;
Modified: trunk/pollen-ui-struts2/src/main/webapp/css/vote.css
===================================================================
--- trunk/pollen-ui-struts2/src/main/webapp/css/vote.css 2012-09-14 16:33:06 UTC (rev 3691)
+++ trunk/pollen-ui-struts2/src/main/webapp/css/vote.css 2012-09-19 08:25:53 UTC (rev 3692)
@@ -20,33 +20,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
-#pollTop {
- width: 700px;
- margin: auto;
- text-align: center;
-}
-
-#pollTop legend {
- color: #727a7e;
- font-weight: bold;
-}
-
-#pollTop fieldset {
- width: 400px;
- border: 1px solid #aab;
- padding: 15px;
- padding-bottom: 10px;
- margin: auto;
- margin-top: 20px;
- margin-bottom: 20px;
- vertical-align: top;
- text-align: left;
-}
-
-#pollTop fieldset .wwlbl {
- width: 210px;
-}
-
#pollZone {
/*padding: 10px;*/
text-align: center;
1
0
r3691 - in trunk: . pollen-persistence/src/main/java/org/chorem/pollen/business/persistence pollen-persistence/src/test/java/org/chorem/pollen/business/persistence pollen-services/src/main/java/org/chorem/pollen/services/impl pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json
by tchemit@users.chorem.org 14 Sep '12
by tchemit@users.chorem.org 14 Sep '12
14 Sep '12
Author: tchemit
Date: 2012-09-14 18:33:06 +0200 (Fri, 14 Sep 2012)
New Revision: 3691
Url: http://chorem.org/repositories/revision/pollen/3691
Log:
fixes #806: Updates to nuiton-utils 2.6.2
fixes #807: Updates to topia 2.7
fixes #808: updates to h2 1.3.168
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/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/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/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
trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/FavoriteService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/UserService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/AbstractJSONPaginedAction.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetCreatedPolls.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteListPollAccounts.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteLists.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetInvitedPolls.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetParticipatedPolls.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPollComments.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPolls.java
trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetUsers.java
trunk/pom.xml
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-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/CommentDAOImpl.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -24,13 +24,13 @@
import com.google.common.base.Preconditions;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
public class CommentDAOImpl<E extends Comment> extends CommentDAOAbstract<E> {
- public List<E> findComments(TopiaFilterPagerUtil.FilterPagerBean pager,
+ public List<E> findComments(TopiaPagerBean pager,
String pollId) throws TopiaException {
Preconditions.checkNotNull(pager);
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-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PersonListDAOImpl.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -25,25 +25,23 @@
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
public class PersonListDAOImpl<E extends PersonList> extends PersonListDAOAbstract<E> {
public List<E> findFavoriteLists(UserAccount user,
- TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
+ TopiaPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(user);
Preconditions.checkNotNull(pager);
- String countHql = "SELECT COUNT(*) FROM PersonListImpl WHERE " +
- "owner = :owner";
+ String hql = createSimpleQuery("e") + " WHERE e.owner = :owner";
+ String countHql = "SELECT COUNT(*) " + hql;
computeAndAddRecordsToPager(countHql, pager, "owner", user);
- String hql = "FROM PersonListImpl e WHERE e.owner = :owner";
-
List<E> result = findAllByQueryAndPager(hql, pager, "owner", user);
return result;
}
@@ -52,7 +50,7 @@
Preconditions.checkNotNull(user);
- String hql = "FROM PersonListImpl WHERE owner = :owner";
+ String hql = createSimpleQuery("e") + " WHERE e.owner = :owner";
List<E> result = findAllByQuery(hql, "owner", user);
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-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -29,7 +29,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -168,7 +168,7 @@
}
public List<E> findFavoriteListUsers(PersonList favoriteList,
- TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
+ TopiaPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(favoriteList);
Preconditions.checkNotNull(pager);
@@ -176,7 +176,7 @@
int records = favoriteList.sizePollAccount();
pager.setRecords(records);
- String hql = "FROM PollAccountImpl e WHERE e.personList = :owner";
+ String hql = createSimpleQuery("e") + " WHERE e.personList = :owner";
List<E> result = findAllByQueryAndPager(hql, pager, "owner", favoriteList);
return result;
@@ -188,7 +188,7 @@
Preconditions.checkNotNull(personListToUpdate);
Preconditions.checkNotNull(pollAccount);
- String hql = "FROM PollAccountImpl e WHERE " +
+ String hql = createSimpleQuery("e") + " WHERE " +
"e.personList = :person AND " +
"e.email = :email";
String pollAccountId = pollAccount.getTopiaId();
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-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollDAOImpl.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -28,15 +28,17 @@
import org.apache.commons.lang3.tuple.Pair;
import org.chorem.pollen.PollenFunctions;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+import org.nuiton.util.PagerBeanUtil;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
public class PollDAOImpl<E extends Poll> extends PollDAOAbstract<E> {
- public List<E> getPolls(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
+ public List<E> getPolls(TopiaPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(pager);
@@ -50,7 +52,7 @@
return result;
}
- public List<E> findCreatedPolls(TopiaFilterPagerUtil.FilterPagerBean pager,
+ public List<E> findCreatedPolls(TopiaPagerBean pager,
UserAccount user) throws TopiaException {
Preconditions.checkNotNull(pager);
@@ -67,7 +69,7 @@
return result;
}
- public List<Pair<Poll, PollAccount>> findInvitedPolls(TopiaFilterPagerUtil.FilterPagerBean pager,
+ public List<Pair<Poll, PollAccount>> findInvitedPolls(TopiaPagerBean pager,
UserAccount user) throws TopiaException {
Preconditions.checkNotNull(pager);
@@ -82,7 +84,7 @@
return result;
}
- public List<Pair<Poll, PollAccount>> findParticipatedPolls(TopiaFilterPagerUtil.FilterPagerBean pager,
+ public List<Pair<Poll, PollAccount>> findParticipatedPolls(TopiaPagerBean pager,
UserAccount user) throws TopiaException {
Preconditions.checkNotNull(pager);
@@ -108,7 +110,7 @@
}
protected List<Pair<Poll, PollAccount>> findAllWithPollAccounts(String hql,
- TopiaFilterPagerUtil.FilterPagerBean pager, Object... params)
+ TopiaPagerBean pager, Object... params)
throws TopiaException {
List<Object[]> queryResults = findAllByQuery(Object[].class, hql, params);
@@ -121,13 +123,23 @@
}
long records = mapResult.size();
pager.setRecords((int) records);
- TopiaFilterPagerUtil.computeRecordIndexesAndPagesNumber(pager);
+ PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
List<Map.Entry<Poll, PollAccount>> entries =
Lists.newLinkedList(mapResult.entrySet());
List<Pair<Poll, PollAccount>> result =
- Lists.transform(TopiaFilterPagerUtil.getPageFromList(entries, pager),
+ Lists.transform(getPageFromList(entries, pager),
PollenFunctions.MAP_ENTRY_TO_PAIR_FUNCTION);
return result;
}
+ public static <E> List<E> getPageFromList(List<E> elements,
+ TopiaPagerBean pager) {
+
+ PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
+ List<E> subList = PagerBeanUtil.getPage(elements, pager.getPageIndex(), pager.getPageSize());
+ List<E> result = new ArrayList<E>(subList);
+
+ return result;
+ }
+
}
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-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/UserAccountDAOImpl.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -25,7 +25,7 @@
import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -48,16 +48,16 @@
return result;
}
- public List<E> findUsers(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
+ public List<E> findUsers(TopiaPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(pager);
- String countHql = "SELECT COUNT(*) FROM UserAccountImpl";
+ String hql = createSimpleQuery("e");
+ String countHql = "SELECT COUNT(*) " + hql;
+
computeAndAddRecordsToPager(countHql, pager);
- String hql = "FROM UserAccountImpl";
-
List<E> result = findAllByQueryAndPager(hql, pager);
return result;
}
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-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/VoteDAOImpl.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -24,7 +24,7 @@
import com.google.common.base.Preconditions;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -45,7 +45,7 @@
}
public List<E> findAllVotesByPoll(Poll poll,
- TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
+ TopiaPagerBean pager) throws TopiaException {
Preconditions.checkNotNull(poll);
Preconditions.checkNotNull(pager);
Modified: 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 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/CommentDAOImplTest.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -26,7 +26,7 @@
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -52,9 +52,9 @@
tx.commitTransaction();
List<Comment> actual;
- TopiaFilterPagerUtil.FilterPagerBean pager;
+ TopiaPagerBean pager;
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Comment.PROPERTY_TEXT);
pager.setSortAscendant(true);
@@ -65,7 +65,7 @@
Assert.assertEquals("comment" + i, actual.get(i).getText());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setPageIndex(2);
pager.setSortColumn(Comment.PROPERTY_TEXT);
@@ -77,7 +77,7 @@
Assert.assertEquals("comment" + (5 + i), actual.get(i).getText());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Comment.PROPERTY_TEXT);
pager.setSortAscendant(false);
@@ -88,7 +88,7 @@
Assert.assertEquals("comment" + (8 - i), actual.get(i).getText());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Comment.PROPERTY_TEXT);
pager.setSortAscendant(false);
Modified: 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 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PersonListDAOImplTest.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -26,7 +26,7 @@
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -85,9 +85,9 @@
tx.commitTransaction();
List<PersonList> actual;
- TopiaFilterPagerUtil.FilterPagerBean pager;
+ TopiaPagerBean pager;
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(PersonList.PROPERTY_NAME);
pager.setSortAscendant(true);
@@ -99,7 +99,7 @@
Assert.assertEquals("name" + i, actual.get(i).getName());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setPageIndex(2);
pager.setSortColumn(PersonList.PROPERTY_NAME);
@@ -111,7 +111,7 @@
Assert.assertEquals("name" + (5 + i), actual.get(i).getName());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(PersonList.PROPERTY_NAME);
pager.setSortAscendant(false);
@@ -122,7 +122,7 @@
Assert.assertEquals("name" + (8 - i), actual.get(i).getName());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(PersonList.PROPERTY_NAME);
pager.setSortAscendant(false);
Modified: 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 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/PollDAOImplTest.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -29,7 +29,7 @@
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.DateUtil;
import java.util.Date;
@@ -68,9 +68,9 @@
tx.commitTransaction();
List<Poll> actual;
- TopiaFilterPagerUtil.FilterPagerBean pager;
+ TopiaPagerBean pager;
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Poll.PROPERTY_TITLE);
pager.setSortAscendant(true);
@@ -81,7 +81,7 @@
Assert.assertEquals("title" + i, actual.get(i).getTitle());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setPageIndex(2);
pager.setSortColumn(Poll.PROPERTY_TITLE);
@@ -93,7 +93,7 @@
Assert.assertEquals("title" + (5 + i), actual.get(i).getTitle());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Poll.PROPERTY_TITLE);
pager.setSortAscendant(false);
@@ -104,7 +104,7 @@
Assert.assertEquals("title" + (8 - i), actual.get(i).getTitle());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setPageIndex(3);
pager.setSortColumn(Poll.PROPERTY_TITLE);
@@ -136,9 +136,9 @@
tx.commitTransaction();
List<Poll> actual;
- TopiaFilterPagerUtil.FilterPagerBean pager;
+ TopiaPagerBean pager;
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Poll.PROPERTY_TITLE);
pager.setSortAscendant(true);
@@ -149,7 +149,7 @@
Assert.assertEquals("title" + i, actual.get(i).getTitle());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setPageIndex(2);
pager.setSortColumn(Poll.PROPERTY_TITLE);
@@ -161,7 +161,7 @@
Assert.assertEquals("title" + (5 + i), actual.get(i).getTitle());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Poll.PROPERTY_TITLE);
pager.setSortAscendant(false);
@@ -172,7 +172,7 @@
Assert.assertEquals("title" + (8 - i), actual.get(i).getTitle());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(Poll.PROPERTY_TITLE);
pager.setSortAscendant(false);
@@ -208,10 +208,10 @@
tx.commitTransaction();
- TopiaFilterPagerUtil.FilterPagerBean pager;
+ TopiaPagerBean pager;
List<Pair<Poll, PollAccount>> actual;
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
actual = dao.findParticipatedPolls(pager, userAccount1);
Modified: 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 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/UserAccountDAOImplTest.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -26,7 +26,7 @@
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -92,10 +92,10 @@
tx.commitTransaction();
- TopiaFilterPagerUtil.FilterPagerBean pager;
+ TopiaPagerBean pager;
List<UserAccount> actual;
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(UserAccount.PROPERTY_LOGIN);
pager.setSortAscendant(true);
@@ -106,7 +106,7 @@
Assert.assertEquals("login" + i, actual.get(i).getLogin());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setPageIndex(2);
pager.setSortColumn(UserAccount.PROPERTY_LOGIN);
@@ -118,7 +118,7 @@
Assert.assertEquals("login" + (5 + i), actual.get(i).getLogin());
}
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(5);
pager.setSortColumn(UserAccount.PROPERTY_LOGIN);
pager.setSortAscendant(false);
Modified: 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 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-persistence/src/test/java/org/chorem/pollen/business/persistence/VoteDAOImplTest.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -26,7 +26,7 @@
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.DateUtil;
import java.util.List;
@@ -107,8 +107,7 @@
tx.commitTransaction();
List<Vote> actual;
- TopiaFilterPagerUtil.FilterPagerBean pager =
- TopiaFilterPagerUtil.newFilterPagerBean();
+ TopiaPagerBean pager = new TopiaPagerBean();
pager.setPageSize(10);
actual = voteDAO.findAllVotesByPoll(poll1, pager);
@@ -118,7 +117,7 @@
Assert.assertEquals(vote1, actual.get(1));
Assert.assertFalse(actual.contains(vote3));
- pager = TopiaFilterPagerUtil.newFilterPagerBean();
+ pager = new TopiaPagerBean();
pager.setPageSize(10);
actual = voteDAO.findAllVotesByPoll(poll2, pager);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/FavoriteService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/FavoriteService.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/FavoriteService.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -45,7 +45,7 @@
import org.chorem.pollen.services.exceptions.ParticipantNotFoundInListException;
import org.chorem.pollen.services.exceptions.UserNotFoundException;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.StringUtil;
import javax.naming.NamingEnumeration;
@@ -72,7 +72,7 @@
private static final Log log = LogFactory.getLog(FavoriteService.class);
public List<PersonList> getFavoriteLists(UserAccount user,
- TopiaFilterPagerUtil.FilterPagerBean pager) {
+ TopiaPagerBean pager) {
Preconditions.checkNotNull(user);
Preconditions.checkNotNull(pager);
@@ -128,7 +128,7 @@
}
public List<PollAccount> getFavoriteListUsers(PersonList favoriteList,
- TopiaFilterPagerUtil.FilterPagerBean pager) {
+ TopiaPagerBean pager) {
Preconditions.checkNotNull(favoriteList);
Preconditions.checkNotNull(pager);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -33,7 +33,7 @@
import org.chorem.pollen.services.PollenServiceSupport;
import org.chorem.pollen.services.exceptions.PollCommentNotFound;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -145,8 +145,7 @@
return result;
}
- public List<Comment> getComments(TopiaFilterPagerUtil.FilterPagerBean pager,
- String pollId) {
+ public List<Comment> getComments(TopiaPagerBean pager, String pollId) {
Preconditions.checkNotNull(pager);
Preconditions.checkNotNull(pollId);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -58,7 +58,7 @@
import org.chorem.pollen.services.exceptions.PollChoiceNotFoundException;
import org.chorem.pollen.services.exceptions.PollNotFoundException;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.beans.Binder;
import javax.imageio.ImageIO;
@@ -421,7 +421,7 @@
return pollToUpdate;
}
- public List<Poll> getPolls(TopiaFilterPagerUtil.FilterPagerBean pager) {
+ public List<Poll> getPolls(TopiaPagerBean pager) {
Preconditions.checkNotNull(pager);
try {
@@ -433,8 +433,7 @@
}
}
- public List<Poll> getCreatedPolls(TopiaFilterPagerUtil.FilterPagerBean pager,
- UserAccount user) {
+ public List<Poll> getCreatedPolls(TopiaPagerBean pager, UserAccount user) {
Preconditions.checkNotNull(pager);
Preconditions.checkNotNull(user);
@@ -448,7 +447,7 @@
}
public List<Pair<Poll, PollAccount>> getInvitedPolls(
- TopiaFilterPagerUtil.FilterPagerBean pager,
+ TopiaPagerBean pager,
UserAccount user) {
Preconditions.checkNotNull(pager);
@@ -469,9 +468,8 @@
}
}
- public List<Pair<Poll, PollAccount>> getParticipatedPolls(
- TopiaFilterPagerUtil.FilterPagerBean pager,
- UserAccount user) {
+ public List<Pair<Poll, PollAccount>> getParticipatedPolls(TopiaPagerBean pager,
+ UserAccount user) {
Preconditions.checkNotNull(pager);
Preconditions.checkNotNull(user);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/UserService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/UserService.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/UserService.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -39,7 +39,7 @@
import org.chorem.pollen.services.exceptions.UserLoginAlreadyUsedException;
import org.chorem.pollen.services.exceptions.UserNotFoundException;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.topia.persistence.util.TopiaEntityBinder;
import org.nuiton.util.StringUtil;
import org.nuiton.util.beans.Binder;
@@ -263,7 +263,7 @@
}
}
- public List<UserAccount> getUsers(TopiaFilterPagerUtil.FilterPagerBean pager) {
+ public List<UserAccount> getUsers(TopiaPagerBean pager) {
Preconditions.checkNotNull(pager);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -45,7 +45,7 @@
import org.chorem.pollen.services.exceptions.PollAccountNotFound;
import org.chorem.pollen.services.exceptions.VoteNotFoundException;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
@@ -352,8 +352,7 @@
}
}
- public List<Vote> getVotesByPoll(Poll poll,
- TopiaFilterPagerUtil.FilterPagerBean pager) {
+ public List<Vote> getVotesByPoll(Poll poll, TopiaPagerBean pager) {
try {
VoteDAO dao = getDAO(Vote.class);
List<Vote> results = dao.findAllVotesByPoll(poll, pager);
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/AbstractJSONPaginedAction.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/AbstractJSONPaginedAction.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/AbstractJSONPaginedAction.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -26,7 +26,7 @@
import org.apache.struts2.json.JSONException;
import org.apache.struts2.json.JSONUtil;
import org.chorem.pollen.ui.actions.PollenActionSupport;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
/**
* Abstract JSON action with pagination support.
@@ -38,16 +38,23 @@
private static final long serialVersionUID = 1L;
- public abstract Integer getRows();
+ public final Integer getRows() {
+ return pager.getPageSize();
+ }
- public abstract Integer getPage();
+ public final Integer getPage() {
+ return pager.getPageIndex();
+ }
- public abstract Integer getTotal();
+ public final Long getTotal() {
+ return pager.getPagesNumber();
+ }
- public abstract Integer getRecords();
+ public final Long getRecords() {
+ return pager.getRecords();
+ }
- protected TopiaFilterPagerUtil.FilterPagerBean pager =
- TopiaFilterPagerUtil.newFilterPagerBean();
+ protected TopiaPagerBean pager = new TopiaPagerBean();
protected String filters;
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetCreatedPolls.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetCreatedPolls.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetCreatedPolls.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -51,26 +51,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
PollService pollService = getPollService();
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteListPollAccounts.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteListPollAccounts.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteListPollAccounts.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -58,26 +58,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
FavoriteService service = getFavoriteService();
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteLists.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteLists.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetFavoriteLists.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -45,26 +45,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
List<PersonList> allFavoriteLists = getFavoriteService().getFavoriteLists(
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetInvitedPolls.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetInvitedPolls.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetInvitedPolls.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -54,26 +54,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
PollService pollService = getPollService();
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetParticipatedPolls.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetParticipatedPolls.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetParticipatedPolls.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -54,26 +54,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
PollService pollService = getPollService();
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPollComments.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPollComments.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPollComments.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -57,26 +57,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
Preconditions.checkNotNull(pollId);
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPolls.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPolls.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetPolls.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -48,26 +48,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
PollService pollService = getPollService();
Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetUsers.java
===================================================================
--- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetUsers.java 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/json/GetUsers.java 2012-09-14 16:33:06 UTC (rev 3691)
@@ -48,26 +48,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
List<UserAccount> allUsers = getUserService().getUsers(pager);
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-09-05 21:04:41 UTC (rev 3690)
+++ trunk/pom.xml 2012-09-14 16:33:06 UTC (rev 3691)
@@ -153,13 +153,13 @@
<projectId>pollen</projectId>
<!-- customized versions -->
- <topiaVersion>2.6.14-SNAPSHOT</topiaVersion>
+ <topiaVersion>2.7</topiaVersion>
<eugenePluginVersion>2.5</eugenePluginVersion>
<nuitonI18nVersion>2.5</nuitonI18nVersion>
<nuitonWebVersion>1.11</nuitonWebVersion>
- <nuitonUtilsVersion>2.6.1</nuitonUtilsVersion>
- <h2Version>1.3.167</h2Version>
+ <nuitonUtilsVersion>2.6.2</nuitonUtilsVersion>
+ <h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
<struts2Version>2.3.4</struts2Version>
<jqueryPluginVersion>3.3.1</jqueryPluginVersion>
1
0
r3690 - trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration
by tchemit@users.chorem.org 05 Sep '12
by tchemit@users.chorem.org 05 Sep '12
05 Sep '12
Author: tchemit
Date: 2012-09-05 23:04:41 +0200 (Wed, 05 Sep 2012)
New Revision: 3690
Url: http://chorem.org/repositories/revision/pollen/3690
Log:
fixes #804: Can not acces no more to poll where I was admin and voter
Modified:
trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java 2012-09-05 20:09:16 UTC (rev 3689)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java 2012-09-05 21:04:41 UTC (rev 3690)
@@ -8,7 +8,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.chorem.pollen.PollenApplicationContext;
-import org.chorem.pollen.PollenConfiguration;
import org.chorem.pollen.business.persistence.Poll;
import org.chorem.pollen.business.persistence.PollAccount;
import org.chorem.pollen.business.persistence.PollDAO;
@@ -19,13 +18,17 @@
import org.chorem.pollen.services.PollenServiceContext;
import org.chorem.pollen.services.PollenServiceFactory;
import org.chorem.pollen.services.impl.VoteService;
-import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.nuiton.topia.framework.TopiaSQLQuery;
import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
import org.nuiton.util.Version;
import org.nuiton.util.VersionUtil;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@@ -54,34 +57,49 @@
boolean showSql,
boolean showProgression) throws TopiaException {
-
- PollenServiceFactory serviceFactory = new PollenServiceFactory();
-
PollenApplicationContext applicationContext = PollenApplicationContext.get(
ActionContext.getContext());
- PollenConfiguration configuration =
- applicationContext.getConfiguration();
-
-
PollenServiceContext sContext = DefaultPollenServiceContext.newContext(
Locale.getDefault(),
tx,
- configuration,
- serviceFactory,
+ applicationContext.getConfiguration(),
+ new PollenServiceFactory(),
applicationContext.getVoteCountingStrategyProvider()
);
// clean pollAccount for votes
// see http://chorem.org/issues/804
- removeDuplicateVoteWithSameUserAccount(sContext, queries);
+ removeDuplicateVoteWithSameUserAccount(tx, sContext, queries);
}
- private void removeDuplicateVoteWithSameUserAccount(PollenServiceContext sContext,
+ private void removeDuplicateVoteWithSameUserAccount(TopiaContextImplementor tx,
+ PollenServiceContext sContext,
List<String> queries) throws TopiaException {
- TopiaContext tx = sContext.getTransaction();
+ // get all poll with several votes with same userAccount
+ TopiaSQLQuery<String> getAllPollIdsQuery = new TopiaSQLQuery<String>() {
+ @Override
+ protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ PreparedStatement ps = connection.prepareStatement(
+ "SELECT p.pollid FROM poll p WHERE " +
+ "(SELECT COUNT(pa) > COUNT(DISTINCT(pa.useraccount)) " +
+ "FROM vote v,pollaccount pa WHERE " +
+ "v.poll = p.topiaid AND v.pollaccount = pa.topiaid " +
+ "AND pa.useraccount IS NOT NULL);");
+ return ps;
+ }
+
+ @Override
+ protected String prepareResult(ResultSet set) throws SQLException {
+ String pollId = set.getString(1);
+ return pollId;
+ }
+ };
+
+ List<String> pollIds = getAllPollIdsQuery.findMultipleResult(tx);
+
PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
VoteService voteService = sContext.newService(VoteService.class);
@@ -89,15 +107,17 @@
Multimap<Poll, PollAccount> accountToAnonymous = ArrayListMultimap.create();
Multimap<Poll, Vote> voteToFixByPoll = ArrayListMultimap.create();
- long nbPolls = pollDAO.count();
+ long nbPolls = pollIds.size();
int currentPollIndex = 0;
- for (Poll poll : pollDAO) {
+ for (String pollId : pollIds) {
if (log.isInfoEnabled()) {
- log.info("Scan poll [" + (currentPollIndex++) + "/" +
- nbPolls + "]" + poll.getPollId());
+ log.info("Treat bad poll [" + (currentPollIndex++) + "/" +
+ nbPolls + "]" + pollId);
}
+
+ Poll poll = pollDAO.findByPollId(pollId);
boolean pollAnonymous = poll.isAnonymous();
List<Vote> votes = voteService.getAllVotes(poll);
@@ -119,9 +139,8 @@
// ok found a userAccount
if (log.isWarnEnabled()) {
- log.warn("Found a poll" + (pollAnonymous ? "(anonymous)" : "") + " [" + poll.getPollId() + "] with multi vote for the same userAccount : " +
+ log.warn("Poll" + (pollAnonymous ? "(anonymous)" : "") + " [" + poll.getPollId() + "] with multi vote for the same userAccount : " +
userAccount.getEmail());
-
}
if (pollAnonymous) {
for (Vote vote : votesForUser) {
@@ -144,7 +163,7 @@
"poll to fix, will remove the userAccount from " +
"anonymous votes");
}
- String request = "UPDATE pollaccount set useraccount IS NULL WHERE topiaid='%s';";
+ String request = "UPDATE pollaccount set useraccount = NULL WHERE topiaid='%s';";
for (PollAccount account : accountToAnonymous.values()) {
queries.add(String.format(request, account.getTopiaId()));
}
@@ -157,9 +176,12 @@
log.warn("There is " + pollToFix.size() + " other polls " +
"to fix, will remove the userAccount from any votes");
}
+ String request = "UPDATE pollaccount set useraccount = NULL WHERE topiaid='%s';";
+ for (Vote account : voteToFixByPoll.values()) {
+ queries.add(String.format(request, account.getPollAccount().getTopiaId()));
+ }
}
-
}
final Function<Vote, UserAccount> voteToUserAccount = new Function<Vote, UserAccount>() {
1
0
r3689 - in trunk: . pollen-persistence/src/main/xmi pollen-services/src/main/java/org/chorem/pollen/entities/migration pollen-services/src/main/resources/META-INF/services
by tchemit@users.chorem.org 05 Sep '12
by tchemit@users.chorem.org 05 Sep '12
05 Sep '12
Author: tchemit
Date: 2012-09-05 22:09:16 +0200 (Wed, 05 Sep 2012)
New Revision: 3689
Url: http://chorem.org/repositories/revision/pollen/3689
Log:
refs #804: Can not acces no more to poll where I was admin and voter (fix by migration for anonymous poll)
Added:
trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java
Modified:
trunk/pollen-persistence/src/main/xmi/pollen.properties
trunk/pollen-services/src/main/resources/META-INF/services/org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG$MigrationCallBackForVersion
trunk/pom.xml
Modified: trunk/pollen-persistence/src/main/xmi/pollen.properties
===================================================================
--- trunk/pollen-persistence/src/main/xmi/pollen.properties 2012-09-05 17:49:33 UTC (rev 3688)
+++ trunk/pollen-persistence/src/main/xmi/pollen.properties 2012-09-05 20:09:16 UTC (rev 3689)
@@ -24,7 +24,7 @@
#model.tagvalue.dbSchema=Pollen
model.tagvalue.constantPrefix=PROPERTY_
model.tagvalue.java.lang.String=text
-model.tagvalue.version=1.4.5
+model.tagvalue.version=1.4.5.2
model.tagvalue.doNotGenerateBooleanGetMethods=true
model.tagvalue.indexForeignKeys=true
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java 2012-09-05 20:09:16 UTC (rev 3689)
@@ -0,0 +1,173 @@
+package org.chorem.pollen.entities.migration;
+
+import com.google.common.base.Function;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
+import com.opensymphony.xwork2.ActionContext;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.PollenApplicationContext;
+import org.chorem.pollen.PollenConfiguration;
+import org.chorem.pollen.business.persistence.Poll;
+import org.chorem.pollen.business.persistence.PollAccount;
+import org.chorem.pollen.business.persistence.PollDAO;
+import org.chorem.pollen.business.persistence.UserAccount;
+import org.chorem.pollen.business.persistence.Vote;
+import org.chorem.pollen.entities.PollenDAOHelper;
+import org.chorem.pollen.services.DefaultPollenServiceContext;
+import org.chorem.pollen.services.PollenServiceContext;
+import org.chorem.pollen.services.PollenServiceFactory;
+import org.chorem.pollen.services.impl.VoteService;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
+import org.nuiton.util.Version;
+import org.nuiton.util.VersionUtil;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+
+/**
+ * Migration for version {@code 1.4.5.2}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.4.5.2
+ */
+public class PollenMigrationCallbackV1_4_5_2 extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(PollenMigrationCallbackV1_4_5_2.class);
+
+ @Override
+ public Version getVersion() {
+ return VersionUtil.valueOf("1.4.5.2");
+ }
+
+ @Override
+ protected void prepareMigrationScript(TopiaContextImplementor tx,
+ List<String> queries,
+ boolean showSql,
+ boolean showProgression) throws TopiaException {
+
+
+ PollenServiceFactory serviceFactory = new PollenServiceFactory();
+
+ PollenApplicationContext applicationContext = PollenApplicationContext.get(
+ ActionContext.getContext());
+
+ PollenConfiguration configuration =
+ applicationContext.getConfiguration();
+
+
+ PollenServiceContext sContext = DefaultPollenServiceContext.newContext(
+ Locale.getDefault(),
+ tx,
+ configuration,
+ serviceFactory,
+ applicationContext.getVoteCountingStrategyProvider()
+ );
+
+ // clean pollAccount for votes
+ // see http://chorem.org/issues/804
+ removeDuplicateVoteWithSameUserAccount(sContext, queries);
+ }
+
+ private void removeDuplicateVoteWithSameUserAccount(PollenServiceContext sContext,
+ List<String> queries) throws TopiaException {
+
+ TopiaContext tx = sContext.getTransaction();
+
+ PollDAO pollDAO = PollenDAOHelper.getPollDAO(tx);
+
+ VoteService voteService = sContext.newService(VoteService.class);
+
+ Multimap<Poll, PollAccount> accountToAnonymous = ArrayListMultimap.create();
+ Multimap<Poll, Vote> voteToFixByPoll = ArrayListMultimap.create();
+
+ long nbPolls = pollDAO.count();
+ int currentPollIndex = 0;
+
+ for (Poll poll : pollDAO) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Scan poll [" + (currentPollIndex++) + "/" +
+ nbPolls + "]" + poll.getPollId());
+ }
+ boolean pollAnonymous = poll.isAnonymous();
+
+ List<Vote> votes = voteService.getAllVotes(poll);
+
+ Multimap<UserAccount, Vote> voteByUserAccount = ArrayListMultimap.create();
+ for (Vote vote : votes) {
+ UserAccount useraccount = voteToUserAccount.apply(vote);
+ if (useraccount != null) {
+ voteByUserAccount.put(useraccount, vote);
+ }
+ }
+
+ for (UserAccount userAccount : voteByUserAccount.keySet()) {
+
+ if (userAccount != null) {
+
+ Collection<Vote> votesForUser = voteByUserAccount.get(userAccount);
+ if (votesForUser.size() > 1) {
+
+ // ok found a userAccount
+ if (log.isWarnEnabled()) {
+ log.warn("Found a poll" + (pollAnonymous ? "(anonymous)" : "") + " [" + poll.getPollId() + "] with multi vote for the same userAccount : " +
+ userAccount.getEmail());
+
+ }
+ if (pollAnonymous) {
+ for (Vote vote : votesForUser) {
+ accountToAnonymous.put(poll, vote.getPollAccount());
+ }
+ } else {
+ voteToFixByPoll.putAll(poll, votesForUser);
+ }
+ }
+ }
+ }
+ }
+
+ // treat anonymous vote
+ Set<Poll> anonymousPollToFix = accountToAnonymous.keySet();
+
+ if (CollectionUtils.isNotEmpty(anonymousPollToFix)) {
+ if (log.isWarnEnabled()) {
+ log.warn("There is " + anonymousPollToFix.size() + " anonymous " +
+ "poll to fix, will remove the userAccount from " +
+ "anonymous votes");
+ }
+ String request = "UPDATE pollaccount set useraccount IS NULL WHERE topiaid='%s';";
+ for (PollAccount account : accountToAnonymous.values()) {
+ queries.add(String.format(request, account.getTopiaId()));
+ }
+ }
+
+ // treat other votes
+ Set<Poll> pollToFix = voteToFixByPoll.keySet();
+ if (CollectionUtils.isNotEmpty(pollToFix)) {
+ if (log.isWarnEnabled()) {
+ log.warn("There is " + pollToFix.size() + " other polls " +
+ "to fix, will remove the userAccount from any votes");
+ }
+ }
+
+
+ }
+
+ final Function<Vote, UserAccount> voteToUserAccount = new Function<Vote, UserAccount>() {
+ @Override
+ public UserAccount apply(Vote input) {
+ PollAccount pollAccount = input.getPollAccount();
+ return pollAccount == null ? null : pollAccount.getUserAccount();
+ }
+ };
+
+}
\ No newline at end of file
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/entities/migration/PollenMigrationCallbackV1_4_5_2.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/pollen-services/src/main/resources/META-INF/services/org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG$MigrationCallBackForVersion
===================================================================
--- trunk/pollen-services/src/main/resources/META-INF/services/org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG$MigrationCallBackForVersion 2012-09-05 17:49:33 UTC (rev 3688)
+++ trunk/pollen-services/src/main/resources/META-INF/services/org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG$MigrationCallBackForVersion 2012-09-05 20:09:16 UTC (rev 3689)
@@ -3,4 +3,5 @@
org.chorem.pollen.entities.migration.PollenMigrationCallbackV1_3
org.chorem.pollen.entities.migration.PollenMigrationCallbackV1_3_1
org.chorem.pollen.entities.migration.PollenMigrationCallbackV1_4
-org.chorem.pollen.entities.migration.PollenMigrationCallbackV1_4_5
\ No newline at end of file
+org.chorem.pollen.entities.migration.PollenMigrationCallbackV1_4_5
+org.chorem.pollen.entities.migration.PollenMigrationCallbackV1_4_5_2
\ No newline at end of file
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-09-05 17:49:33 UTC (rev 3688)
+++ trunk/pom.xml 2012-09-05 20:09:16 UTC (rev 3689)
@@ -153,7 +153,7 @@
<projectId>pollen</projectId>
<!-- customized versions -->
- <topiaVersion>2.6.13</topiaVersion>
+ <topiaVersion>2.6.14-SNAPSHOT</topiaVersion>
<eugenePluginVersion>2.5</eugenePluginVersion>
<nuitonI18nVersion>2.5</nuitonI18nVersion>
1
0
r3688 - trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence
by tchemit@users.chorem.org 05 Sep '12
by tchemit@users.chorem.org 05 Sep '12
05 Sep '12
Author: tchemit
Date: 2012-09-05 19:49:33 +0200 (Wed, 05 Sep 2012)
New Revision: 3688
Url: http://chorem.org/repositories/revision/pollen/3688
Log:
refs #804: Can not acces no more to poll where I was admin and voter (for the moment warn when finding more than one voter for a poll...)
Modified:
trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java
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-09-05 17:48:19 UTC (rev 3687)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-09-05 17:49:33 UTC (rev 3688)
@@ -24,7 +24,10 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
@@ -32,6 +35,9 @@
public class PollAccountDAOImpl<E extends PollAccount> extends PollAccountDAOAbstract<E> {
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PollAccountDAOImpl.class);
+
/**
* Get a restricted poll account for a given poll (by his {@link Poll#getPollId()})
* using the {@link PollAccount#getAccountId()} of the pollAccount
@@ -143,7 +149,21 @@
hql += "e.userAccount = :user";
}
- E result = findByQuery(hql, params.toArray());
+ List<E> allVoter = findAllByQuery(hql, params.toArray());
+ E result = null;
+ if (CollectionUtils.isNotEmpty(allVoter)) {
+ if (allVoter.size() > 1) {
+ if (log.isWarnEnabled()) {
+ log.warn("Multiple voter found for poll " + pollId);
+ for (E e : allVoter) {
+ if (log.isWarnEnabled()) {
+ log.warn("accountId: " + e.getAccountId());
+ }
+ }
+ }
+ }
+ result = allVoter.get(0);
+ }
return result;
}
@@ -156,12 +176,6 @@
int records = favoriteList.sizePollAccount();
pager.setRecords(records);
-// TopiaQuery query = createQuery("e");
-// TopiaFilterPagerUtil.addPagerToQuery(query, pager);
-// query.addWhere("e." + PollAccount.PROPERTY_PERSON_LIST, TopiaQuery.Op.EQ, favoriteList);
-//
-// List<E> result = findAllByQuery(query);
-
String hql = "FROM PollAccountImpl e WHERE e.personList = :owner";
List<E> result = findAllByQueryAndPager(hql, pager, "owner", favoriteList);
@@ -174,21 +188,6 @@
Preconditions.checkNotNull(personListToUpdate);
Preconditions.checkNotNull(pollAccount);
-// // check there is other poll account in this list with same id
-// TopiaQuery query = createQuery("e");
-// query.addWhere("e." + PollAccount.PROPERTY_PERSON_LIST, TopiaQuery.Op.EQ, personListToUpdate);
-// query.addWhere("e." + PollAccount.PROPERTY_EMAIL, TopiaQuery.Op.EQ, pollAccount.getEmail());
-//
-// String pollAccountId = pollAccount.getTopiaId();
-// if (pollAccountId == null) {
-// // no check necessary, it's a new pollAccount
-//
-// } else {
-// query.addWhere("e." + PollAccount.TOPIA_ID, TopiaQuery.Op.NEQ, pollAccountId);
-// }
-//
-// boolean result = existByQuery(query);
-
String hql = "FROM PollAccountImpl e WHERE " +
"e.personList = :person AND " +
"e.email = :email";
1
0
05 Sep '12
Author: tchemit
Date: 2012-09-05 19:48:19 +0200 (Wed, 05 Sep 2012)
New Revision: 3687
Url: http://chorem.org/repositories/revision/pollen/3687
Log:
pass to version 1.4.5.2
Modified:
trunk/pollen-persistence/pom.xml
trunk/pollen-services/pom.xml
trunk/pollen-ui-struts2/pom.xml
trunk/pollen-votecounting-api/pom.xml
trunk/pollen-votecounting-strategy-borda/pom.xml
trunk/pollen-votecounting-strategy-condorcet/pom.xml
trunk/pollen-votecounting-strategy-coombs/pom.xml
trunk/pollen-votecounting-strategy-instant-runoff/pom.xml
trunk/pollen-votecounting-strategy-normal/pom.xml
trunk/pollen-votecounting-strategy-number/pom.xml
trunk/pollen-votecounting-strategy-percentage/pom.xml
trunk/pollen-votecounting-strategy/pom.xml
trunk/pollen-votecounting/pom.xml
trunk/pom.xml
Modified: trunk/pollen-persistence/pom.xml
===================================================================
--- trunk/pollen-persistence/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-persistence/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-services/pom.xml
===================================================================
--- trunk/pollen-services/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-services/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-ui-struts2/pom.xml
===================================================================
--- trunk/pollen-ui-struts2/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-ui-struts2/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting/pom.xml
===================================================================
--- trunk/pollen-votecounting/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-api/pom.xml
===================================================================
--- trunk/pollen-votecounting-api/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-api/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-borda/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-borda/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-borda/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-condorcet/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-condorcet/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-condorcet/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-coombs/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-coombs/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-coombs/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-instant-runoff/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-instant-runoff/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-instant-runoff/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-normal/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-normal/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-normal/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-number/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-number/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-number/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pollen-votecounting-strategy-percentage/pom.xml
===================================================================
--- trunk/pollen-votecounting-strategy-percentage/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pollen-votecounting-strategy-percentage/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-09-05 16:01:25 UTC (rev 3686)
+++ trunk/pom.xml 2012-09-05 17:48:19 UTC (rev 3687)
@@ -15,7 +15,7 @@
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.4.5.2-SNAPSHOT</version>
<modules>
<module>pollen-votecounting-api</module>
1
0