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 15 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 tagName; 26 private static final String TABLE_ID = "chewWenClip"; 27 private static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(ChewBuilderVisitor.class); 28 29 30 36 public ChewBuilderVisitor(HTMLParserTransformer transformer, String tagName) { 37 this.transformer = transformer; 38 setTagName(tagName); 39 ScriptScanner.STRICT = false; 40 } 41 42 43 48 public void setFirstNode(Node firstNode) { 49 this.firstNode = firstNode; 50 } 51 52 53 58 public void setTagName(String tagName) { 59 this.tagName = tagName; 60 } 61 62 63 68 public Node getFirstNode() { 69 return firstNode; 70 } 71 72 73 78 public String getTagName() { 79 return tagName; 80 } 81 82 83 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 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 idAtt = tag.getAttribute("id"); 106 String hash = HashUtilities.buildTagHash(idAtt, countTable); 107 link.setLink(transformer.getHrefChewLink(hash)); 108 NodeList linkChildren = new NodeList(); 109 ImageTag img = new ImageTag(); 111 img.setImageURL(transformer.getImageChewLinkSrcValue()); 112 linkChildren.add(img); 113 link.setChildren(linkChildren); 114 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 130 public void visitStringNode(Text string) { 131 } 133 134 } 135 | Popular Tags |