1
22
23 package com.liferay.portlet.amazonrankings.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.portal.kernel.util.StringPool;
29 import com.liferay.portal.kernel.util.StringUtil;
30 import com.liferay.portlet.PortletPreferencesFactoryUtil;
31 import com.liferay.util.servlet.SessionErrors;
32 import com.liferay.util.servlet.SessionMessages;
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 implements ConfigurationAction {
51
52 public void processAction(
53 PortletConfig config, ActionRequest req, ActionResponse res)
54 throws Exception {
55
56 try {
57 String cmd = ParamUtil.getString(req, Constants.CMD);
58
59 if (!cmd.equals(Constants.UPDATE)) {
60 return;
61 }
62
63 String[] isbns = StringUtil.split(
64 ParamUtil.getString(req, "isbns").toUpperCase(),
65 StringPool.SPACE);
66
67 Arrays.sort(isbns);
68
69 String portletResource = ParamUtil.getString(
70 req, "portletResource");
71
72 PortletPreferences prefs =
73 PortletPreferencesFactoryUtil.getPortletSetup(
74 req, portletResource, true, true);
75
76 prefs.setValues("isbns", isbns);
77
78 prefs.store();
79
80 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
81 }
82 catch (ValidatorException ve) {
83 SessionErrors.add(req, ValidatorException.class.getName(), ve);
84 }
85 }
86
87 public String render(
88 PortletConfig config, RenderRequest req, RenderResponse res)
89 throws Exception {
90
91 return "/html/portlet/amazon_rankings/configuration.jsp";
92 }
93
94 }