1 package org.apache.turbine.modules.pages;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.apache.turbine.services.velocity.TurbineVelocity;
20 import org.apache.turbine.services.velocity.VelocityService;
21
22 import org.apache.turbine.util.RunData;
23
24 import org.apache.velocity.context.Context;
25
26 /***
27 * Extends TemplatePage to set the template Context.
28 *
29 * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
30 * @author <a href="mailto:john.mcnally@clearink.com">John D. McNally</a>
31 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
32 * @version $Id: VelocityPage.java 264148 2005-08-29 14:21:04Z henning $
33 */
34 public class VelocityPage
35 extends TemplatePage
36 {
37 /***
38 * Stuffs the Context into the RunData so that it is available to
39 * the Action module and the Screen module via getContext().
40 *
41 * @param data Turbine information.
42 * @exception Exception, a generic exception.
43 */
44 protected void doBuildBeforeAction(RunData data)
45 throws Exception
46 {
47 Context context = TurbineVelocity.getContext(data);
48 data.getTemplateInfo()
49 .setTemplateContext(VelocityService.CONTEXT, context);
50 }
51
52 /***
53 * Allows the VelocityService to peform post-request actions.
54 * (releases the (non-global) tools in the context for reuse later)
55 */
56 protected void doPostBuild(RunData data)
57 throws Exception
58 {
59 Context context = TurbineVelocity.getContext(data);
60 TurbineVelocity.requestFinished(context);
61 }
62 }