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(req, portletResource);
71
72 prefs.setValues("isbns", isbns);
73
74 try {
75 prefs.store();
76 }
77 catch (ValidatorException ve) {
78 SessionErrors.add(req, ValidatorException.class.getName(), ve);
79
80 return;
81 }
82
83 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
84 }
85
86 public String render(
87 PortletConfig config, RenderRequest req, RenderResponse res)
88 throws Exception {
89
90 return "/html/portlet/amazon_rankings/configuration.jsp";
91 }
92
93 }