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