| PortletBeanFactoryPostProcessor.java |
1 /**
2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3 *
4 *
5 *
6 *
7 * The contents of this file are subject to the terms of the Liferay Enterprise
8 * Subscription License ("License"). You may not use this file except in
9 * compliance with the License. You can obtain a copy of the License by
10 * contacting Liferay, Inc. See the License for the specific language governing
11 * permissions and limitations under the License, including but not limited to
12 * distribution rights of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23 package com.liferay.portal.spring.context;
24
25 import com.liferay.portal.kernel.portlet.PortletClassLoaderUtil;
26 import com.liferay.portal.kernel.util.AggregateClassLoader;
27 import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
28 import com.liferay.portal.spring.util.FilterClassLoader;
29
30 import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
31 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
32
33 /**
34 * <a href="PortletBeanFactoryPostProcessor.java.html"><b><i>View Source</i></b>
35 * </a>
36 *
37 * @author Brian Wing Shun Chan
38 */
39 public class PortletBeanFactoryPostProcessor
40 implements BeanFactoryPostProcessor {
41
42 public void postProcessBeanFactory(
43 ConfigurableListableBeanFactory beanFactory) {
44
45 ClassLoader beanClassLoader =
46 AggregateClassLoader.getAggregateClassLoader(
47 new ClassLoader[] {
48 PortletClassLoaderUtil.getClassLoader(),
49 PortalClassLoaderUtil.getClassLoader()
50 });
51
52 beanClassLoader = new FilterClassLoader(beanClassLoader);
53
54 beanFactory.setBeanClassLoader(beanClassLoader);
55 }
56
57 }