r3173 - in branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll resources/config webapp/WEB-INF/jsp
Author: tchemit Date: 2012-03-08 01:20:50 +0100 (Thu, 08 Mar 2012) New Revision: 3173 Url: http://chorem.org/repositories/revision/pollen/3173 Log: export is working + use service api Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ExportPoll.java branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/config/struts-poll.xml branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/pollListHelper.jsp Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-03-08 00:20:21 UTC (rev 3172) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-03-08 00:20:50 UTC (rev 3173) @@ -92,8 +92,6 @@ private PollAccount pollAccount; -// private String pollAccountId; - private List<PollResult> results; private List<Comment> comments; @@ -253,18 +251,13 @@ comments = service.getAllComments(poll.getPollId()); } - protected void loadPollResults() { + protected void loadPollResults() throws PollNotFoundException { PollResultsService service = getPollResultsService(); - PollResultList resultListDTO; - if (isGroupPoll()) { - resultListDTO = service.getGroupResults(poll.getPollId()); - } else { - resultListDTO = service.getNormalResults(poll.getPollId()); - } + PollResultList pollResultList = service.getResults(poll.getPollId()); - results = resultListDTO.getPollResults(); + results = pollResultList.getPollResults(); if (log.isDebugEnabled()) { for (PollResult res : results) { @@ -425,8 +418,6 @@ protected void loadPoll() throws PollNotFoundException { -// Preconditions.checkNotNull(pollId); - PollService service = newService(PollService.class); if (StringUtils.isNotEmpty(pollId)) { Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ExportPoll.java =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ExportPoll.java 2012-03-08 00:20:21 UTC (rev 3172) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ExportPoll.java 2012-03-08 00:20:50 UTC (rev 3173) @@ -23,8 +23,12 @@ */ package org.chorem.pollen.ui.actions.poll; -import org.chorem.pollen.ui.actions.PollenActionSupport; +import com.google.common.base.Preconditions; +import org.apache.commons.io.IOUtils; +import org.chorem.pollen.services.impl.PollResultsService; +import java.io.InputStream; + /** * Exports an existing poll. * @@ -34,4 +38,40 @@ public class ExportPoll extends AbstractPollUriIdAction { private static final long serialVersionUID = 1L; + + protected String filename; + + protected long contentLength; + + protected transient InputStream inputStream; + + public long getContentLength() { + return contentLength; + } + + public InputStream getInputStream() { + return inputStream; + } + + public String getFilename() { + return filename; + } + + @Override + public String execute() throws Exception { + + Preconditions.checkNotNull(pollId); + + PollResultsService service = newService(PollResultsService.class); + + String exportContent = service.exportPolltoXml(pollId); + + filename = "exportPoll-" + pollId + ".xml"; + + contentLength = exportContent.length() * 2; + + inputStream = IOUtils.toInputStream(exportContent); + + return SUCCESS; + } } Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java 2012-03-08 00:20:21 UTC (rev 3172) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ResultForPoll.java 2012-03-08 00:20:50 UTC (rev 3173) @@ -41,6 +41,7 @@ import org.chorem.pollen.common.ChoiceType; import org.chorem.pollen.common.PollType; import org.chorem.pollen.common.VoteCountingType; +import org.chorem.pollen.services.exceptions.PollNotFoundException; import org.chorem.pollen.services.impl.PollResultsService; import org.chorem.pollen.services.impl.PollService; import org.nuiton.util.StringUtil; @@ -246,17 +247,12 @@ this.byGroup = byGroup; } - protected void loadResults() { + protected void loadResults() throws PollNotFoundException { - PollResultsService pollResultService = - newService(PollResultsService.class); + PollResultsService service = newService(PollResultsService.class); - PollResultList resultListDTO; - if (byGroup) { - resultListDTO = pollResultService.getGroupResults(poll.getPollId()); - } else { - resultListDTO = pollResultService.getNormalResults(poll.getPollId()); - } + PollResultList resultListDTO = + service.getResults(poll.getPollId()); results = resultListDTO.getPollResults(); @@ -276,13 +272,13 @@ // sous-titres des vrais choix (les choix pas cachés) subtitles = ArrayListMultimap.create(); - results = pollResultService.createNumberVoteCountingResult( + results = service.createNumberVoteCountingResult( resultListDTO, choicesResults, subtitles); } - topRanking = pollResultService.getTopRanking(results); + topRanking = service.getTopRanking(results); if (log.isInfoEnabled()) { log.info("topRanking = " + topRanking); Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/config/struts-poll.xml =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/config/struts-poll.xml 2012-03-08 00:20:21 UTC (rev 3172) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/config/struts-poll.xml 2012-03-08 00:20:50 UTC (rev 3173) @@ -100,8 +100,13 @@ <action name="export/*" class="org.chorem.pollen.ui.actions.poll.ExportPoll"> <param name="uriId">{1}</param> - <result name="input">/WEB-INF/jsp/poll/export.jsp</result> - <result>/WEB-INF/jsp/home.jsp</result> + <result type="stream"> + <param name="contentCharSet">UTF-8</param> + <param name="contentType">application/xml</param> + <param name="contentDisposition">attachment;filename="${filename}"</param> + <param name="encode">true</param> + <param name="bufferSize">4096</param> + </result> </action> <!-- close poll --> Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/pollListHelper.jsp =================================================================== --- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/pollListHelper.jsp 2012-03-08 00:20:21 UTC (rev 3172) +++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/pollListHelper.jsp 2012-03-08 00:20:50 UTC (rev 3173) @@ -45,7 +45,7 @@ <s:url id='closeImg' value='/img/close.png'/> <s:set id='closeTitle'><s:text name="pollen.action.pollClose"/></s:set> -<s:url id="exportUrl" action="export/" namespace="/poll" method="input"/> +<s:url id="exportUrl" action="export/" namespace="/poll"/> <s:url id='exportImg' value='/img/export.png'/> <s:set id='exportTitle'><s:text name="pollen.action.pollExport"/></s:set>
participants (1)
-
tchemit@users.chorem.org