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