1
22
23 package com.liferay.portlet.pollsdisplay.action;
24
25 import com.liferay.portal.kernel.portlet.ConfigurationAction;
26 import com.liferay.portal.kernel.servlet.SessionErrors;
27 import com.liferay.portal.kernel.servlet.SessionMessages;
28 import com.liferay.portal.kernel.util.Constants;
29 import com.liferay.portal.kernel.util.ParamUtil;
30 import com.liferay.portlet.PortletPreferencesFactoryUtil;
31 import com.liferay.portlet.polls.NoSuchQuestionException;
32 import com.liferay.portlet.polls.service.PollsQuestionServiceUtil;
33
34 import javax.portlet.ActionRequest;
35 import javax.portlet.ActionResponse;
36 import javax.portlet.PortletConfig;
37 import javax.portlet.PortletPreferences;
38 import javax.portlet.RenderRequest;
39 import javax.portlet.RenderResponse;
40
41
47 public class ConfigurationActionImpl implements ConfigurationAction {
48
49 public void processAction(
50 PortletConfig portletConfig, ActionRequest actionRequest,
51 ActionResponse actionResponse)
52 throws Exception {
53
54 try {
55 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
56
57 if (!cmd.equals(Constants.UPDATE)) {
58 return;
59 }
60
61 long questionId = ParamUtil.getLong(actionRequest, "questionId");
62
63 PollsQuestionServiceUtil.getQuestion(questionId);
64
65 String portletResource = ParamUtil.getString(
66 actionRequest, "portletResource");
67
68 PortletPreferences preferences =
69 PortletPreferencesFactoryUtil.getPortletSetup(
70 actionRequest, portletResource);
71
72 preferences.setValue("question-id", String.valueOf(questionId));
73
74 preferences.store();
75
76 SessionMessages.add(
77 actionRequest, portletConfig.getPortletName() + ".doConfigure");
78 }
79 catch (NoSuchQuestionException nsqe) {
80 SessionErrors.add(actionRequest, nsqe.getClass().getName());
81 }
82 }
83
84 public String render(
85 PortletConfig portletConfig, RenderRequest renderRequest,
86 RenderResponse renderResponse)
87 throws Exception {
88
89 return "/html/portlet/polls_display/configuration.jsp";
90 }
91
92 }