1 package com.liferay.contacts.util;
3 import java.util.ArrayList;
6 import javax.portlet.PortletPreferences;
8 import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil;
9 import com.liferay.portal.kernel.dao.orm.Disjunction;
10 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
11 import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
12 import com.liferay.portal.kernel.dao.orm.Property;
13 import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
14 import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
15 import com.liferay.portal.kernel.exception.SystemException;
16 import com.liferay.portal.kernel.log.Log;
17 import com.liferay.portal.kernel.log.LogFactoryUtil;
18 import com.liferay.portal.model.Group;
19 import com.liferay.portal.model.Organization;
20 import com.liferay.portal.model.PortalPreferences;
21 import com.liferay.portal.service.PortalPreferencesLocalServiceUtil;
22 import com.liferay.portal.util.PortletKeys;
23 import com.liferay.portlet.PortletPreferencesFactoryUtil;
24 import com.pentila.entSavoie.userManagement.service.ClpSerializer;
26 public class PreferencesUtil {
28 private static Log logger = LogFactoryUtil.getLog(PreferencesUtil.class);
32 * Methods which get a list of portalpreference from list of organization
33 * @param oranizationToVerify
34 * @return the list of PortalPreferences
35 * @throws SystemException
37 @SuppressWarnings("unchecked")
38 public static List<PortalPreferences> getPortalPreferenceForOrgList(List<Organization> oranizationToVerify) throws SystemException{
39 ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
40 DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(PortalPreferences.class,classLoader);
41 Property ownerIdProperty = PropertyFactoryUtil.forName("ownerId");
42 Property ownerTypeProperty = PropertyFactoryUtil.forName("ownerType");
43 Disjunction disjunctionOrgsId = RestrictionsFactoryUtil.disjunction();
45 for(Organization anOrg : oranizationToVerify){
46 disjunctionOrgsId.add(ownerIdProperty.eq(anOrg.getOrganizationId()));
48 dynamicQuery.add(disjunctionOrgsId);
49 dynamicQuery.add(ownerTypeProperty.eq(PortletKeys.PREFS_OWNER_TYPE_ORGANIZATION));
51 List<PortalPreferences> portalPreferencesToReturn = new ArrayList<PortalPreferences>();
52 portalPreferencesToReturn.addAll(PortalPreferencesLocalServiceUtil.dynamicQuery(dynamicQuery));
54 return portalPreferencesToReturn;
58 * Methods which get a list of portalpreference from list of organization
59 * @param groupsToVerify
60 * @return the list of PortalPreferences
61 * @throws SystemException
63 @SuppressWarnings("unchecked")
64 public static List<PortalPreferences> getPortalPreferenceForGroupList(List<Group> groupsToVerify) throws SystemException{
65 ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
66 DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(PortalPreferences.class,classLoader);
67 Property ownerIdProperty = PropertyFactoryUtil.forName("ownerId");
68 Property ownerTypeProperty = PropertyFactoryUtil.forName("ownerType");
69 Disjunction disjunctionOrgsId = RestrictionsFactoryUtil.disjunction();
71 for(Group group : groupsToVerify){
72 disjunctionOrgsId.add(
73 ownerIdProperty.eq(group.getClassPK()));
75 dynamicQuery.add(disjunctionOrgsId);
76 dynamicQuery.add(ownerTypeProperty.eq(PortletKeys.PREFS_OWNER_TYPE_ORGANIZATION));
78 List<PortalPreferences> portalPreferencesToReturn = new ArrayList<PortalPreferences>();
79 portalPreferencesToReturn.addAll(PortalPreferencesLocalServiceUtil.dynamicQuery(dynamicQuery));
81 return portalPreferencesToReturn;
85 * Method which convert a portal preference to portlet preference
86 * @param portalPrefferenceList the portal preference in entry
87 * @param companyId companyId need for convertion
88 * @return the converted portlet prefernce, otherwise (case error)
90 public static PortletPreferences convertPortalPreferenceToPortletPreference(
91 PortalPreferences portalPreference, long companyId){
93 return PortletPreferencesFactoryUtil.fromXML(companyId,
94 portalPreference.getOwnerId(),
95 PortletKeys.PREFS_OWNER_TYPE_ORGANIZATION, 0,
96 PortletKeys.PORTAL, portalPreference.getPreferences());
98 } catch (SystemException e) {
99 logger.error("Error during conversion from PortalPreference to PortletPreference",e);
104 public static boolean isOrgMigrateFromPortletPreferences(PortletPreferences orgPreferences){
105 return "done".equals(orgPreferences.getValue("migrate", "none"));