001
014
015 package com.liferay.portal.spring.util;
016
017 import com.liferay.portal.bean.BeanLocatorImpl;
018 import com.liferay.portal.kernel.bean.BeanLocator;
019 import com.liferay.portal.kernel.bean.PortalBeanLocatorUtil;
020 import com.liferay.portal.kernel.util.ListUtil;
021 import com.liferay.portal.kernel.util.PropsKeys;
022 import com.liferay.portal.spring.context.ArrayApplicationContext;
023 import com.liferay.portal.util.ClassLoaderUtil;
024 import com.liferay.portal.util.PropsUtil;
025
026 import java.util.List;
027
028 import org.springframework.context.support.AbstractApplicationContext;
029
030
041 public class SpringUtil {
042
043 public static void loadContext() {
044 loadContext(PropsUtil.getArray(PropsKeys.SPRING_CONFIGS));
045 }
046
047 public static void loadContext(List<String> extraConfigLocations) {
048 List<String> configLocations = ListUtil.fromArray(
049 PropsUtil.getArray(PropsKeys.SPRING_CONFIGS));
050
051 if (extraConfigLocations != null) {
052 configLocations.addAll(extraConfigLocations);
053 }
054
055 loadContext(
056 configLocations.toArray(new String[configLocations.size()]));
057 }
058
059 public static void loadContext(String[] configLocations) {
060 AbstractApplicationContext applicationContext =
061 new ArrayApplicationContext(configLocations);
062
063 BeanLocator beanLocator = new BeanLocatorImpl(
064 ClassLoaderUtil.getPortalClassLoader(), applicationContext);
065
066 PortalBeanLocatorUtil.setBeanLocator(beanLocator);
067 }
068
069 }