1 package com.liferay.contacts.util;
3 import java.util.ArrayList;
4 import java.util.HashMap;
8 import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil;
9 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
10 import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
11 import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
12 import com.liferay.portal.kernel.exception.SystemException;
13 import com.liferay.portal.kernel.log.Log;
14 import com.liferay.portal.kernel.log.LogFactoryUtil;
15 import com.liferay.portal.model.Group;
16 import com.liferay.portal.model.Organization;
17 import com.liferay.portal.service.GroupLocalServiceUtil;
18 import com.pentila.entSavoie.userManagement.service.ClpSerializer;
20 public class GroupFilter {
22 private static Log logger = LogFactoryUtil.getLog(GroupFilter.class);
25 * Returns a list of groups from a list of organizations
27 @SuppressWarnings("unchecked")
28 public static List<Group> getGroupsFromOrganizations(List<Organization> orgsToSearchFor) throws SystemException{
30 List<Group> groupToReturn = new ArrayList<Group>();
31 if (orgsToSearchFor != null && orgsToSearchFor.size() > 0) {
32 ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
33 DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Group.class,classLoader);
35 Long[] orgIdTab = new Long[orgsToSearchFor.size()];
37 for (Organization org : orgsToSearchFor) {
38 orgIdTab[idx++] = org.getOrganizationId();
40 dynamicQuery.add(PropertyFactoryUtil.forName("classPK").in(orgIdTab));
42 groupToReturn.addAll(GroupLocalServiceUtil.dynamicQuery(dynamicQuery));
49 * Builds a group/org mapping from both a list of groups and a list of organizations
51 public static Map<Group,Organization> fillMatchingGroupOrgMaps(List<Group> groupsToMapWithOrg, List<Organization> orgsToMapwithGroup){
53 Map<Group,Organization> mapGroupOrg = new HashMap<Group,Organization>();
54 for (Organization aUserOrg : orgsToMapwithGroup) {
55 for (Group aGroup : groupsToMapWithOrg) {
56 if (aUserOrg.getOrganizationId() == aGroup.getClassPK()) {
57 mapGroupOrg.put(aGroup, aUserOrg);
67 * Returns a list of groups from a list of groupIds
69 @SuppressWarnings("unchecked")
70 public static List<Group> getGroupsFromGroupIds(List<Long> groupIdList) throws SystemException{
72 List<Group> groupToReturn = new ArrayList<Group>();
73 if (groupIdList != null && groupIdList.size() > 0) {
74 ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
75 DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Group.class,classLoader);
77 Long[] groupIdTab = new Long[groupIdList.size()];
79 for (Long groupId : groupIdList) {
80 groupIdTab[idx++] = groupId;
82 dynamicQuery.add(PropertyFactoryUtil.forName("groupId").in(groupIdTab));
84 groupToReturn.addAll(GroupLocalServiceUtil.dynamicQuery(dynamicQuery));