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 String cmd = ParamUtil.getString(req, Constants.CMD);
57
58 if (!cmd.equals(Constants.UPDATE)) {
59 return;
60 }
61
62 String[] isbns = StringUtil.split(
63 ParamUtil.getString(req, "isbns").toUpperCase(), StringPool.SPACE);
64
65 Arrays.sort(isbns);
66
67 String portletResource = ParamUtil.getString(req, "portletResource");
68
69 PortletPreferences prefs =
70 PortletPreferencesFactoryUtil.getPortletSetup(
71 req, portletResource, true, true);
72
73 prefs.setValues("isbns", isbns);
74
75 try {
76 prefs.store();
77 }
78 catch (ValidatorException ve) {
79 SessionErrors.add(req, ValidatorException.class.getName(), ve);
80
81 return;
82 }
83
84 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
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 }