You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2006/03/26 01:51:58 UTC

svn commit: r388866 - in /jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser: HTMLParser.java HtmlParserHTMLParser.java JTidyHTMLParser.java

Author: sebb
Date: Sat Mar 25 16:51:56 2006
New Revision: 388866

URL: http://svn.apache.org/viewcvs?rev=388866&view=rev
Log:
Move common strings to parent class

Modified:
    jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java
    jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParserHTMLParser.java
    jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java

Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java?rev=388866&r1=388865&r2=388866&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java Sat Mar 25 16:51:56 2006
@@ -36,6 +36,22 @@
 
     private static final Logger log = LoggingManager.getLoggerForClass();
 
+    protected static final String ATT_BACKGROUND    = "background";// $NON-NLS-1$
+    protected static final String ATT_HREF          = "href";// $NON-NLS-1$
+    protected static final String ATT_REL           = "rel";// $NON-NLS-1$
+    protected static final String ATT_SRC           = "src";// $NON-NLS-1$
+    protected static final String ATT_TYPE          = "type";// $NON-NLS-1$
+    protected static final String ATT_IS_IMAGE      = "image";// $NON-NLS-1$
+    protected static final String TAG_APPLET        = "applet";// $NON-NLS-1$
+    protected static final String TAG_BASE          = "base";// $NON-NLS-1$
+    protected static final String TAG_BGSOUND       = "bgsound";// $NON-NLS-1$
+    protected static final String TAG_EMBED         = "embed";// $NON-NLS-1$
+    protected static final String TAG_FRAME         = "frame";// $NON-NLS-1$
+    protected static final String TAG_INPUT         = "input";// $NON-NLS-1$
+    protected static final String TAG_LINK          = "link";// $NON-NLS-1$
+    protected static final String TAG_SCRIPT        = "script";// $NON-NLS-1$
+    protected static final String STYLESHEET        = "stylesheet";// $NON-NLS-1$
+
 	// Cache of parsers - parsers must be re-usable
 	private static Hashtable parsers = new Hashtable(3);
 
@@ -143,6 +159,7 @@
 
 	// See whether we can use LinkedHashSet or not:
 	private static final boolean hasLinkedHashSet;
