KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > webwork > spring > lifecycle > SpringObjectFactoryListener


1 /*
2  * Copyright (c) 2005 Opensymphony. All Rights Reserved.
3  */

4 package com.opensymphony.webwork.spring.lifecycle;
5 import javax.servlet.ServletContext JavaDoc;
6 import javax.servlet.ServletContextEvent JavaDoc;
7 import javax.servlet.ServletContextListener JavaDoc;
8
9 import org.springframework.context.ApplicationContext;
10 import org.springframework.web.context.support.WebApplicationContextUtils;
11
12 import com.opensymphony.xwork.ObjectFactory;
13 import com.opensymphony.xwork.spring.SpringObjectFactory;
14
15 /**
16  * ApplicationContextListener that sets up the environment so that XWork and
17  * Webwork can load data and information from Spring. Relies on Spring's
18  * {@link org.springframework.web.context.ContextLoaderListener}having been
19  * called first.
20  *
21  * @author sms
22  */

23 public class SpringObjectFactoryListener implements ServletContextListener JavaDoc
24 {
25     /**
26      * Creates a {@link com.opensymphony.xwork.spring.SpringObjectFactory}and sets that as the default
27      * {@link ObjectFactory}to use for XWork.
28      *
29      * @param event
30      * The ServletContextEvent.
31      */

32     public void contextInitialized(ServletContextEvent JavaDoc event) {
33         ServletContext JavaDoc app = event.getServletContext();
34         ApplicationContext appContext = WebApplicationContextUtils
35                 .getWebApplicationContext(app);
36         SpringObjectFactory objFactory = new SpringObjectFactory();
37         objFactory.setApplicationContext(appContext);
38         ObjectFactory.setObjectFactory(objFactory);
39     }
40     public void contextDestroyed(ServletContextEvent JavaDoc arg0) {
41         // Nothing to do.
42
}
43 }
Popular Tags