View Javadoc

1   /*
2    * joey and its relative products are published under the terms
3    * of the Apache Software License.
4    * 
5    * Created on 2004/04/09 15:17:19
6    */
7   package org.asyrinx.joey.tapestry.engine;
8   
9   import java.util.Map;
10  
11  import org.apache.tapestry.engine.BaseEngine;
12  import org.apache.tapestry.request.RequestContext;
13  import org.asyrinx.brownie.seasar.servlet.S2ContainerLoader;
14  import org.seasar.framework.container.S2Container;
15  
16  /***
17   * @author akima
18   */
19  public class S2AppEngine extends BaseEngine {
20  
21  	public static final String APPLICATION_CONTEXT_KEY = "s2container";
22  
23  	/***
24  	 * @see org.apache.tapestry.engine.AbstractEngine#setupForRequest(org.apache.tapestry.request.RequestContext)
25  	 */
26  	protected void setupForRequest(RequestContext context) {
27  		super.setupForRequest(context);
28  
29  		// insert ApplicationContext in global, if not there
30  		final Map global = (Map) getGlobal();
31  		S2Container container =
32  			(S2Container) global.get(APPLICATION_CONTEXT_KEY);
33  		if (container == null) {
34  			container =
35  				S2ContainerLoader.getContainer(
36  					context.getServlet().getServletContext());
37  			global.put(APPLICATION_CONTEXT_KEY, container);
38  		}
39  	}
40  }