001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.users.admin.kernel.util;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.model.Address;
021    import com.liferay.portal.kernel.model.EmailAddress;
022    import com.liferay.portal.kernel.model.Group;
023    import com.liferay.portal.kernel.model.OrgLabor;
024    import com.liferay.portal.kernel.model.Organization;
025    import com.liferay.portal.kernel.model.Phone;
026    import com.liferay.portal.kernel.model.Role;
027    import com.liferay.portal.kernel.model.User;
028    import com.liferay.portal.kernel.model.UserGroup;
029    import com.liferay.portal.kernel.model.UserGroupRole;
030    import com.liferay.portal.kernel.model.Website;
031    import com.liferay.portal.kernel.search.Hits;
032    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
033    import com.liferay.portal.kernel.security.permission.PermissionChecker;
034    import com.liferay.portal.kernel.util.Accessor;
035    import com.liferay.portal.kernel.util.OrderByComparator;
036    
037    import java.util.List;
038    import java.util.Locale;
039    
040    import javax.portlet.ActionRequest;
041    import javax.portlet.PortletRequest;
042    import javax.portlet.RenderResponse;
043    
044    import javax.servlet.http.HttpServletRequest;
045    
046    /**
047     * @author Brian Wing Shun Chan
048     * @author Jorge Ferrer
049     * @author Julio Camarero
050     */
051    @ProviderType
052    public class UsersAdminUtil {
053    
054            /**
055             * @deprecated As of 6.2.0, replaced by {@link UsersAdmin#CUSTOM_QUESTION}
056             */
057            @Deprecated
058            public static final String CUSTOM_QUESTION = "write-my-own-question";
059    
060            public static void addPortletBreadcrumbEntries(
061                            Organization organization, HttpServletRequest request,
062                            RenderResponse renderResponse)
063                    throws Exception {
064    
065                    getUsersAdmin().addPortletBreadcrumbEntries(
066                            organization, request, renderResponse);
067            }
068    
069            public static long[] addRequiredRoles(long userId, long[] roleIds)
070                    throws PortalException {
071    
072                    return getUsersAdmin().addRequiredRoles(userId, roleIds);
073            }
074    
075            public static long[] addRequiredRoles(User user, long[] roleIds)
076                    throws PortalException {
077    
078                    return getUsersAdmin().addRequiredRoles(user, roleIds);
079            }
080    
081            public static List<Role> filterGroupRoles(
082                            PermissionChecker permissionChecker, long groupId, List<Role> roles)
083                    throws PortalException {
084    
085                    return getUsersAdmin().filterGroupRoles(
086                            permissionChecker, groupId, roles);
087            }
088    
089            public static List<Group> filterGroups(
090                            PermissionChecker permissionChecker, List<Group> groups)
091                    throws PortalException {
092    
093                    return getUsersAdmin().filterGroups(permissionChecker, groups);
094            }
095    
096            public static List<Organization> filterOrganizations(
097                            PermissionChecker permissionChecker,
098                            List<Organization> organizations)
099                    throws PortalException {
100    
101                    return getUsersAdmin().filterOrganizations(
102                            permissionChecker, organizations);
103            }
104    
105            public static List<Role> filterRoles(
106                    PermissionChecker permissionChecker, List<Role> roles) {
107    
108                    return getUsersAdmin().filterRoles(permissionChecker, roles);
109            }
110    
111            public static long[] filterUnsetGroupUserIds(
112                            PermissionChecker permissionChecker, long groupId, long[] userIds)
113                    throws PortalException {
114    
115                    return getUsersAdmin().filterUnsetGroupUserIds(
116                            permissionChecker, groupId, userIds);
117            }
118    
119            public static long[] filterUnsetOrganizationUserIds(
120                            PermissionChecker permissionChecker, long organizationId,
121                            long[] userIds)
122                    throws PortalException {
123    
124                    return getUsersAdmin().filterUnsetOrganizationUserIds(
125                            permissionChecker, organizationId, userIds);
126            }
127    
128            public static List<UserGroupRole> filterUserGroupRoles(
129                            PermissionChecker permissionChecker,
130                            List<UserGroupRole> userGroupRoles)
131                    throws PortalException {
132    
133                    return getUsersAdmin().filterUserGroupRoles(
134                            permissionChecker, userGroupRoles);
135            }
136    
137            public static List<UserGroup> filterUserGroups(
138                    PermissionChecker permissionChecker, List<UserGroup> userGroups) {
139    
140                    return getUsersAdmin().filterUserGroups(permissionChecker, userGroups);
141            }
142    
143            public static List<Address> getAddresses(ActionRequest actionRequest) {
144                    return getUsersAdmin().getAddresses(actionRequest);
145            }
146    
147            public static List<Address> getAddresses(
148                    ActionRequest actionRequest, List<Address> defaultAddresses) {
149    
150                    return getUsersAdmin().getAddresses(actionRequest, defaultAddresses);
151            }
152    
153            public static List<EmailAddress> getEmailAddresses(
154                    ActionRequest actionRequest) {
155    
156                    return getUsersAdmin().getEmailAddresses(actionRequest);
157            }
158    
159            public static List<EmailAddress> getEmailAddresses(
160                    ActionRequest actionRequest, List<EmailAddress> defaultEmailAddresses) {
161    
162                    return getUsersAdmin().getEmailAddresses(
163                            actionRequest, defaultEmailAddresses);
164            }
165    
166            public static long[] getGroupIds(PortletRequest portletRequest)
167                    throws PortalException {
168    
169                    return getUsersAdmin().getGroupIds(portletRequest);
170            }
171    
172            public static OrderByComparator<Group> getGroupOrderByComparator(
173                    String orderByCol, String orderByType) {
174    
175                    return getUsersAdmin().getGroupOrderByComparator(
176                            orderByCol, orderByType);
177            }
178    
179            public static Long[] getOrganizationIds(List<Organization> organizations) {
180                    return getUsersAdmin().getOrganizationIds(organizations);
181            }
182    
183            public static long[] getOrganizationIds(PortletRequest portletRequest)
184                    throws PortalException {
185    
186                    return getUsersAdmin().getOrganizationIds(portletRequest);
187            }
188    
189            public static OrderByComparator<Organization>
190                    getOrganizationOrderByComparator(
191                            String orderByCol, String orderByType) {
192    
193                    return getUsersAdmin().getOrganizationOrderByComparator(
194                            orderByCol, orderByType);
195            }
196    
197            public static List<Organization> getOrganizations(Hits hits)
198                    throws PortalException {
199    
200                    return getUsersAdmin().getOrganizations(hits);
201            }
202    
203            public static List<OrgLabor> getOrgLabors(ActionRequest actionRequest) {
204                    return getUsersAdmin().getOrgLabors(actionRequest);
205            }
206    
207            public static List<Phone> getPhones(ActionRequest actionRequest) {
208                    return getUsersAdmin().getPhones(actionRequest);
209            }
210    
211            public static List<Phone> getPhones(
212                    ActionRequest actionRequest, List<Phone> defaultPhones) {
213    
214                    return getUsersAdmin().getPhones(actionRequest, defaultPhones);
215            }
216    
217            public static long[] getRoleIds(PortletRequest portletRequest)
218                    throws PortalException {
219    
220                    return getUsersAdmin().getRoleIds(portletRequest);
221            }
222    
223            public static OrderByComparator<Role> getRoleOrderByComparator(
224                    String orderByCol, String orderByType) {
225    
226                    return getUsersAdmin().getRoleOrderByComparator(
227                            orderByCol, orderByType);
228            }
229    
230            public static <T> String getUserColumnText(
231                    Locale locale, List<? extends T> list, Accessor<T, String> accessor,
232                    int count) {
233    
234                    return getUsersAdmin().getUserColumnText(locale, list, accessor, count);
235            }
236    
237            public static long[] getUserGroupIds(PortletRequest portletRequest)
238                    throws PortalException {
239    
240                    return getUsersAdmin().getUserGroupIds(portletRequest);
241            }
242    
243            public static OrderByComparator<UserGroup> getUserGroupOrderByComparator(
244                    String orderByCol, String orderByType) {
245    
246                    return getUsersAdmin().getUserGroupOrderByComparator(
247                            orderByCol, orderByType);
248            }
249    
250            public static List<UserGroupRole> getUserGroupRoles(
251                            PortletRequest portletRequest)
252                    throws PortalException {
253    
254                    return getUsersAdmin().getUserGroupRoles(portletRequest);
255            }
256    
257            public static List<UserGroup> getUserGroups(Hits hits)
258                    throws PortalException {
259    
260                    return getUsersAdmin().getUserGroups(hits);
261            }
262    
263            public static OrderByComparator<User> getUserOrderByComparator(
264                    String orderByCol, String orderByType) {
265    
266                    return getUsersAdmin().getUserOrderByComparator(
267                            orderByCol, orderByType);
268            }
269    
270            public static List<User> getUsers(Hits hits) throws PortalException {
271                    return getUsersAdmin().getUsers(hits);
272            }
273    
274            public static UsersAdmin getUsersAdmin() {
275                    PortalRuntimePermission.checkGetBeanProperty(UsersAdminUtil.class);
276    
277                    return _usersAdmin;
278            }
279    
280            public static List<Website> getWebsites(ActionRequest actionRequest) {
281                    return getUsersAdmin().getWebsites(actionRequest);
282            }
283    
284            public static List<Website> getWebsites(
285                    ActionRequest actionRequest, List<Website> defaultWebsites) {
286    
287                    return getUsersAdmin().getWebsites(actionRequest, defaultWebsites);
288            }
289    
290            public static boolean hasUpdateFieldPermission(
291                            PermissionChecker permissionChecker, User updatingUser,
292                            User updatedUser, String field)
293                    throws PortalException {
294    
295                    return getUsersAdmin().hasUpdateFieldPermission(
296                            permissionChecker, updatingUser, updatedUser, field);
297            }
298    
299            public static long[] removeRequiredRoles(long userId, long[] roleIds)
300                    throws PortalException {
301    
302                    return getUsersAdmin().removeRequiredRoles(userId, roleIds);
303            }
304    
305            public static long[] removeRequiredRoles(User user, long[] roleIds)
306                    throws PortalException {
307    
308                    return getUsersAdmin().removeRequiredRoles(user, roleIds);
309            }
310    
311            public static void updateAddresses(
312                            String className, long classPK, List<Address> addresses)
313                    throws PortalException {
314    
315                    getUsersAdmin().updateAddresses(className, classPK, addresses);
316            }
317    
318            public static void updateEmailAddresses(
319                            String className, long classPK, List<EmailAddress> emailAddresses)
320                    throws PortalException {
321    
322                    getUsersAdmin().updateEmailAddresses(
323                            className, classPK, emailAddresses);
324            }
325    
326            public static void updateOrgLabors(long classPK, List<OrgLabor> orgLabors)
327                    throws PortalException {
328    
329                    getUsersAdmin().updateOrgLabors(classPK, orgLabors);
330            }
331    
332            public static void updatePhones(
333                            String className, long classPK, List<Phone> phones)
334                    throws PortalException {
335    
336                    getUsersAdmin().updatePhones(className, classPK, phones);
337            }
338    
339            public static void updateWebsites(
340                            String className, long classPK, List<Website> websites)
341                    throws PortalException {
342    
343                    getUsersAdmin().updateWebsites(className, classPK, websites);
344            }
345    
346            public void setUsersAdmin(UsersAdmin usersAdmin) {
347                    PortalRuntimePermission.checkSetBeanProperty(getClass());
348    
349                    _usersAdmin = usersAdmin;
350            }
351    
352            private static UsersAdmin _usersAdmin;
353    
354    }