1
2
3
4
5
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
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 }