001
014
015 package com.liferay.portal.security.membershippolicy;
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
029 public class RoleMembershipPolicyFactoryImpl
030 implements RoleMembershipPolicyFactory {
031
032 public void afterPropertiesSet() throws Exception {
033 if (_log.isDebugEnabled()) {
034 _log.debug("Instantiate " + PropsValues.MEMBERSHIP_POLICY_ROLES);
035 }
036
037 ClassLoader classLoader = ClassLoaderUtil.getPortalClassLoader();
038
039 _originalRoleMembershipPolicy =
040 (RoleMembershipPolicy)InstanceFactory.newInstance(
041 classLoader, PropsValues.MEMBERSHIP_POLICY_ROLES);
042
043 _roleMembershipPolicy = _originalRoleMembershipPolicy;
044 }
045
046 @Override
047 public RoleMembershipPolicy getRoleMembershipPolicy() {
048 return _roleMembershipPolicy;
049 }
050
051 public void setRoleMembershipPolicy(
052 RoleMembershipPolicy roleMembershipPolicy) {
053
054 if (_log.isDebugEnabled()) {
055 _log.debug("Set " + ClassUtil.getClassName(roleMembershipPolicy));
056 }
057
058 if (roleMembershipPolicy == null) {
059 _roleMembershipPolicy = _originalRoleMembershipPolicy;
060 }
061 else {
062 _roleMembershipPolicy = roleMembershipPolicy;
063 }
064 }
065
066 private static Log _log = LogFactoryUtil.getLog(
067 RoleMembershipPolicyFactoryImpl.class);
068
069 private static RoleMembershipPolicy _originalRoleMembershipPolicy;
070 private static volatile RoleMembershipPolicy _roleMembershipPolicy;
071
072 }