1
22
23 package com.liferay.portlet.announcements.action;
24
25 import com.liferay.portal.kernel.language.LanguageUtil;
26 import com.liferay.portal.kernel.portlet.ConfigurationAction;
27 import com.liferay.portal.kernel.util.Constants;
28 import com.liferay.portal.kernel.util.ParamUtil;
29 import com.liferay.portal.kernel.util.Validator;
30 import com.liferay.portlet.PortletPreferencesFactoryUtil;
31 import com.liferay.portlet.announcements.AnnouncementsContentException;
32 import com.liferay.util.LocalizationUtil;
33 import com.liferay.util.servlet.SessionErrors;
34 import com.liferay.util.servlet.SessionMessages;
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
43
49 public class ConfigurationActionImpl implements ConfigurationAction {
50
51 public void processAction(
52 PortletConfig config, ActionRequest req, ActionResponse res)
53 throws Exception {
54
55 try {
56 String cmd = ParamUtil.getString(req, Constants.CMD);
57
58 if (!cmd.equals(Constants.UPDATE)) {
59 return;
60 }
61
62 String content = ParamUtil.getString(req, "content");
63
64 if (Validator.isNull(content)) {
65 throw new AnnouncementsContentException();
66 }
67
68 String portletResource = ParamUtil.getString(
69 req, "portletResource");
70
71 String languageId = LanguageUtil.getLanguageId(req);
72
73 PortletPreferences prefs =
74 PortletPreferencesFactoryUtil.getPortletSetup(
75 req, portletResource, false, false);
76
77 LocalizationUtil.setPrefsValue(
78 prefs, "content", languageId, content);
79
80 prefs.store();
81
82 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
83 }
84 catch (AnnouncementsContentException ace) {
85 SessionErrors.add(req, ace.getClass().getName());
86 }
87 }
88
89 public String render(
90 PortletConfig config, RenderRequest req, RenderResponse res)
91 throws Exception {
92
93 return "/html/portlet/announcements/configuration.jsp";
94 }
95
96 }