1
22
23 package com.liferay.portlet.portletconfiguration.action;
24
25 import com.liferay.portal.kernel.util.ParamUtil;
26 import com.liferay.portal.model.Layout;
27 import com.liferay.portal.security.permission.ActionKeys;
28 import com.liferay.portal.security.permission.PermissionChecker;
29 import com.liferay.portal.service.permission.PortletPermissionUtil;
30 import com.liferay.portal.struts.JSONAction;
31 import com.liferay.portal.theme.ThemeDisplay;
32 import com.liferay.portal.util.WebKeys;
33 import com.liferay.portlet.PortletPreferencesFactoryUtil;
34 import com.liferay.portlet.PortletSetupUtil;
35
36 import javax.portlet.PortletPreferences;
37
38 import javax.servlet.http.HttpServletRequest;
39 import javax.servlet.http.HttpServletResponse;
40
41 import org.apache.struts.action.ActionForm;
42 import org.apache.struts.action.ActionMapping;
43
44
50 public class GetLookAndFeelAction extends JSONAction {
51
52 public String getJSON(
53 ActionMapping mapping, ActionForm form, HttpServletRequest request,
54 HttpServletResponse response)
55 throws Exception {
56
57 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
58 WebKeys.THEME_DISPLAY);
59
60 Layout layout = themeDisplay.getLayout();
61
62 PermissionChecker permissionChecker =
63 themeDisplay.getPermissionChecker();
64
65 String portletId = ParamUtil.getString(request, "portletId");
66
67 if (!PortletPermissionUtil.contains(
68 permissionChecker, themeDisplay.getPlid(), portletId,
69 ActionKeys.CONFIGURATION)) {
70
71 return null;
72 }
73
74 PortletPreferences portletSetup =
75 PortletPreferencesFactoryUtil.getLayoutPortletSetup(
76 layout, portletId);
77
78 return PortletSetupUtil.cssToString(portletSetup);
79 }
80
81 }