1
22
23 package com.liferay.portlet.rss.action;
24
25 import com.liferay.portal.kernel.portlet.ConfigurationAction;
26 import com.liferay.portal.kernel.util.Constants;
27 import com.liferay.portal.kernel.util.ParamUtil;
28 import com.liferay.portlet.PortletPreferencesFactoryUtil;
29 import com.liferay.util.servlet.SessionErrors;
30 import com.liferay.util.servlet.SessionMessages;
31
32 import javax.portlet.ActionRequest;
33 import javax.portlet.ActionResponse;
34 import javax.portlet.PortletConfig;
35 import javax.portlet.PortletPreferences;
36 import javax.portlet.RenderRequest;
37 import javax.portlet.RenderResponse;
38 import javax.portlet.ValidatorException;
39
40
46 public class ConfigurationActionImpl implements ConfigurationAction {
47
48 public void processAction(
49 PortletConfig config, ActionRequest req, ActionResponse res)
50 throws Exception {
51
52 try {
53 String cmd = ParamUtil.getString(req, Constants.CMD);
54
55 if (!cmd.equals(Constants.UPDATE)) {
56 return;
57 }
58
59 String[] urls = req.getParameterValues("url");
60 String[] titles = req.getParameterValues("title");
61 int entriesPerFeed = ParamUtil.getInteger(req, "entriesPerFeed", 4);
62
63 String portletResource = ParamUtil.getString(
64 req, "portletResource");
65
66 PortletPreferences prefs =
67 PortletPreferencesFactoryUtil.getPortletSetup(
68 req, portletResource, true, true);
69
70 if (urls != null && titles != null) {
71 prefs.setValues("urls", urls);
72 prefs.setValues("titles", titles);
73 }
74 else {
75 prefs.setValues("urls", new String[0]);
76 prefs.setValues("titles", new String[0]);
77 }
78
79 prefs.setValue("items-per-channel", String.valueOf(entriesPerFeed));
80
81 prefs.store();
82
83 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
84 }
85 catch (ValidatorException ve) {
86 SessionErrors.add(req, ValidatorException.class.getName(), ve);
87 }
88 }
89
90 public String render(
91 PortletConfig config, RenderRequest req, RenderResponse res)
92 throws Exception {
93
94 return "/html/portlet/rss/configuration.jsp";
95 }
96
97 }