1
22
23 package com.liferay.portlet.stocks.action;
24
25 import com.liferay.portal.kernel.servlet.SessionErrors;
26 import com.liferay.portal.kernel.servlet.SessionMessages;
27 import com.liferay.portal.kernel.util.Constants;
28 import com.liferay.portal.kernel.util.ParamUtil;
29 import com.liferay.portal.kernel.util.StringPool;
30 import com.liferay.portal.kernel.util.StringUtil;
31 import com.liferay.portal.struts.PortletAction;
32
33 import java.util.Arrays;
34
35 import javax.portlet.ActionRequest;
36 import javax.portlet.ActionResponse;
37 import javax.portlet.PortletConfig;
38 import javax.portlet.PortletPreferences;
39 import javax.portlet.RenderRequest;
40 import javax.portlet.RenderResponse;
41 import javax.portlet.ValidatorException;
42
43 import org.apache.struts.action.ActionForm;
44 import org.apache.struts.action.ActionForward;
45 import org.apache.struts.action.ActionMapping;
46
47
53 public class EditPreferencesAction extends PortletAction {
54
55 public void processAction(
56 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
57 ActionRequest actionRequest, ActionResponse actionResponse)
58 throws Exception {
59
60 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
61
62 if (!cmd.equals(Constants.UPDATE)) {
63 return;
64 }
65
66 PortletPreferences prefs = actionRequest.getPreferences();
67
68 String[] symbols = StringUtil.split(
69 ParamUtil.getString(actionRequest, "symbols").toUpperCase(),
70 StringPool.SPACE);
71
72 Arrays.sort(symbols);
73
74 prefs.setValues("symbols", symbols);
75
76 try {
77 prefs.store();
78 }
79 catch (ValidatorException ve) {
80 SessionErrors.add(
81 actionRequest, ValidatorException.class.getName(), ve);
82
83 return;
84 }
85
86 SessionMessages.add(
87 actionRequest, portletConfig.getPortletName() + ".doEdit");
88 }
89
90 public ActionForward render(
91 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
92 RenderRequest renderRequest, RenderResponse renderResponse)
93 throws Exception {
94
95 return mapping.findForward("portlet.stocks.edit");
96 }
97
98 }