001
014
015 package com.liferay.portal.model;
016
017 import com.liferay.portal.ModelListenerException;
018 import com.liferay.portal.security.ldap.LDAPUserTransactionThreadLocal;
019 import com.liferay.portal.security.ldap.PortalLDAPExporterUtil;
020
021
024 public class UserGroupListener extends BaseModelListener<UserGroup> {
025
026 @Override
027 public void onAfterAddAssociation(
028 Object userGroupId, String associationClassName,
029 Object associationClassPK)
030 throws ModelListenerException {
031
032 try {
033 if (associationClassName.equals(User.class.getName())) {
034 exportToLDAP((Long)associationClassPK, (Long)userGroupId);
035 }
036 }
037 catch (Exception e) {
038 throw new ModelListenerException(e);
039 }
040 }
041
042 protected void exportToLDAP(long userId, long userGroupId)
043 throws Exception {
044
045 if (LDAPUserTransactionThreadLocal.isOriginatesFromLDAP()) {
046 return;
047 }
048
049 PortalLDAPExporterUtil.exportToLDAP(userId, userGroupId);
050 }
051
052 }