This project has retired. For details please refer to its
Attic page.
GetAsStringVModel xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.tiles.velocity.template;
23
24 import java.io.IOException;
25 import java.io.Writer;
26 import java.util.Map;
27
28 import javax.servlet.ServletContext;
29 import javax.servlet.http.HttpServletRequest;
30 import javax.servlet.http.HttpServletResponse;
31
32 import org.apache.tiles.Attribute;
33 import org.apache.tiles.TilesContainer;
34 import org.apache.tiles.servlet.context.ServletUtil;
35 import org.apache.tiles.template.GetAsStringModel;
36 import org.apache.tiles.velocity.context.VelocityUtil;
37 import org.apache.velocity.context.Context;
38 import org.apache.velocity.context.InternalContextAdapter;
39 import org.apache.velocity.runtime.Renderable;
40
41 /***
42 * Wraps {@link GetAsStringModel} to be used in Velocity. For the list of
43 * parameters, see
44 * {@link GetAsStringModel#start(java.util.Stack, TilesContainer, boolean,
45 * String, String, Object, String, String, String, Attribute, Object...)}
46 * , {@link GetAsStringModel#end(java.util.Stack, TilesContainer, Writer, boolean, Object...)} and
47 * {@link GetAsStringModel#execute(TilesContainer, Writer, boolean, String,
48 * String, Object, String, String, String, Attribute, Object...)}.
49 *
50 * @version $Rev: 901361 $ $Date: 2010-01-20 21:10:27 +0100 (mer, 20 gen 2010) $
51 * @since 2.2.0
52 * @deprecated Use Velocity directives.
53 */
54 @Deprecated
55 public class GetAsStringVModel implements Executable, BodyExecutable {
56
57 /***
58 * The template model.
59 */
60 private GetAsStringModel model;
61
62 /***
63 * The Servlet context.
64 */
65 private ServletContext servletContext;
66
67 /***
68 * Constructor.
69 *
70 * @param model The template model.
71 * @param servletContext The servlet context.
72 * @since 2.2.0
73 */
74 public GetAsStringVModel(GetAsStringModel model,
75 ServletContext servletContext) {
76 this.model = model;
77 this.servletContext = servletContext;
78 }
79
80 /*** {@inheritDoc} */
81 public Renderable execute(HttpServletRequest request,
82 HttpServletResponse response, Context velocityContext,
83 Map<String, Object> params) {
84 return new AbstractDefaultToStringRenderable(velocityContext, params,
85 response, request) {
86
87 public boolean render(InternalContextAdapter context, Writer writer)
88 throws IOException {
89 TilesContainer container = ServletUtil.getCurrentContainer(
90 request, servletContext);
91 model.execute(container, writer,
92 VelocityUtil.toSimpleBoolean((Boolean) params
93 .get("ignore"), false), (String) params
94 .get("preparer"), (String) params.get("role"),
95 params.get("defaultValue"), (String) params
96 .get("defaultValueRole"), (String) params
97 .get("defaultValueType"), (String) params
98 .get("name"), (Attribute) params.get("value"),
99 velocityContext, request, response, writer);
100 return true;
101 }
102 };
103 }
104
105 /*** {@inheritDoc} */
106 public void start(HttpServletRequest request, HttpServletResponse response,
107 Context velocityContext, Map<String, Object> params) {
108 VelocityUtil.getParameterStack(velocityContext).push(params);
109 model.start(ServletUtil.getComposeStack(request), ServletUtil
110 .getCurrentContainer(request, servletContext), VelocityUtil
111 .toSimpleBoolean((Boolean) params.get("ignore"), false),
112 (String) params.get("preparer"), (String) params.get("role"),
113 params.get("defaultValue"), (String) params
114 .get("defaultValueRole"), (String) params
115 .get("defaultValueType"), (String) params.get("name"),
116 (Attribute) params.get("value"), velocityContext, request,
117 response);
118 }
119
120 /*** {@inheritDoc} */
121 public Renderable end(HttpServletRequest request, HttpServletResponse response,
122 Context velocityContext) {
123 Map<String, Object> params = VelocityUtil.getParameterStack(
124 velocityContext).pop();
125 return new AbstractDefaultToStringRenderable(velocityContext, params, response, request) {
126
127 public boolean render(InternalContextAdapter context, Writer writer)
128 throws IOException {
129 model.end(ServletUtil.getComposeStack(request), ServletUtil
130 .getCurrentContainer(request, servletContext), writer,
131 VelocityUtil.toSimpleBoolean((Boolean) params
132 .get("ignore"), false), velocityContext,
133 request, response, writer);
134 return true;
135 }
136 };
137 }
138 }