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
49 public class GetLookAndFeelAction extends JSONAction {
50
51 public String getJSON(
52 ActionMapping mapping, ActionForm form, HttpServletRequest request,
53 HttpServletResponse response)
54 throws Exception {
55
56 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
57 WebKeys.THEME_DISPLAY);
58
59 Layout layout = themeDisplay.getLayout();
60
61 PermissionChecker permissionChecker =
62 themeDisplay.getPermissionChecker();
63
64 String portletId = ParamUtil.getString(request, "portletId");
65
66 if (!PortletPermissionUtil.contains(
67 permissionChecker, themeDisplay.getPlid(), portletId,
68 ActionKeys.CONFIGURATION)) {
69
70 return null;
71 }
72
73 PortletPreferences portletSetup =
74 PortletPreferencesFactoryUtil.getLayoutPortletSetup(
75 layout, portletId);
76
77 return PortletSetupUtil.cssToString(portletSetup);
78 }
79
80 }