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