+
 	static {
 		boolean b;
 		try {

Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParserHTMLParser.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParserHTMLParser.java?rev=388866&r1=388865&r2=388866&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParserHTMLParser.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParserHTMLParser.java Sat Mar 25 16:51:56 2006
@@ -61,15 +61,9 @@
     /** Used to store the Logger (used for debug and error messages). */
 	private static final Logger log = LoggingManager.getLoggerForClass();
 
-    private static final String ATT_HREF = "href"; // $NON-NLS-1$
-    private static final String STYLESHEET = "stylesheet"; // $NON-NLS-1$
-    private static final String ATT_REL = "rel"; // $NON-NLS-1$
-    private static final String ATT_SRC = "src"; // $NON-NLS-1$
-    private static final String ATT_IS_IMAGE = "image"; // $NON-NLS-1$
-    private static final String ATT_TYPE = "type"; // $NON-NLS-1$
-
     protected HtmlParserHTMLParser() {
 		super();
+        log.info("Using htmlparser implementation provided with JMeter");
 	}
 
 	protected boolean isReusable() {
@@ -83,7 +77,10 @@
 	 *      java.net.URL)
 	 */
 	public Iterator getEmbeddedResourceURLs(byte[] html, URL baseUrl, URLCollection urls) throws HTMLParseException {
-		Parser htmlParser = null;
+        
+        if (log.isDebugEnabled()) log.debug("Parsing html of: " + baseUrl);
+        
+        Parser htmlParser = null;
 		try {
 			String contents = new String(html);
 			StringReader reader = new StringReader(contents);
@@ -113,7 +110,7 @@
 				// to the child elements inside the body
 				if (node instanceof BodyTag) {
 					BodyTag body = (BodyTag) node;
-					binUrlStr = body.getAttribute("background");
+					binUrlStr = body.getAttribute(ATT_BACKGROUND);
 					// if the body tag exists, we get the elements
 					// within the body tag. if we don't we won't
 					// see the body of the page. The only catch
@@ -175,7 +172,7 @@
                 } else if (node instanceof Tag) {
                     Tag tag = (Tag) node;
                     String tagname=tag.getTagName();
-                    if (tagname.equalsIgnoreCase("EMBED")){
+                    if (tagname.equalsIgnoreCase(TAG_EMBED)){
                         binUrlStr = tag.getAttribute(ATT_SRC);  
                     }
                 }

Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java?rev=388866&r1=388865&r2=388866&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java Sat Mar 25 16:51:56 2006
@@ -1,4 +1,3 @@
-// $Header$
 /*
  * Copyright 2003-2004 The Apache Software Foundation.
  *
@@ -38,8 +37,7 @@
  * @version $Revision$ updated on $Date$
  */
 class JTidyHTMLParser extends HTMLParser {
-	/** Used to store the Logger (used for debug and error messages). */
-	transient private static Logger log = LoggingManager.getLoggerForClass();
+    private static final Logger log = LoggingManager.getLoggerForClass();
 
 	protected JTidyHTMLParser() {
 		super();
@@ -100,8 +98,8 @@
 		case Node.ELEMENT_NODE:
 
 			NamedNodeMap attrs = node.getAttributes();
-			if (name.equalsIgnoreCase("base")) {
-				String tmp = getValue(attrs, "href");
+			if (name.equalsIgnoreCase(TAG_BASE)) {
+				String tmp = getValue(attrs, ATT_HREF);
 				if (tmp != null)
 					try {
 						baseUrl = new URL(baseUrl, tmp);
@@ -111,46 +109,46 @@
 				break;
 			}
 
-			if (name.equalsIgnoreCase("img") || name.equalsIgnoreCase("embed")) {
-				urls.addURL(getValue(attrs, "src"), baseUrl);
+			if (name.equalsIgnoreCase(ATT_IS_IMAGE) || name.equalsIgnoreCase(TAG_EMBED)) {
+				urls.addURL(getValue(attrs, ATT_SRC), baseUrl);
 				break;
 			}
 
-			if (name.equalsIgnoreCase("applet")) {
+			if (name.equalsIgnoreCase(TAG_APPLET)) {
 				urls.addURL(getValue(attrs, "code"), baseUrl);
 				break;
 			}
-			if (name.equalsIgnoreCase("input")) {
-				String src = getValue(attrs, "src");
-				String typ = getValue(attrs, "type");
-				if ((src != null) && (typ.equalsIgnoreCase("image"))) {
+			if (name.equalsIgnoreCase(TAG_INPUT)) {
+				String src = getValue(attrs, ATT_SRC);
+				String typ = getValue(attrs, ATT_TYPE);
+				if ((src != null) && (typ.equalsIgnoreCase(ATT_IS_IMAGE))) {
 					urls.addURL(src, baseUrl);
 				}
 				break;
 			}
-			if (name.equalsIgnoreCase("link") && getValue(attrs, "rel").equalsIgnoreCase("stylesheet")) {
-				urls.addURL(getValue(attrs, "href"), baseUrl);
+			if (name.equalsIgnoreCase(TAG_LINK) && getValue(attrs, ATT_REL).equalsIgnoreCase(STYLESHEET)) {
+				urls.addURL(getValue(attrs, ATT_HREF), baseUrl);
 				break;
 			}
-			if (name.equalsIgnoreCase("script")) {
-				urls.addURL(getValue(attrs, "src"), baseUrl);
+			if (name.equalsIgnoreCase(TAG_SCRIPT)) {
+				urls.addURL(getValue(attrs, ATT_SRC), baseUrl);
 				break;
 			}
-			if (name.equalsIgnoreCase("frame")) {
-				urls.addURL(getValue(attrs, "src"), baseUrl);
+			if (name.equalsIgnoreCase(TAG_FRAME)) {
+				urls.addURL(getValue(attrs, ATT_SRC), baseUrl);
 				break;
 			}
-			String back = getValue(attrs, "background");
+			String back = getValue(attrs, ATT_BACKGROUND);
 			if (back != null) {
 				urls.addURL(back, baseUrl);
 				break;
 			}
-			if (name.equalsIgnoreCase("bgsound")) {
-				urls.addURL(getValue(attrs, "src"), baseUrl);
+			if (name.equalsIgnoreCase(TAG_BGSOUND)) {
+				urls.addURL(getValue(attrs, ATT_SRC), baseUrl);
 				break;
 			}
-			if (name.equalsIgnoreCase("frame")) {
-				urls.addURL(getValue(attrs, "src"), baseUrl);
+			if (name.equalsIgnoreCase(TAG_FRAME)) {
+				urls.addURL(getValue(attrs, ATT_SRC), baseUrl);
 				break;
 			}
 



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org