Author: sebb
Date: Sat Mar 3 18:01:58 2007
New Revision: 514324
URL: http://svn.apache.org/viewvc?view=rev&rev=514324
Log:
Use JMeterUtils pattern Cache
Modified:
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
Modified:
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java?view=diff&rev=514324&r1=514323&r2=514324
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
Sat Mar 3 18:01:58 2007
@@ -35,7 +35,6 @@
import org.apache.oro.text.regex.PatternMatcherInput;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;
-import org.apache.oro.text.regex.MalformedPatternException;
/**
* HtmlParser implementation using regular expressions.
@@ -114,11 +113,6 @@
private static final int NUM_BASE_GROUPS = 3;
/**
- * Compiled regular expression.
- */
- static Pattern pattern;
-
- /**
* Thread-local input:
*/
private static ThreadLocal localInput = new ThreadLocal() {
@@ -136,17 +130,6 @@
*/
protected RegexpHTMLParser() {
super();
-
- // Compile the regular expression:
- try {
- Perl5Compiler c = new Perl5Compiler();
- pattern = c.compile(REGEXP,
Perl5Compiler.CASE_INSENSITIVE_MASK | Perl5Compiler.SINGLELINE_MASK
- | Perl5Compiler.READ_ONLY_MASK);
- } catch (MalformedPatternException mpe) {
- log.error("Internal error compiling regular expression
in ParseRegexp.");
- log.error("MalformedPatternException - " + mpe);
- throw new Error(mpe);
- }
}
/*
@@ -163,6 +146,12 @@
// probably a new PatternMatcherInput working on a byte[] would
do
// better.
input.setInput(new String(html));
+ Pattern pattern=JMeterUtils.getPatternCache().getPattern(
+ REGEXP,
+ Perl5Compiler.CASE_INSENSITIVE_MASK
+ | Perl5Compiler.SINGLELINE_MASK
+ | Perl5Compiler.READ_ONLY_MASK);
+
while (matcher.contains(input, pattern)) {
MatchResult match = matcher.getMatch();
String s;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]