From: <fg...@us...> - 2009-05-02 13:10:25
|
Revision: 1182 http://openutils.svn.sourceforge.net/openutils/?rev=1182&view=rev Author: fgiust Date: 2009-05-02 13:10:23 +0000 (Sat, 02 May 2009) Log Message: ----------- renderer reworked Modified Paths: -------------- trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/StripesRenderer.java trunk/openutils-mgnlstripes/src/site/changes/changes.xml Modified: trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/StripesRenderer.java =================================================================== --- trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/StripesRenderer.java 2009-05-02 12:38:24 UTC (rev 1181) +++ trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/StripesRenderer.java 2009-05-02 13:10:23 UTC (rev 1182) @@ -24,8 +24,8 @@ import info.magnolia.module.templating.Paragraph; import info.magnolia.module.templating.ParagraphRenderer; import info.magnolia.module.templating.RenderException; -import info.magnolia.module.templating.Template; -import info.magnolia.module.templating.TemplateRenderer; +import info.magnolia.module.templating.RenderableDefinition; +import info.magnolia.module.templating.renderers.JspTemplateRenderer; import java.io.IOException; import java.io.Writer; @@ -39,10 +39,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import net.sourceforge.stripes.action.Resolution; import net.sourceforge.stripes.config.Configuration; import net.sourceforge.stripes.controller.DispatcherServlet; -import net.sourceforge.stripes.controller.ExecutionContext; import net.sourceforge.stripes.controller.StripesConstants; import net.sourceforge.stripes.controller.StripesFilter; import net.sourceforge.stripes.controller.StripesRequestWrapper; @@ -75,7 +73,7 @@ * @author fgiust * @version $Id$ */ -public class StripesRenderer implements ParagraphRenderer, TemplateRenderer +public class StripesRenderer extends JspTemplateRenderer implements ParagraphRenderer { private StripesDispatcherServlet stripesDispatcherServlet = new StripesDispatcherServlet(); @@ -88,53 +86,47 @@ /** * {@inheritDoc} */ - public void renderTemplate(Template template, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException + public void render(Content content, Paragraph paragraph, Writer out) throws RenderException, IOException { try { - renderTemplate(MgnlContext.getAggregationState().getCurrentContent(), template, response.getWriter()); + render(content, (RenderableDefinition) paragraph, out); } - catch (RenderException e) + finally { - throw new ServletException(e); + out.flush(); } } - /** - * {@inheritDoc} - */ - public void renderTemplate(Content content, Template template, Writer out) throws RenderException, IOException + @Override + protected void onRender(Content content, RenderableDefinition definition, Writer out, Map ctx, String templatePath) + throws RenderException { + + HttpServletResponse response = ((WebContext) MgnlContext.getInstance()).getResponse(); + if (response.isCommitted()) + { + log.warn("Attempting to forward to {}, but response is already committed.", templatePath); + } + Map<String, String[]> nodeDataMap = contentToMap(MgnlContext.getAggregationState().getCurrentContent()); - renderCommon(template.getTemplatePath(), nodeDataMap, out); + try + { + renderCommon(definition.getTemplatePath(), nodeDataMap, out); + } + catch (IOException e) + { + throw new RenderException(e); + } } /** - * <p> - * Invokes the following instance level methods in order to coordinate the processing of requests: - * </p> - * <ul> - * <li>{@link #resolveActionBean(ExecutionContext)}</li> - * <li>{@link #resolveHandler(ExecutionContext)}</li> - * <li>{@link #doBindingAndValidation(ExecutionContext)}</li> - * <li>{@link #doCustomValidation(ExecutionContext)}</li> - * <li>{@link #handleValidationErrors(ExecutionContext)}</li> - * <li>{@link #invokeEventHandler(ExecutionContext)}</li> - * </ul> - * <p> - * If any of the above methods return a {@link Resolution} the rest of the request processing is aborted and the - * resolution is executed. - * </p> {@inheritDoc} + * {@inheritDoc} */ - public void render(Content content, Paragraph paragraph, Writer out) throws IOException + @Override + protected Map newContext() { - // @fgiust start custom magnolia setup - - final String templatePath = paragraph.getTemplatePath(); - Map<String, String[]> nodeDataMap = contentToMap(content); - - renderCommon(templatePath, nodeDataMap, out); + return MgnlContext.getWebContext("StripesRenderer can only be used with a WebContext"); } /** @@ -174,7 +166,7 @@ try { - stripesDispatcherServlet.doPost(request, response); + stripesDispatcherServlet.service(request, response); } catch (ServletException e) { @@ -225,10 +217,9 @@ * {@inheritDoc} */ @Override - public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, - IOException + public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException { - super.doPost(request, response); + super.service(request, response); } /** Modified: trunk/openutils-mgnlstripes/src/site/changes/changes.xml =================================================================== --- trunk/openutils-mgnlstripes/src/site/changes/changes.xml 2009-05-02 12:38:24 UTC (rev 1181) +++ trunk/openutils-mgnlstripes/src/site/changes/changes.xml 2009-05-02 13:10:23 UTC (rev 1182) @@ -8,7 +8,12 @@ <author email="fgiust(at)users.sourceforge.net">Fabrizio Giustina</author> </properties> <body> - <release version="4.0" date="2009-05-02" description=""> + <release version="4.0.2" date="2009-05-02" description=""> + <action type="add" dev="fgiust">Stripes renderer updated to set magnolia 4.0 implicit objects by default (actpage, + content...)</action> + <action type="fix" dev="fgiust">Fixed "post not supported error" with stripes 1.5.1</action> + </release> + <release version="4.0.1" date="2009-05-02" description=""> <action type="update" dev="fgiust">updated to Stripes 1.5.1</action> <action type="add" dev="fgiust">added dependency from openutils-mgnltasks</action> <action type="add" dev="fgiust">i18n basename for paragraphs can now be set using the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |