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.search.Hits;
021    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
022    import com.liferay.portal.kernel.util.Accessor;
023    import com.liferay.portal.kernel.util.OrderByComparator;
024    import com.liferay.portal.model.Address;
025    import com.liferay.portal.model.EmailAddress;
026    import com.liferay.portal.model.Group;
027    import com.liferay.portal.model.OrgLabor;
028    import com.liferay.portal.model.Organization;
029    import com.liferay.portal.model.Phone;
030    import com.liferay.portal.model.Role;
031    import com.liferay.portal.model.User;
032    import com.liferay.portal.model.UserGroup;
033    import com.liferay.portal.model.UserGroupRole;
034    import com.liferay.portal.model.Website;
035    import com.liferay.portal.security.permission.PermissionChecker;
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            /**
291             * @deprecated As of 6.2.0, replaced by {@link
292             *             #hasUpdateFieldPermission(PermissionChecker, User, User,
293             *             String)}
294             */
295            @Deprecated
296            public static boolean hasUpdateEmailAddress(
297                            PermissionChecker permissionChecker, User user)
298                    throws PortalException {
299    
300                    return getUsersAdmin().hasUpdateEmailAddress(permissionChecker, user);
301            }
302    
303            public static boolean hasUpdateFieldPermission(
304                            PermissionChecker permissionChecker, User updatingUser,
305                            User updatedUser, String field)
306                    throws PortalException {
307    
308                    return getUsersAdmin().hasUpdateFieldPermission(
309                            permissionChecker, updatingUser, updatedUser, field);
310            }
311    
312            /**
313             * @deprecated As of 6.2.0, replaced by {@link
314             *             #hasUpdateFieldPermission(PermissionChecker, User, User,
315             *             String)}
316             */
317            @Deprecated
318            public static boolean hasUpdateFieldPermission(User user, String field)
319                    throws PortalException {
320    
321                    return getUsersAdmin().hasUpdateFieldPermission(user, field);
322            }
323    
324            /**
325             * @deprecated As of 6.2.0, replaced by {@link
326             *             #hasUpdateFieldPermission(PermissionChecker, User, User,
327             *             String)}
328             */
329            @Deprecated
330            public static boolean hasUpdateScreenName(
331                            PermissionChecker permissionChecker, User user)
332                    throws PortalException {
333    
334                    return getUsersAdmin().hasUpdateScreenName(permissionChecker, user);
335            }
336    
337            public static long[] removeRequiredRoles(long userId, long[] roleIds)
338                    throws PortalException {
339    
340                    return getUsersAdmin().removeRequiredRoles(userId, roleIds);
341            }
342    
343            public static long[] removeRequiredRoles(User user, long[] roleIds)
344                    throws PortalException {
345    
346                    return getUsersAdmin().removeRequiredRoles(user, roleIds);
347            }
348    
349            public static void updateAddresses(
350                            String className, long classPK, List<Address> addresses)
351                    throws PortalException {
352    
353                    getUsersAdmin().updateAddresses(className, classPK, addresses);
354            }
355    
356            public static void updateEmailAddresses(
357                            String className, long classPK, List<EmailAddress> emailAddresses)
358                    throws PortalException {
359    
360                    getUsersAdmin().updateEmailAddresses(
361                            className, classPK, emailAddresses);
362            }
363    
364            public static void updateOrgLabors(long classPK, List<OrgLabor> orgLabors)
365                    throws PortalException {
366    
367                    getUsersAdmin().updateOrgLabors(classPK, orgLabors);
368            }
369    
370            public static void updatePhones(
371                            String className, long classPK, List<Phone> phones)
372                    throws PortalException {
373    
374                    getUsersAdmin().updatePhones(className, classPK, phones);
375            }
376    
377            public static void updateWebsites(
378                            String className, long classPK, List<Website> websites)
379                    throws PortalException {
380    
381                    getUsersAdmin().updateWebsites(className, classPK, websites);
382            }
383    
384            public void setUsersAdmin(UsersAdmin usersAdmin) {
385                    PortalRuntimePermission.checkSetBeanProperty(getClass());
386    
387                    _usersAdmin = usersAdmin;
388            }
389    
390            private static UsersAdmin _usersAdmin;
391    
392    }