1
19
20 package com.liferay.portlet.wsrp.action;
21
22 import com.liferay.portal.kernel.servlet.SessionMessages;
23 import com.liferay.portal.kernel.util.ParamUtil;
24 import com.liferay.portal.struts.PortletAction;
25 import com.liferay.portal.util.WebKeys;
26
27 import javax.portlet.ActionRequest;
28 import javax.portlet.ActionResponse;
29 import javax.portlet.PortletConfig;
30 import javax.portlet.PortletPreferences;
31 import javax.portlet.PortletSession;
32 import javax.portlet.RenderRequest;
33 import javax.portlet.RenderResponse;
34
35 import org.apache.struts.action.ActionForm;
36 import org.apache.struts.action.ActionForward;
37 import org.apache.struts.action.ActionMapping;
38
39
45 public class EditLocalPreferencesAction extends PortletAction {
46
47 public void processAction(
48 ActionMapping mapping, ActionForm form, PortletConfig config,
49 ActionRequest req, ActionResponse res)
50 throws Exception {
51
52 PortletPreferences prefs = req.getPreferences();
53
54 String wsrpServiceUrl = ParamUtil.getString(req, "wsrp_service_url");
55 String markupEndpoint = ParamUtil.getString(req, "markup_endpoint");
56 String serviceDescriptionEndpoint = ParamUtil.getString(req,
57 "service_description_endpoint");
58 String registrationEndpoint = ParamUtil.getString(req,
59 "registration_endpoint");
60 String portletManagementEndpoint = ParamUtil.getString(req,
61 "portlet_management_endpoint");
62 String portletHandle = ParamUtil.getString(req, "portlet_handle");
63
64 prefs.setValue("wsrp-service-url", wsrpServiceUrl);
65 prefs.setValue("markup-endpoint", markupEndpoint);
66 prefs.setValue("service-description-endpoint",
67 serviceDescriptionEndpoint);
68 prefs.setValue("registration-endpoint", registrationEndpoint);
69 prefs.setValue("portlet-management-endpoint",
70 portletManagementEndpoint);
71
72 String oldPortletHandle = prefs.getValue("portlet-handle", "");
73 if (!portletHandle.equals(oldPortletHandle)) {
74 prefs.reset("parent-handle");
75 }
76 prefs.setValue("portlet-handle", portletHandle);
77
78 PortletSession ses = req.getPortletSession();
80 ses.setAttribute(WebKeys.WSRP_NEW_SESSION, "true");
81
82 prefs.store();
83
84 SessionMessages.add(req, config.getPortletName() + ".doEdit");
85
86 setForward(req, "portlet.wsrp.edit");
87 }
88
89 public ActionForward render(
90 ActionMapping mapping, ActionForm form, PortletConfig config,
91 RenderRequest req, RenderResponse res)
92 throws Exception {
93
94 return mapping.findForward(
95 getForward(req, "portlet.wsrp.edit_local_preferences"));
96 }
97
98 }