KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > clipbuilder > html > web > html > Impl > HTMLParser > ChewBuilderVisitor


1 package org.jahia.clipbuilder.html.web.html.Impl.HTMLParser;
2
3 import javax.swing.text.html.*;
4
5 import org.jahia.clipbuilder.html.util.*;
6 import org.htmlparser.*;
7 import org.htmlparser.Tag;
8 import org.htmlparser.tags.*;
9 import org.htmlparser.util.*;
10 import org.htmlparser.visitors.*;
11 import org.htmlparser.scanners.ScriptScanner;
12
13 //import org.apache.ecs.html.*;
14

15 /**
16  * Description of the Class
17  *
18  *@author Tlili Khaled
19  */

20 public class ChewBuilderVisitor extends NodeVisitor {
21     private int count = 0;
22     private int countTable = 0;
23     private Node firstNode = null;
24     private HTMLParserTransformer transformer;
25     private String JavaDoc tagName;
26     private static final String JavaDoc TABLE_ID = "chewWenClip";
27     private static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(ChewBuilderVisitor.class);
28
29
30     /**
31      * Constructor for the ChewBuilderVisitor object
32      *
33      *@param transformer Description of Parameter
34      *@param tagName Description of Parameter
35      */

36     public ChewBuilderVisitor(HTMLParserTransformer transformer, String JavaDoc tagName) {
37         this.transformer = transformer;
38         setTagName(tagName);
39         ScriptScanner.STRICT = false;
40     }
41
42
43     /**
44      * Sets the FirstNode attribute of the ChewBuilderVisitor object
45      *
46      *@param firstNode The new FirstNode value
47      */

48     public void setFirstNode(Node firstNode) {
49         this.firstNode = firstNode;
50     }
51
52
53     /**
54      * Sets the TagName attribute of the ChewBuilderVisitor object
55      *
56      *@param tagName The new TagName value
57      */

58     public void setTagName(String JavaDoc tagName) {
59         this.tagName = tagName;
60     }
61
62
63     /**
64      * Gets the FirstNode attribute of the ChewBuilderVisitor object
65      *
66      *@return The FirstNode value
67      */

68     public Node getFirstNode() {
69         return firstNode;
70     }
71
72
73     /**
74      * Gets the TagName attribute of the ChewBuilderVisitor object
75      *
76      *@return The TagName value
77      */

78     public String JavaDoc getTagName() {
79         return tagName;
80     }
81
82
83     /**
84      * Description of the Method
85      *
86      *@param tag Description of Parameter
87      */

88     public void visitTag(Tag tag) {
89         if (count == 0) {
90             setFirstNode(tag);
91         }
92         if (tag.getTagName().equalsIgnoreCase(getTagName())) {
93             logger.debug("Visit Table Tag");
94             NodeList list = tag.getChildren();
95             if (list == null) {
96                 list = new NodeList();
97             }
98
99             // Add link tag
100
LinkTag link = new LinkTag();
101             link.setAttribute(HTML.Attribute.TARGET.toString(), "_top");
102             LinkTag endTag = new LinkTag();
103             endTag.setTagName("/a");
104             link.setEndTag(endTag);
105             String JavaDoc idAtt = tag.getAttribute("id");
106             String JavaDoc hash = HashUtilities.buildTagHash(idAtt, countTable);
107             link.setLink(transformer.getHrefChewLink(hash));
108             NodeList linkChildren = new NodeList();
109             //img input
110
ImageTag img = new ImageTag();
111             img.setImageURL(transformer.getImageChewLinkSrcValue());
112             linkChildren.add(img);
113             link.setChildren(linkChildren);
114             // add link
115
list.add(link);
116             tag.setChildren(list);
117             tag.setAttribute(HTML.Attribute.BORDER.toString(), "1");
118             countTable++;
119
120         }
121         count++;
122     }
123
124
125     /**
126      * Description of the Method
127      *
128      *@param string Description of Parameter
129      */

130     public void visitStringNode(Text string) {
131         //logger.debug(string);
132
}
133
134 }
135
Popular Tags