KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > blogunity > util > RenderUtils


1 /*
2  * $Id: RenderUtils.java,v 1.3 2005/01/09 19:31:27 michelson Exp $
3  *
4  * Copyright (c) 2004 j2biz Group, http://www.j2biz.com Koeln / Duesseldorf ,
5  * Germany
6  *
7  * @author Max Kalina
8  *
9  *
10  * This program is free software; you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License as published by the Free Software
12  * Foundation; either version 2 of the License, or (at your option) any later
13  * version.
14  *
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License along with
21  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22  * Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */

25
26 package com.j2biz.blogunity.util;
27
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30 import javax.servlet.http.HttpSession JavaDoc;
31
32 import org.radeox.api.engine.RenderEngine;
33 import org.radeox.api.engine.context.InitialRenderContext;
34 import org.radeox.api.engine.context.RenderContext;
35 import org.radeox.engine.context.BaseInitialRenderContext;
36 import org.radeox.engine.context.BaseRenderContext;
37
38 import com.j2biz.blogunity.IConstants;
39 import com.j2biz.blogunity.pojo.Entry;
40 import com.j2biz.blogunity.render.BlogunityRenderEngine;
41
42 public class RenderUtils {
43
44     public static Entry render(Entry entry, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
45         if (entry == null) return null;
46
47         BaseInitialRenderContext initCtx = new BaseInitialRenderContext();
48         initCtx.set("blog", entry.getBlog());
49         initCtx.set("webappName", request.getContextPath());
50
51         HttpSession JavaDoc session = request.getSession(false);
52         if (session != null)
53             initCtx.set("user", session.getAttribute(IConstants.Session.USER));
54         else
55             initCtx.set("user", null);
56
57         RenderEngine engine = initRenderEngine(initCtx);
58         RenderContext ctx = new BaseRenderContext();
59
60         // render title
61
String JavaDoc result = engine.render(entry.getRawTitle(), ctx);
62         entry.setTitle(result);
63
64         // render excerpt
65
if (entry.getRawExcerpt() != null) {
66             result = engine.render(entry.getRawExcerpt(), ctx);
67             entry.setExcerpt(result);
68         } else
69             entry.setExcerpt(null);
70
71         // render content
72
result = engine.render(entry.getRawBody(), ctx);
73         entry.setBody(result);
74
75         return entry;
76     }
77
78     public static String JavaDoc renderText(String JavaDoc text) {
79
80         if (text == null) return null;
81
82         RenderEngine engine = initRenderEngine();
83         RenderContext ctx = new BaseRenderContext();
84
85         return engine.render(text, ctx);
86     }
87
88     private static BlogunityRenderEngine initRenderEngine(InitialRenderContext initCtx) {
89         return new BlogunityRenderEngine(initCtx);
90     }
91
92     private static BlogunityRenderEngine initRenderEngine() {
93         return new BlogunityRenderEngine();
94     }
95
96 }
Popular Tags