1
22
23 package com.liferay.portlet.amazonrankings.action;
24
25 import com.liferay.portal.kernel.portlet.BaseConfigurationAction;
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.portal.kernel.util.StringPool;
31 import com.liferay.portal.kernel.util.StringUtil;
32 import com.liferay.portlet.PortletPreferencesFactoryUtil;
33
34 import java.util.Arrays;
35
36 import javax.portlet.ActionRequest;
37 import javax.portlet.ActionResponse;
38 import javax.portlet.PortletConfig;
39 import javax.portlet.PortletPreferences;
40 import javax.portlet.RenderRequest;
41 import javax.portlet.RenderResponse;
42 import javax.portlet.ValidatorException;
43
44
50 public class ConfigurationActionImpl extends BaseConfigurationAction {
51
52 public void processAction(
53 PortletConfig portletConfig, ActionRequest actionRequest,
54 ActionResponse actionResponse)
55 throws Exception {
56
57 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
58
59 if (!cmd.equals(Constants.UPDATE)) {
60 return;
61 }
62
63 String[] isbns = StringUtil.split(
64 ParamUtil.getString(actionRequest, "isbns").toUpperCase(),
65 StringPool.SPACE);
66
67 Arrays.sort(isbns);
68
69 String portletResource = ParamUtil.getString(
70 actionRequest, "portletResource");
71
72 PortletPreferences prefs =
73 PortletPreferencesFactoryUtil.getPortletSetup(
74 actionRequest, portletResource);
75
76 prefs.setValues("isbns", isbns);
77
78 try {
79 prefs.store();
80 }
81 catch (ValidatorException ve) {
82 SessionErrors.add(
83 actionRequest, ValidatorException.class.getName(), ve);
84
85 return;
86 }
87
88 SessionMessages.add(
89 actionRequest, portletConfig.getPortletName() + ".doConfigure");
90 }
91
92 public String render(
93 PortletConfig portletConfig, RenderRequest renderRequest,
94 RenderResponse renderResponse)
95 throws Exception {
96
97 return "/html/portlet/amazon_rankings/configuration.jsp";
98 }
99
100 }