001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portlet.enterpriseadmin.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.util.OrderByComparator;
021    import com.liferay.portal.kernel.util.Tuple;
022    import com.liferay.portal.model.Address;
023    import com.liferay.portal.model.EmailAddress;
024    import com.liferay.portal.model.Group;
025    import com.liferay.portal.model.OrgLabor;
026    import com.liferay.portal.model.Organization;
027    import com.liferay.portal.model.Phone;
028    import com.liferay.portal.model.Role;
029    import com.liferay.portal.model.User;
030    import com.liferay.portal.model.UserGroup;
031    import com.liferay.portal.model.UserGroupRole;
032    import com.liferay.portal.model.Website;
033    import com.liferay.portal.security.permission.PermissionChecker;
034    
035    import java.util.List;
036    
037    import javax.portlet.ActionRequest;
038    import javax.portlet.PortletRequest;
039    import javax.portlet.RenderResponse;
040    
041    import javax.servlet.http.HttpServletRequest;
042    
043    /**
044     * @author Brian Wing Shun Chan
045     * @author Jorge Ferrer
046     * @author Julio Camarero
047     */
048    public interface EnterpriseAdmin {
049    
050            public static final String CUSTOM_QUESTION = "write-my-own-question";
051    
052            public void addPortletBreadcrumbEntries(
053                            Organization organization, HttpServletRequest request,
054                            RenderResponse renderResponse)
055                    throws Exception;
056    
057            public String getCssClassName(Role role);
058    
059            public long[] addRequiredRoles(long userId, long[] roleIds)
060                    throws PortalException, SystemException;
061    
062            public long[] addRequiredRoles(User user, long[] roleIds)
063                    throws PortalException, SystemException;
064    
065            public List<Role> filterGroupRoles(
066                            PermissionChecker permissionChecker, long groupId, List<Role> roles)
067                    throws PortalException, SystemException;
068    
069            public List<Group> filterGroups(
070                            PermissionChecker permissionChecker, List<Group> groups)
071                    throws PortalException, SystemException;
072    
073            public List<Organization> filterOrganizations(
074                            PermissionChecker permissionChecker,
075                            List<Organization> organizations)
076                    throws PortalException, SystemException;
077    
078            public List<Role> filterRoles(
079                    PermissionChecker permissionChecker, List<Role> roles);
080    
081            public List<UserGroupRole> filterUserGroupRoles(
082                            PermissionChecker permissionChecker,
083                            List<UserGroupRole> userGroupRoles)
084                    throws PortalException, SystemException;
085    
086            public List<UserGroup> filterUserGroups(
087                    PermissionChecker permissionChecker, List<UserGroup> userGroups);
088    
089            public List<Address> getAddresses(ActionRequest actionRequest);
090    
091            public List<EmailAddress> getEmailAddresses(ActionRequest actionRequest);
092    
093            public OrderByComparator getGroupOrderByComparator(
094                    String orderByCol, String orderByType);
095    
096            public Long[][] getLeftAndRightOrganizationIds(long organizationId)
097                    throws PortalException, SystemException;
098    
099            public Long[][] getLeftAndRightOrganizationIds(Organization organization);
100    
101            public Long[][] getLeftAndRightOrganizationIds(
102                    List<Organization> organizations);
103    
104            public Long[] getOrganizationIds(List<Organization> organizations);
105    
106            public OrderByComparator getOrganizationOrderByComparator(
107                    String orderByCol, String orderByType);
108    
109            public Tuple getOrganizations(Hits hits)
110                    throws PortalException, SystemException;
111    
112            public List<OrgLabor> getOrgLabors(ActionRequest actionRequest);
113    
114            public OrderByComparator getPasswordPolicyOrderByComparator(
115                    String orderByCol, String orderByType);
116    
117            public List<Phone> getPhones(ActionRequest actionRequest);
118    
119            public OrderByComparator getRoleOrderByComparator(
120                    String orderByCol, String orderByType);
121    
122            public OrderByComparator getUserGroupOrderByComparator(
123                    String orderByCol, String orderByType);
124    
125            public List<UserGroupRole> getUserGroupRoles(PortletRequest portletRequest)
126                    throws PortalException, SystemException;
127    
128            public OrderByComparator getUserOrderByComparator(
129                    String orderByCol, String orderByType);
130    
131            public Tuple getUsers(Hits hits) throws PortalException, SystemException;
132    
133            public List<Website> getWebsites(ActionRequest actionRequest);
134    
135            public boolean hasUpdateEmailAddress(
136                            PermissionChecker permissionChecker, User user)
137                    throws PortalException, SystemException;
138    
139            public boolean hasUpdateScreenName(
140                            PermissionChecker permissionChecker, User user)
141                    throws PortalException, SystemException;
142    
143            public long[] removeRequiredRoles(long userId, long[] roleIds)
144                    throws PortalException, SystemException;
145    
146            public long[] removeRequiredRoles(User user, long[] roleIds)
147                    throws PortalException, SystemException;
148    
149            public void updateAddresses(
150                            String className, long classPK, List<Address> addresses)
151                    throws PortalException, SystemException;
152    
153            public void updateEmailAddresses(
154                            String className, long classPK, List<EmailAddress> emailAddresses)
155                    throws PortalException, SystemException;
156    
157            public void updateOrgLabors(long classPK, List<OrgLabor> orgLabors)
158                    throws PortalException, SystemException;
159    
160            public void updatePhones(String className, long classPK, List<Phone> phones)
161                    throws PortalException, SystemException;
162    
163            public void updateWebsites(
164                            String className, long classPK, List<Website> websites)
165                    throws PortalException, SystemException;
166    
167    }