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