1
22
23 package com.liferay.portlet.weather.action;
24
25 import com.liferay.portal.kernel.util.Constants;
26 import com.liferay.portal.kernel.util.ParamUtil;
27 import com.liferay.portal.kernel.util.StringUtil;
28 import com.liferay.portal.struts.PortletAction;
29 import com.liferay.util.servlet.SessionErrors;
30 import com.liferay.util.servlet.SessionMessages;
31
32 import javax.portlet.ActionRequest;
33 import javax.portlet.ActionResponse;
34 import javax.portlet.PortletConfig;
35 import javax.portlet.PortletPreferences;
36 import javax.portlet.RenderRequest;
37 import javax.portlet.RenderResponse;
38 import javax.portlet.ValidatorException;
39
40 import org.apache.struts.action.ActionForm;
41 import org.apache.struts.action.ActionForward;
42 import org.apache.struts.action.ActionMapping;
43
44
50 public class EditPreferencesAction extends PortletAction {
51
52 public void processAction(
53 ActionMapping mapping, ActionForm form, PortletConfig config,
54 ActionRequest req, ActionResponse res)
55 throws Exception {
56
57 String cmd = ParamUtil.getString(req, Constants.CMD);
58
59 if (!cmd.equals(Constants.UPDATE)) {
60 return;
61 }
62
63 PortletPreferences prefs = req.getPreferences();
64
65 String[] zips = StringUtil.split(
66 ParamUtil.getString(req, "zips"), "\n");
67
68 boolean fahrenheit = ParamUtil.get(req, "fahrenheit", true);
69
70 prefs.setValues("zips", zips);
71 prefs.setValue("fahrenheit", Boolean.toString(fahrenheit));
72
73 try {
74 prefs.store();
75 }
76 catch (ValidatorException ve) {
77 SessionErrors.add(req, ValidatorException.class.getName(), ve);
78
79 return;
80 }
81
82 SessionMessages.add(req, config.getPortletName() + ".doEdit");
83 }
84
85 public ActionForward render(
86 ActionMapping mapping, ActionForm form, PortletConfig config,
87 RenderRequest req, RenderResponse res)
88 throws Exception {
89
90 return mapping.findForward("portlet.weather.edit");
91 }
92
93 }