[Tbase-cvs] tbase-runtime/src/org/tbase/html TemplateParser.java,1.2,1.3
Status: Alpha
Brought to you by:
ron_bakker
From: Ron B. <ron...@us...> - 2006-03-26 12:11:09
|
Update of /cvsroot/tbase/tbase-runtime/src/org/tbase/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5625/src/org/tbase/html Modified Files: TemplateParser.java Log Message: Adding arguments and setting values in request scope Index: TemplateParser.java =================================================================== RCS file: /cvsroot/tbase/tbase-runtime/src/org/tbase/html/TemplateParser.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TemplateParser.java 26 Mar 2006 11:15:19 -0000 1.2 --- TemplateParser.java 26 Mar 2006 12:11:01 -0000 1.3 *************** *** 34,52 **** */ ! public class TemplateParser { ! private Hashtable m_parts = new Hashtable(); ! private Hashtable m_fields = new Hashtable(); ! private StringBuffer m_parsed = new StringBuffer(); ! private String m_templatepath = new String(); ! private HttpServletRequest m_request; ! private HttpServletResponse m_response; ! private long m_requesttype; ! public TemplateParser() { } ! private TemplateParser getParser(String templatename) { BufferedReader input = null; --- 34,53 ---- */ ! public abstract class TemplateParser { ! private Hashtable<String,String> m_parts = new Hashtable<String,String>(); ! private Hashtable<String,String> m_fields = new Hashtable<String,String>(); ! private StringBuffer m_parsed = new StringBuffer(); ! protected String m_templatepath = new String(); ! protected HttpServletRequest m_request = null; ! protected HttpServletResponse m_response = null; ! ! public TemplateParser () { } ! /* Internal interface */ ! private TemplateParser _getParser (String templatename) { BufferedReader input = null; *************** *** 92,96 **** } ! private String _getContents(File aFile) { StringBuffer contents = new StringBuffer(); --- 93,97 ---- } ! private String _getContents (File aFile) { StringBuffer contents = new StringBuffer(); *************** *** 133,144 **** } ! ! ! public void setFields (Hashtable fields) ! { ! m_fields = fields; ! } ! ! public void parsePart (String partname) throws IOException { --- 134,139 ---- } ! /* Protected interface */ ! protected void parsePart (String partname) throws IOException { *************** *** 150,172 **** String key = e.nextElement().toString(); String field = "\\[token:" + key + "\\]"; ! output = output.replaceAll(field, m_fields.get(key).toString()); ! } ! ! String lines[] = output.split("\n"); ! for (int i=0; i<lines.length; i++) { ! if ( lines[i].indexOf("[include:") != -1 && lines[i].indexOf("]") != -1) ! { ! String includefile = lines[i].substring(lines[i].indexOf("[include:")+9, lines[i].indexOf("]")); ! String parsefile = m_templatepath+"/"+includefile+".tb"; ! TemplateParser parser = getParser(parsefile); ! if (parser != null) ! m_parsed.append(parser.parseTemplate(parsefile, m_request, m_response, m_requesttype)); ! else ! m_parsed.append("[include:File not found:"+parsefile+"]"); ! } else ! { ! m_parsed.append(lines[i]+"\n"); } } --- 145,167 ---- String key = e.nextElement().toString(); String field = "\\[token:" + key + "\\]"; ! output = output.replaceAll(field, m_fields.get(key).toString()); ! } ! ! String lines[] = output.split("\n"); ! for (int i=0; i<lines.length; i++) ! { ! if ( lines[i].indexOf("[include:") != -1 && lines[i].indexOf("]") != -1) { ! String includefile = lines[i].substring(lines[i].indexOf("[include:")+9, lines[i].indexOf("]")); ! String parsefile = m_templatepath+"/"+includefile+".tb"; ! TemplateParser parser = _getParser(parsefile); ! if (parser != null) ! m_parsed.append(parser.parseTemplate(parsefile, m_request, m_response)); else ! m_parsed.append("[include:File not found:"+parsefile+"]"); ! } ! else ! { ! m_parsed.append(lines[i]+"\n"); } } *************** *** 176,183 **** m_parsed.append(m_parts.get(partname).toString()); } ! // m_parsed.append(output); } ! public String parseTemplate(String templatefile, HttpServletRequest request, HttpServletResponse response, long requesttype) throws IOException { --- 171,184 ---- m_parsed.append(m_parts.get(partname).toString()); } ! } ! protected void setFields (Hashtable<String,String> fields) ! { ! m_fields = fields; ! } ! ! /* Public interface */ ! public String parseTemplate (String templatefile, HttpServletRequest request, HttpServletResponse response) throws IOException { *************** *** 207,229 **** } if (name != "") ! m_parts.put(name, value); m_request = request; m_response = response; - m_requesttype = requesttype; ! doRequest(request, response, requesttype); return m_parsed.toString(); } ! ! public void doRequest(HttpServletRequest request, HttpServletResponse response, long requesttype) ! throws IOException { ! Hashtable fields = new Hashtable(); ! fields.put("title", getClass().getName()); ! setFields(fields); ! parsePart("top"); ! parsePart("bottom"); } } --- 208,231 ---- } if (name != "") ! m_parts.put(name, value); m_request = request; m_response = response; ! doRequest(request, response); return m_parsed.toString(); } ! ! public Hashtable getParts () { ! return m_parts; ! } ! ! public Hashtable getFields () ! { ! return m_fields; } + + public abstract void doRequest (HttpServletRequest request, HttpServletResponse response) throws IOException; } |