svnno****@sourc*****
svnno****@sourc*****
2007年 8月 11日 (土) 07:21:00 JST
Revision: 450 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=450 Author: shinsuke Date: 2007-08-11 07:21:00 +0900 (Sat, 11 Aug 2007) Log Message: ----------- set title. Modified Paths: -------------- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/WebProxyConstants.java webproxy/trunk/src/main/java/jp/sf/pal/webproxy/handler/element/TitleElementHandler.java -------------- next part -------------- Modified: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/WebProxyConstants.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/WebProxyConstants.java 2007-08-10 13:51:25 UTC (rev 449) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/WebProxyConstants.java 2007-08-10 22:21:00 UTC (rev 450) @@ -5,6 +5,8 @@ public static final String PREVIOUS_WRITABLE = PREFIX + "PreviousWritable"; + public static final String ORIGINAL_WRITER = PREFIX + "OriginalWriter"; + public static final String METHOD = PREFIX + "Method"; public static final String POST_METHOD = "post"; Modified: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/handler/element/TitleElementHandler.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/handler/element/TitleElementHandler.java 2007-08-10 13:51:25 UTC (rev 449) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/handler/element/TitleElementHandler.java 2007-08-10 22:21:00 UTC (rev 450) @@ -1,15 +1,44 @@ package jp.sf.pal.webproxy.handler.element; +import java.io.StringWriter; +import java.io.Writer; +import java.util.Map; + +import jp.sf.pal.webproxy.WebProxyConstants; import jp.sf.pal.webproxy.handler.html.HtmlHandler; +import jp.sf.pal.webproxy.util.WebProxyUtil; import org.xml.sax.Attributes; public class TitleElementHandler implements ElementHandler { public void startElement(HtmlHandler htmlHandler, String uri, String localName, String name, Attributes attributes) { + Map<String, Object> props = htmlHandler.getProperties(); + + props.put(WebProxyConstants.PREVIOUS_WRITABLE, new Boolean(htmlHandler + .isWritable())); + htmlHandler.setWritable(true); + + props.put(WebProxyConstants.ORIGINAL_WRITER, htmlHandler.getWriter()); + htmlHandler.setWriter(new StringWriter()); + } public void endElement(HtmlHandler htmlHandler, String uri, String localName, String name) { + WebProxyUtil.setTitle(htmlHandler.getWriter().toString()); + + Map<String, Object> props = htmlHandler.getProperties(); + + Writer writer = (Writer) props.get(WebProxyConstants.ORIGINAL_WRITER); + htmlHandler.setWriter(writer); + + Boolean writable = (Boolean) props + .get(WebProxyConstants.PREVIOUS_WRITABLE); + if (writable != null) { + htmlHandler.setWritable(writable.booleanValue()); + } else { + htmlHandler.setWritable(false); + } } }