[Htmlparser-cvs] htmlparser/src/org/htmlparser/scanners BaseHrefScanner.java,1.29,1.30 CompositeTagS
Brought to you by:
derrickoswald
From: <der...@us...> - 2003-11-01 21:55:46
|
Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners In directory sc8-pr-cvs1:/tmp/cvs-serv2656/scanners Modified Files: BaseHrefScanner.java CompositeTagScanner.java DoctypeScanner.java FrameScanner.java ImageScanner.java InputTagScanner.java JspScanner.java MetaTagScanner.java ScriptScanner.java TagScanner.java Log Message: Create nodes by cloning from a list of prototypes in the Parser (NodeFactory). So now, the startTag() is the CompositeTag, and the CompositeTagScanner just adds children. This is an intermediate code drop on the way to integrating the scanners with the tags; the scanners no longer create the tags (but they still create the prototypical ones). Index: BaseHrefScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/BaseHrefScanner.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** BaseHrefScanner.java 29 Oct 2003 03:31:17 -0000 1.29 --- BaseHrefScanner.java 1 Nov 2003 21:55:43 -0000 1.30 *************** *** 59,63 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { BaseHrefTag ret; --- 59,63 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { BaseHrefTag ret; Index: CompositeTagScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/CompositeTagScanner.java,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 *** CompositeTagScanner.java 1 Nov 2003 01:36:57 -0000 1.78 --- CompositeTagScanner.java 1 Nov 2003 21:55:43 -0000 1.79 *************** *** 192,197 **** String name; TagScanner scanner; ! CompositeTag composite; ! Tag ret; nodeList = new NodeList (); --- 192,196 ---- String name; TagScanner scanner; ! CompositeTag ret; nodeList = new NodeList (); *************** *** 245,255 **** endTag = createVirtualEndTag (tag, lexer.getPage (), lexer.getCursor ().getPosition ()); ! composite = (CompositeTag)createTag (lexer.getPage (), tag.getStartPosition (), endTag.getEndPosition (), tag.getAttributesEx (), tag, endTag, nodeList); ! composite.setThisScanner (this); ! for (int i = 0; i < composite.getChildCount (); i++) ! composite.childAt (i).setParent (composite); ! ret = composite; - return (ret); } --- 244,255 ---- endTag = createVirtualEndTag (tag, lexer.getPage (), lexer.getCursor ().getPosition ()); ! ret = (CompositeTag)tag; ! ret.setEndTag (endTag); ! ret.setChildren (nodeList); ! for (int i = 0; i < ret.getChildCount (); i++) ! ret.childAt (i).setParent (ret); ! endTag.setParent (ret); ! ret.doSemanticAction (); return (ret); } *************** *** 284,288 **** * For composite tags this shouldn't be used and hence throws an exception. */ ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { throw new ParserException ("composite tags shouldn't be using this"); --- 284,288 ---- * For composite tags this shouldn't be used and hence throws an exception. */ ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { throw new ParserException ("composite tags shouldn't be using this"); Index: DoctypeScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/DoctypeScanner.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** DoctypeScanner.java 26 Oct 2003 19:46:19 -0000 1.30 --- DoctypeScanner.java 1 Nov 2003 21:55:43 -0000 1.31 *************** *** 58,62 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { DoctypeTag ret; --- 58,62 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { DoctypeTag ret; Index: FrameScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/FrameScanner.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** FrameScanner.java 26 Oct 2003 19:46:19 -0000 1.31 --- FrameScanner.java 1 Nov 2003 21:55:43 -0000 1.32 *************** *** 70,74 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { FrameTag ret; --- 70,74 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { FrameTag ret; Index: ImageScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/ImageScanner.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** ImageScanner.java 29 Oct 2003 03:31:17 -0000 1.33 --- ImageScanner.java 1 Nov 2003 21:55:43 -0000 1.34 *************** *** 74,78 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { ImageTag ret; --- 74,78 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { ImageTag ret; Index: InputTagScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/InputTagScanner.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** InputTagScanner.java 26 Oct 2003 19:46:20 -0000 1.28 --- InputTagScanner.java 1 Nov 2003 21:55:43 -0000 1.29 *************** *** 53,57 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { InputTag ret; --- 53,57 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { InputTag ret; Index: JspScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/JspScanner.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** JspScanner.java 26 Oct 2003 19:46:20 -0000 1.30 --- JspScanner.java 1 Nov 2003 21:55:43 -0000 1.31 *************** *** 57,61 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { JspTag ret; --- 57,61 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { JspTag ret; Index: MetaTagScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/MetaTagScanner.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** MetaTagScanner.java 26 Oct 2003 19:46:21 -0000 1.28 --- MetaTagScanner.java 1 Nov 2003 21:55:43 -0000 1.29 *************** *** 48,52 **** } ! protected Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { MetaTag ret; --- 48,52 ---- } ! public Tag createTag (Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException { MetaTag ret; Index: ScriptScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/ScriptScanner.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** ScriptScanner.java 1 Nov 2003 01:36:57 -0000 1.48 --- ScriptScanner.java 1 Nov 2003 21:55:43 -0000 1.49 *************** *** 37,40 **** --- 37,41 ---- import org.htmlparser.lexer.Page; import org.htmlparser.lexer.nodes.NodeFactory; + import org.htmlparser.tags.CompositeTag; import org.htmlparser.tags.ScriptTag; import org.htmlparser.tags.Tag; *************** *** 72,76 **** ret.setEndPosition (end); ret.setAttributesEx (attributes); - ret.setStartTag (startTag); ret.setEndTag (endTag); ret.setChildren (children); --- 73,76 ---- *************** *** 95,99 **** Tag end; NodeFactory factory; ! Tag ret; done = false; --- 95,99 ---- Tag end; NodeFactory factory; ! CompositeTag ret; done = false; *************** *** 163,169 **** if (null == end) end = new Tag (lexer.getPage (), tag.getEndPosition (), tag.getEndPosition (), new Vector ()); ! //TODO: use the factory: ! ret = createTag (lexer.getPage (), tag.getStartPosition (), end.getEndPosition (), tag.getAttributesEx (), tag, end, new NodeList (last)); ! ret.setThisScanner (this); } finally --- 163,172 ---- if (null == end) end = new Tag (lexer.getPage (), tag.getEndPosition (), tag.getEndPosition (), new Vector ()); ! ret = (CompositeTag)tag; ! ret.setEndTag (end); ! ret.setChildren (new NodeList (last)); ! last.setParent (ret); ! end.setParent (ret); ! ret.doSemanticAction (); } finally Index: TagScanner.java =================================================================== RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/scanners/TagScanner.java,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** TagScanner.java 1 Nov 2003 01:36:57 -0000 1.47 --- TagScanner.java 1 Nov 2003 21:55:43 -0000 1.48 *************** *** 134,139 **** Tag ret; ! ret = createTag(lexer.getPage (), tag.getStartPosition (), tag.getEndPosition (), tag.getAttributesEx (), tag, url); ! ret.setThisScanner(this); return (ret); --- 134,139 ---- Tag ret; ! ret = tag; ! ret.doSemanticAction (); return (ret); *************** *** 149,153 **** * @throws ParserException */ ! protected abstract Tag createTag(Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException; public abstract String [] getID(); --- 149,153 ---- * @throws ParserException */ ! public abstract Tag createTag(Page page, int start, int end, Vector attributes, Tag tag, String url) throws ParserException; public abstract String [] getID(); |