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