Author: tchemit Date: 2012-05-18 02:56:32 +0200 (Fri, 18 May 2012) New Revision: 3371 Url: http://chorem.org/repositories/revision/pollen/3371 Log: fixes #552: Les anciens liens de sondage avec pagination ne fonctionnent plus Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollUriIdAction.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/AbstractPollenAuthorization.java trunk/pollen-ui-struts2/src/main/resources/config/struts-poll.xml Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollUriIdAction.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollUriIdAction.java 2012-05-18 00:54:57 UTC (rev 3370) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollUriIdAction.java 2012-05-18 00:56:32 UTC (rev 3371) @@ -23,6 +23,8 @@ */ package org.chorem.pollen.ui.actions.poll; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.chorem.pollen.bean.PollUri; import org.chorem.pollen.ui.actions.PollUriConverter; import org.chorem.pollen.ui.actions.PollenActionSupport; @@ -37,21 +39,43 @@ * @since 1.3 */ public abstract class AbstractPollUriIdAction extends PollenActionSupport { - + public static final String PARAM_POLL_URI = "uriId"; + public static final String PARAM_POLL_PAGE = "page"; + private static final long serialVersionUID = 1L; - + + /** Logger. */ + private static final Log log = + LogFactory.getLog(AbstractPollUriIdAction.class); + private PollUri pollUri; + private int page; + public final PollUri getUriId() { return pollUri; } public final void setUriId(PollUri pollUri) { + if (log.isInfoEnabled()) { + log.info("PollUri : " + pollUri.getUri()); + } this.pollUri = pollUri; } + public final int getPage() { + return page; + } + + public final void setPage(int page) { + if (log.isInfoEnabled()) { + log.info("Page number : " + page); + } + this.page = page; + } + public final String getPollId() { return pollUri != null ? pollUri.getPollId() : null; } Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-05-18 00:54:57 UTC (rev 3370) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-05-18 00:56:32 UTC (rev 3371) @@ -93,7 +93,7 @@ private String commentAuthor; - private String voteSizeMessage; +// private String voteSizeMessage; private List<PollResult> results; Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/AbstractPollenAuthorization.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/AbstractPollenAuthorization.java 2012-05-18 00:54:57 UTC (rev 3370) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/AbstractPollenAuthorization.java 2012-05-18 00:56:32 UTC (rev 3371) @@ -52,8 +52,16 @@ public abstract class AbstractPollenAuthorization extends AuthorizationFilter { + /** + * Pattern to detects uri from a pollen url : + * group 1 is action namespace + * group 2 is action name + * group 3 is pollUri + * group 4 is poll page (optional) + * group 5 is method (optional) + */ public static final Pattern URI_PATTERN = - Pattern.compile("/.*/(.[^/]+)/(.[^!]+)"); + Pattern.compile("/(.[^/]+)/(.[^/]+)/(.[^!/]+)(/.[^!/]*){0,1}(!.*){0,1}"); /** Logger. */ private static final Log log = @@ -84,7 +92,7 @@ PollUri result = null; if (m.find()) { - String uriId = m.group(2); + String uriId = m.group(3); result = PollUri.newPollUri(uriId); } Modified: trunk/pollen-ui-struts2/src/main/resources/config/struts-poll.xml =================================================================== --- trunk/pollen-ui-struts2/src/main/resources/config/struts-poll.xml 2012-05-18 00:54:57 UTC (rev 3370) +++ trunk/pollen-ui-struts2/src/main/resources/config/struts-poll.xml 2012-05-18 00:56:32 UTC (rev 3371) @@ -150,6 +150,14 @@ <result name="input">/WEB-INF/jsp/poll/vote.jsp</result> </action> + <!-- vote poll (input) + page number (for future paginated polls) --> + <action name="votefor/*/*" method="input" + class="org.chorem.pollen.ui.actions.poll.VoteForPoll"> + <param name="uriId">{1}</param> + <param name="page">{2}</param> + <result name="input">/WEB-INF/jsp/poll/vote.jsp</result> + </action> + <!-- vote poll (input) (to fix http://chorem.org/issues/550) --> <action name="VoteFor/*" method="input" class="org.chorem.pollen.ui.actions.poll.VoteForPoll"> @@ -157,6 +165,14 @@ <result name="input">/WEB-INF/jsp/poll/vote.jsp</result> </action> + <!-- vote poll (input) + page number (for future paginated polls)(to fix http://chorem.org/issues/550) --> + <action name="VoteFor/*/*" method="input" + class="org.chorem.pollen.ui.actions.poll.VoteForPoll"> + <param name="uriId">{1}</param> + <param name="page">{2}</param> + <result name="input">/WEB-INF/jsp/poll/vote.jsp</result> + </action> + <!-- add a choice --> <action name="addChoice/*" class="org.chorem.pollen.ui.actions.poll.AddChoice">