1
22
23 package com.liferay.portlet.enterpriseadmin.action;
24
25 import com.liferay.portal.kernel.util.ParamUtil;
26 import com.liferay.portal.kernel.util.StringUtil;
27 import com.liferay.portal.model.Plugin;
28 import com.liferay.portal.security.auth.PrincipalException;
29 import com.liferay.portal.service.PluginSettingServiceUtil;
30 import com.liferay.portal.service.PortletServiceUtil;
31 import com.liferay.portal.struts.PortletAction;
32 import com.liferay.portal.util.PortalUtil;
33 import com.liferay.util.servlet.SessionErrors;
34
35 import java.util.Arrays;
36
37 import javax.portlet.ActionRequest;
38 import javax.portlet.ActionResponse;
39 import javax.portlet.PortletConfig;
40 import javax.portlet.RenderRequest;
41 import javax.portlet.RenderResponse;
42
43 import org.apache.struts.action.ActionForm;
44 import org.apache.struts.action.ActionForward;
45 import org.apache.struts.action.ActionMapping;
46
47
54 public class EditPluginAction extends PortletAction {
55
56 public void processAction(
57 ActionMapping mapping, ActionForm form, PortletConfig config,
58 ActionRequest req, ActionResponse res)
59 throws Exception {
60
61 try {
62 updatePluginSetting(req);
63
64 sendRedirect(req, res);
65 }
66 catch (Exception e) {
67 if (e instanceof PrincipalException) {
68 SessionErrors.add(req, e.getClass().getName());
69
70 setForward(req, "portlet.enterprise_admin.error");
71 }
72 else {
73 throw e;
74 }
75 }
76 }
77
78 public ActionForward render(
79 ActionMapping mapping, ActionForm form, PortletConfig config,
80 RenderRequest req, RenderResponse res)
81 throws Exception {
82
83 return mapping.findForward(
84 getForward(req, "portlet.enterprise_admin.edit_plugin"));
85 }
86
87 protected void updatePluginSetting(ActionRequest req) throws Exception {
88 long companyId = PortalUtil.getCompanyId(req);
89 String pluginId = ParamUtil.getString(req, "pluginId");
90 String pluginType = ParamUtil.getString(req, "pluginType");
91
92 String[] rolesArray = StringUtil.split(
93 ParamUtil.getString(req, "roles"), "\n");
94
95 Arrays.sort(rolesArray);
96
97 String roles = StringUtil.merge(rolesArray);
98
99 boolean active = ParamUtil.getBoolean(req, "active");
100
101 if (pluginType.equals(Plugin.TYPE_PORTLET)) {
102 String portletId = pluginId;
103
104 PortletServiceUtil.updatePortlet(
105 companyId, portletId, roles, active);
106 }
107 else {
108 PluginSettingServiceUtil.updatePluginSetting(
109 companyId, pluginId, pluginType, roles, active);
110 }
111 }
112
113 }