1
22
23 package com.liferay.portal.service;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.util.ParamUtil;
28 import com.liferay.portal.kernel.util.WebKeys;
29 import com.liferay.portal.model.PortletPreferencesIds;
30 import com.liferay.portal.theme.ThemeDisplay;
31 import com.liferay.portal.util.PortalUtil;
32 import com.liferay.portlet.PortletPreferencesFactoryUtil;
33 import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
34
35 import java.io.Serializable;
36
37 import java.util.Map;
38
39 import javax.portlet.PortletRequest;
40
41 import javax.servlet.http.HttpServletRequest;
42
43
49 public class ServiceContextFactory {
50
51 public static ServiceContext getInstance(
52 String className, PortletRequest portletRequest)
53 throws PortalException, SystemException {
54
55 ServiceContext serviceContext = new ServiceContext();
56
57
59 ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
60 WebKeys.THEME_DISPLAY);
61
62 serviceContext.setCompanyId(themeDisplay.getCompanyId());
63 serviceContext.setLanguageId(themeDisplay.getLanguageId());
64 serviceContext.setLayoutFullURL(
65 PortalUtil.getLayoutFullURL(themeDisplay));
66 serviceContext.setLayoutURL(PortalUtil.getLayoutURL(themeDisplay));
67 serviceContext.setPathMain(PortalUtil.getPathMain());
68 serviceContext.setPlid(themeDisplay.getPlid());
69 serviceContext.setPortalURL(PortalUtil.getPortalURL(portletRequest));
70 serviceContext.setScopeGroupId(themeDisplay.getScopeGroupId());
71 serviceContext.setUserDisplayURL(
72 themeDisplay.getUser().getDisplayURL(themeDisplay));
73 serviceContext.setUserId(themeDisplay.getUserId());
74
75
77 Map<String, Serializable> attributes =
78 PortalUtil.getExpandoBridgeAttributes(
79 ExpandoBridgeFactoryUtil.getExpandoBridge(className),
80 portletRequest);
81
82 serviceContext.setExpandoBridgeAttributes(attributes);
83
84
86 boolean addCommunityPermissions = ParamUtil.getBoolean(
87 portletRequest, "addCommunityPermissions");
88 boolean addGuestPermissions = ParamUtil.getBoolean(
89 portletRequest, "addGuestPermissions");
90 String[] communityPermissions = PortalUtil.getCommunityPermissions(
91 portletRequest);
92 String[] guestPermissions = PortalUtil.getGuestPermissions(
93 portletRequest);
94
95 serviceContext.setAddCommunityPermissions(addCommunityPermissions);
96 serviceContext.setAddGuestPermissions(addGuestPermissions);
97 serviceContext.setCommunityPermissions(communityPermissions);
98 serviceContext.setGuestPermissions(guestPermissions);
99
100
102 HttpServletRequest request = PortalUtil.getHttpServletRequest(
103 portletRequest);
104
105 String portletId = PortalUtil.getPortletId(portletRequest);
106
107 PortletPreferencesIds portletPreferencesIds =
108 PortletPreferencesFactoryUtil.getPortletPreferencesIds(
109 request, portletId);
110
111 serviceContext.setPortletPreferencesIds(portletPreferencesIds);
112
113
115 String[] tagsCategories = PortalUtil.getTagsCategories(portletRequest);
116 String[] tagsEntries = PortalUtil.getTagsEntries(portletRequest);
117
118 serviceContext.setTagsCategories(tagsCategories);
119
120 serviceContext.setTagsEntries(tagsEntries);
121
122 return serviceContext;
123 }
124
125 }