1
14
15 package com.liferay.portlet.pollsdisplay.action;
16
17 import com.liferay.portal.kernel.servlet.SessionErrors;
18 import com.liferay.portal.kernel.util.GetterUtil;
19 import com.liferay.portal.kernel.util.StringPool;
20 import com.liferay.portal.security.auth.PrincipalException;
21 import com.liferay.portal.struts.PortletAction;
22 import com.liferay.portal.util.WebKeys;
23 import com.liferay.portlet.polls.NoSuchQuestionException;
24 import com.liferay.portlet.polls.model.PollsQuestion;
25 import com.liferay.portlet.polls.service.PollsQuestionServiceUtil;
26
27 import javax.portlet.PortletConfig;
28 import javax.portlet.PortletPreferences;
29 import javax.portlet.RenderRequest;
30 import javax.portlet.RenderResponse;
31
32 import org.apache.struts.action.ActionForm;
33 import org.apache.struts.action.ActionForward;
34 import org.apache.struts.action.ActionMapping;
35
36
41 public class ViewAction extends PortletAction {
42
43 public ActionForward render(
44 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
45 RenderRequest renderRequest, RenderResponse renderResponse)
46 throws Exception {
47
48 try {
49 PortletPreferences preferences = renderRequest.getPreferences();
50
51 long questionId = GetterUtil.getLong(
52 preferences.getValue("question-id", StringPool.BLANK));
53
54 PollsQuestion question =
55 PollsQuestionServiceUtil.getQuestion(questionId);
56
57 renderRequest.setAttribute(WebKeys.POLLS_QUESTION, question);
58
59 return mapping.findForward("portlet.polls_display.view");
60 }
61 catch (NoSuchQuestionException nsqe) {
62 return mapping.findForward("/portal/portlet_not_setup");
63 }
64 catch (PrincipalException pe) {
65 SessionErrors.add(renderRequest, pe.getClass().getName());
66
67 return mapping.findForward("portlet.polls_display.error");
68 }
69 }
70
71 }