1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.enterpriseadmin.util;
16  
17  import com.liferay.portal.kernel.exception.PortalException;
18  import com.liferay.portal.kernel.exception.SystemException;
19  import com.liferay.portal.kernel.util.OrderByComparator;
20  import com.liferay.portal.model.Address;
21  import com.liferay.portal.model.EmailAddress;
22  import com.liferay.portal.model.Group;
23  import com.liferay.portal.model.OrgLabor;
24  import com.liferay.portal.model.Organization;
25  import com.liferay.portal.model.Phone;
26  import com.liferay.portal.model.Role;
27  import com.liferay.portal.model.User;
28  import com.liferay.portal.model.UserGroup;
29  import com.liferay.portal.model.UserGroupRole;
30  import com.liferay.portal.model.Website;
31  import com.liferay.portal.security.permission.PermissionChecker;
32  
33  import java.util.List;
34  
35  import javax.portlet.ActionRequest;
36  import javax.portlet.PortletRequest;
37  import javax.portlet.RenderResponse;
38  
39  import javax.servlet.http.HttpServletRequest;
40  
41  /**
42   * <a href="EnterpriseAdmin.java.html"><b><i>View Source</i></b></a>
43   *
44   * @author Brian Wing Shun Chan
45   * @author Jorge Ferrer
46   * @author Julio Camarero
47   */
48  public interface EnterpriseAdmin {
49  
50      public static final String CUSTOM_QUESTION = "write-my-own-question";
51  
52      public void addPortletBreadcrumbEntries(
53              Organization organization, HttpServletRequest request,
54              RenderResponse renderResponse)
55          throws Exception;
56  
57      public String getCssClassName(Role role);
58  
59      public long[] addRequiredRoles(long userId, long[] roleIds)
60          throws PortalException, SystemException;
61  
62      public long[] addRequiredRoles(User user, long[] roleIds)
63          throws PortalException, SystemException;
64  
65      public List<Role> filterGroupRoles(
66              PermissionChecker permissionChecker, long groupId, List<Role> roles)
67          throws PortalException, SystemException;
68  
69      public List<Group> filterGroups(
70              PermissionChecker permissionChecker, List<Group> groups)
71          throws PortalException, SystemException;
72  
73      public List<Organization> filterOrganizations(
74              PermissionChecker permissionChecker,
75              List<Organization> organizations)
76          throws PortalException, SystemException;
77  
78      public List<Role> filterRoles(
79          PermissionChecker permissionChecker, List<Role> roles);
80  
81      public List<UserGroupRole> filterUserGroupRoles(
82              PermissionChecker permissionChecker,
83              List<UserGroupRole> userGroupRoles)
84          throws PortalException, SystemException;
85  
86      public List<UserGroup> filterUserGroups(
87          PermissionChecker permissionChecker, List<UserGroup> userGroups);
88  
89      public List<Address> getAddresses(ActionRequest actionRequest);
90  
91      public List<EmailAddress> getEmailAddresses(ActionRequest actionRequest);
92  
93      public OrderByComparator getGroupOrderByComparator(
94          String orderByCol, String orderByType);
95  
96      public Long[][] getLeftAndRightOrganizationIds(long organizationId)
97          throws PortalException, SystemException;
98  
99      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 List<OrgLabor> getOrgLabors(ActionRequest actionRequest);
110 
111     public OrderByComparator getPasswordPolicyOrderByComparator(
112         String orderByCol, String orderByType);
113 
114     public List<Phone> getPhones(ActionRequest actionRequest);
115 
116     public OrderByComparator getRoleOrderByComparator(
117         String orderByCol, String orderByType);
118 
119     public OrderByComparator getUserGroupOrderByComparator(
120         String orderByCol, String orderByType);
121 
122     public List<UserGroupRole> getUserGroupRoles(PortletRequest portletRequest)
123         throws SystemException, PortalException;
124 
125     public OrderByComparator getUserOrderByComparator(
126         String orderByCol, String orderByType);
127 
128     public List<Website> getWebsites(ActionRequest actionRequest);
129 
130     public boolean hasUpdateEmailAddress(
131             PermissionChecker permissionChecker, User user)
132         throws PortalException, SystemException;
133 
134     public boolean hasUpdateScreenName(
135             PermissionChecker permissionChecker, User user)
136         throws PortalException, SystemException;
137 
138     public long[] removeRequiredRoles(long userId, long[] roleIds)
139         throws PortalException, SystemException;
140 
141     public long[] removeRequiredRoles(User user, long[] roleIds)
142         throws PortalException, SystemException;
143 
144     public void updateAddresses(
145             String className, long classPK, List<Address> addresses)
146         throws PortalException, SystemException;
147 
148     public void updateEmailAddresses(
149             String className, long classPK, List<EmailAddress> emailAddresses)
150         throws PortalException, SystemException;
151 
152     public void updateOrgLabors(long classPK, List<OrgLabor> orgLabors)
153         throws PortalException, SystemException;
154 
155     public void updatePhones(String className, long classPK, List<Phone> phones)
156         throws PortalException, SystemException;
157 
158     public void updateWebsites(
159             String className, long classPK, List<Website> websites)
160         throws PortalException, SystemException;
161 
162 }