01: /*
02: * JFolder, Copyright 2001-2006 Gary Steinmetz
03: *
04: * Distributable under LGPL license.
05: * See terms of license at gnu.org.
06: */
07:
08: package org.jfolder.console.web.dictionary;
09:
10: //base classes
11: import java.io.IOException;
12: import java.io.PrintWriter;
13: import java.util.StringTokenizer;
14: import javax.servlet.ServletException;
15: import javax.servlet.http.HttpServlet;
16: import javax.servlet.http.HttpServletRequest;
17: import javax.servlet.http.HttpServletResponse;
18:
19: //project specific classes
20: import org.jfolder.common.utils.web.ParameterHelper;
21: import org.jfolder.common.utils.web.ParameterSet;
22: import org.jfolder.common.web.template.ConsoleTemplateContext;
23: import org.jfolder.common.web.template.PageSetupContext;
24:
25: //other classes
26:
27: public abstract class BaseConceptTagDictionaryServlet extends
28: HttpServlet {
29:
30: public BaseConceptTagDictionaryServlet() {
31: }
32:
33: public void service(HttpServletRequest inRequest,
34: HttpServletResponse inResponse) throws IOException,
35: ServletException {
36:
37: ParameterSet ps = ParameterHelper.getParameterSet(inRequest);
38:
39: ConsoleTemplateContext cpc = process(ps);
40: PageSetupContext psc = PageSetupContext.newPageSetupContext();
41: renderConsolePageContext(inResponse, cpc, psc);
42: }
43:
44: private void renderConsolePageContext(
45: HttpServletResponse inResponse,
46: ConsoleTemplateContext inCpc, PageSetupContext inPsc)
47: throws IOException {
48: //
49: PrintWriter pw = inResponse.getWriter();
50: //
51: inCpc.prepareForReuse();
52: //
53: inCpc.setMetaMode(true);
54: inCpc.createConsolePage(null, inPsc);
55: //
56: inCpc.considerDefaultSettings();
57: //
58: inCpc.setMetaMode(false);
59: inCpc.createConsolePage(pw, inPsc);
60: //
61: pw.flush();
62: pw.close();
63: }
64:
65: public abstract ConsoleTemplateContext process(ParameterSet inPs)
66: throws IOException, ServletException;
67:
68: }
|