001
014
015 package com.liferay.portal.security.auth;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019 import com.liferay.portal.kernel.util.ClassUtil;
020 import com.liferay.portal.kernel.util.InstanceFactory;
021 import com.liferay.portal.util.ClassLoaderUtil;
022 import com.liferay.portal.util.PropsValues;
023
024
028 public class MembershipPolicyFactoryImpl implements MembershipPolicyFactory {
029
030 public void afterPropertiesSet() throws Exception {
031 if (_log.isDebugEnabled()) {
032 _log.debug("Instantiate " + PropsValues.USERS_MEMBERSHIP_POLICY);
033 }
034
035 ClassLoader classLoader = ClassLoaderUtil.getPortalClassLoader();
036
037 _originalMembershipPolicy =
038 (MembershipPolicy)InstanceFactory.newInstance(
039 classLoader, PropsValues.USERS_MEMBERSHIP_POLICY);
040
041 _membershipPolicy = _originalMembershipPolicy;
042 }
043
044 public MembershipPolicy getMembershipPolicy() {
045 return _membershipPolicy;
046 }
047
048 public void setMembershipPolicy(MembershipPolicy membershipPolicy) {
049 if (_log.isDebugEnabled()) {
050 _log.debug("Set " + ClassUtil.getClassName(membershipPolicy));
051 }
052
053 if (membershipPolicy == null) {
054 _membershipPolicy = _originalMembershipPolicy;
055 }
056 else {
057 _membershipPolicy = membershipPolicy;
058 }
059 }
060
061 private static Log _log = LogFactoryUtil.getLog(
062 MembershipPolicyFactory.class);
063
064 private static volatile MembershipPolicy _membershipPolicy;
065 private static MembershipPolicy _originalMembershipPolicy;
066
067 }