Author: sebb
Date: Sat Mar 3 02:43:11 2007
New Revision: 514122
URL: http://svn.apache.org/viewvc?view=rev&rev=514122
Log:
Use Matcher and PatternCache from JMeterUtils instead of private versions
Modified:
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/extractor/RegexExtractor.java
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
jakarta/jmeter/branches/rel-2-2/src/functions/org/apache/jmeter/functions/RegexFunction.java
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
Modified:
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?view=diff&rev=514122&r1=514121&r2=514122
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
Sat Mar 3 02:43:11 2007
@@ -34,7 +34,6 @@
import org.apache.jorphan.util.JOrphanUtils;
import org.apache.log.Logger;
import org.apache.oro.text.MalformedCachePatternException;
-import org.apache.oro.text.PatternCacheLRU;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;
@@ -79,14 +78,6 @@
private final static int EQUALS = 1 << 3;
- private static ThreadLocal matcher = new ThreadLocal() {
- protected Object initialValue() {
- return new Perl5Matcher();
- }
- };
-
- private static final PatternCacheLRU patternCache = new
PatternCacheLRU(1000, new Perl5Compiler());
-
private static final int EQUALS_SECTION_DIFF_LEN
= JMeterUtils.getPropDefault("assertion.equals_section_diff_len",
100);
@@ -302,11 +293,11 @@
try {
// Get the Matcher for this thread
- Perl5Matcher localMatcher = (Perl5Matcher)
matcher.get();
+ Perl5Matcher localMatcher = JMeterUtils.getMatcher();
PropertyIterator iter = getTestStrings().iterator();
while (iter.hasNext()) {
String stringPattern =
iter.next().getStringValue();
- Pattern pattern =
patternCache.getPattern(stringPattern, Perl5Compiler.READ_ONLY_MASK);
+ Pattern pattern =
JMeterUtils.getPatternCache().getPattern(stringPattern,
Perl5Compiler.READ_ONLY_MASK);
boolean found;
if (contains) {
found = localMatcher.contains(toCheck,
pattern);
Modified:
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/extractor/RegexExtractor.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/extractor/RegexExtractor.java?view=diff&rev=514122&r1=514121&r2=514122
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/extractor/RegexExtractor.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/extractor/RegexExtractor.java
Sat Mar 3 02:43:11 2007
@@ -34,7 +34,6 @@
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
import org.apache.oro.text.MalformedCachePatternException;
-import org.apache.oro.text.PatternCacheLRU;
import org.apache.oro.text.regex.MatchResult;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.PatternMatcher;
@@ -86,14 +85,6 @@
private Object[] template = null;
- private static PatternCacheLRU patternCache = new PatternCacheLRU(1000,
new Perl5Compiler());
-
- private static ThreadLocal localMatcher = new ThreadLocal() {
- protected Object initialValue() {
- return new Perl5Matcher();
- }
- };
-
/**
* Parses the response data using regular expressions and saving the
results
* into variables for use later in the test.
@@ -119,7 +110,7 @@
vars.put(refName, defaultValue);
}
- Perl5Matcher matcher = (Perl5Matcher) localMatcher.get();
+ Perl5Matcher matcher = JMeterUtils.getMatcher();
String inputString =
useUrl() ? previousResult.getUrlAsString() // Bug 39707
:
@@ -135,7 +126,7 @@
log.debug("Regex = " + regex);
}
try {
- Pattern pattern = patternCache.getPattern(regex,
Perl5Compiler.READ_ONLY_MASK);
+ Pattern pattern =
JMeterUtils.getPatternCache().getPattern(regex, Perl5Compiler.READ_ONLY_MASK);
List matches = new ArrayList();
int x = 0;
boolean done = false;
@@ -238,8 +229,8 @@
List pieces = new ArrayList();
List combined = new LinkedList();
String rawTemplate = getTemplate();
- PatternMatcher matcher = (Perl5Matcher) localMatcher.get();
- Pattern templatePattern =
patternCache.getPattern("\\$(\\d+)\\$" // $NON-NLS-1$
+ PatternMatcher matcher = JMeterUtils.getMatcher();
+ Pattern templatePattern =
JMeterUtils.getPatternCache().getPattern("\\$(\\d+)\\$" // $NON-NLS-1$
, Perl5Compiler.READ_ONLY_MASK
& Perl5Compiler.SINGLELINE_MASK);
log.debug("Pattern = " + templatePattern);
@@ -275,10 +266,10 @@
private boolean isFirstElementGroup(String rawData) {
try {
- Pattern pattern = patternCache.getPattern("^\\$\\d+\\$"
// $NON-NLS-1$
+ Pattern pattern =
JMeterUtils.getPatternCache().getPattern("^\\$\\d+\\$" // $NON-NLS-1$
, Perl5Compiler.READ_ONLY_MASK
& Perl5Compiler.SINGLELINE_MASK);
- return ((Perl5Matcher)
localMatcher.get()).contains(rawData, pattern);
+ return (JMeterUtils.getMatcher()).contains(rawData,
pattern);
} catch (RuntimeException e) {
log.error("", e);
return false;
@@ -383,7 +374,5 @@
}
public void setUseField(String actionCommand) {
setProperty(MATCH_AGAINST,actionCommand);
- // TODO Auto-generated method stub
-
}
}
Modified:
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java?view=diff&rev=514122&r1=514121&r2=514122
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
Sat Mar 3 02:43:11 2007
@@ -27,6 +27,7 @@
import org.apache.jmeter.functions.InvalidVariableException;
import org.apache.jmeter.testelement.property.JMeterProperty;
import org.apache.jmeter.testelement.property.StringProperty;
+import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.util.StringUtilities;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -35,7 +36,6 @@
import org.apache.oro.text.regex.PatternCompiler;
import org.apache.oro.text.regex.PatternMatcher;
import org.apache.oro.text.regex.Perl5Compiler;
-import org.apache.oro.text.regex.Perl5Matcher;
import org.apache.oro.text.regex.StringSubstitution;
import org.apache.oro.text.regex.Util;
@@ -67,7 +67,7 @@
* @see ValueTransformer#transformValue(JMeterProperty)
*/
public JMeterProperty transformValue(JMeterProperty prop) throws
InvalidVariableException {
- PatternMatcher pm = new Perl5Matcher();
+ PatternMatcher pm = JMeterUtils.getMatcher();
Pattern pattern = null;
PatternCompiler compiler = new Perl5Compiler();
Iterator iter = getVariables().keySet().iterator();
Modified:
jakarta/jmeter/branches/rel-2-2/src/functions/org/apache/jmeter/functions/RegexFunction.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/functions/org/apache/jmeter/functions/RegexFunction.java?view=diff&rev=514122&r1=514121&r2=514122
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/src/functions/org/apache/jmeter/functions/RegexFunction.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/src/functions/org/apache/jmeter/functions/RegexFunction.java
Sat Mar 3 02:43:11 2007
@@ -35,13 +35,11 @@
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
-import org.apache.oro.text.PatternCacheLRU;
import org.apache.oro.text.regex.MatchResult;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.PatternMatcher;
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.Util;
public class RegexFunction extends AbstractFunction implements Serializable {
@@ -59,16 +57,8 @@
private static final List desc = new LinkedList();
- private static PatternCacheLRU patternCache = new PatternCacheLRU(1000,
new Perl5Compiler());
-
private transient Pattern templatePattern;// initialised to the regex
\$(\d+)\$
- private static ThreadLocal localMatcher = new ThreadLocal() {
- protected Object initialValue() {
- return new Perl5Matcher();
- }
- };
-
// Number of parameters expected - used to reject invalid calls
private static final int MIN_PARAMETER_COUNT = 2;
@@ -83,13 +73,17 @@
}
public RegexFunction() {
- templatePattern = patternCache.getPattern("\\$(\\d+)\\$",
//$NON-NLS-1$
+ initPattern();
+ }
+
+ private void initPattern() {
+ templatePattern =
JMeterUtils.getPatternCache().getPattern("\\$(\\d+)\\$", //$NON-NLS-1$
Perl5Compiler.READ_ONLY_MASK);
}
// For serialised objects, do the same work as the constructor:
private Object readResolve() throws ObjectStreamException {
- templatePattern = patternCache.getPattern("\\$(\\d+)\\$",
Perl5Compiler.READ_ONLY_MASK);
+ initPattern();
return this;
}
@@ -101,7 +95,7 @@
Pattern searchPattern;
Object[] tmplt;
try {
- searchPattern =
patternCache.getPattern(((CompoundVariable) values[0]).execute(),
+ searchPattern =
JMeterUtils.getPatternCache().getPattern(((CompoundVariable)
values[0]).execute(),
Perl5Compiler.READ_ONLY_MASK);
tmplt = generateTemplate(((CompoundVariable)
values[1]).execute());
@@ -139,7 +133,7 @@
List collectAllMatches = new ArrayList();
try {
- PatternMatcher matcher = (PatternMatcher)
localMatcher.get();
+ PatternMatcher matcher = JMeterUtils.getMatcher();
String responseText = new
String(previousResult.getResponseData(),
previousResult.getDataEncoding()); // Bug 37140
PatternMatcherInput input = new
PatternMatcherInput(responseText);
@@ -238,8 +232,8 @@
private Object[] generateTemplate(String rawTemplate) {
List pieces = new ArrayList();
List combined = new LinkedList();
- PatternMatcher matcher = new Perl5Matcher();
- Util.split(pieces, new Perl5Matcher(), templatePattern,
rawTemplate);
+ PatternMatcher matcher = JMeterUtils.getMatcher();
+ Util.split(pieces, matcher, templatePattern, rawTemplate);
PatternMatcherInput input = new
PatternMatcherInput(rawTemplate);
Iterator iter = pieces.iterator();
boolean startsWith = isFirstElementGroup(rawTemplate);
@@ -264,9 +258,9 @@
}
private boolean isFirstElementGroup(String rawData) {
- Pattern pattern = patternCache.getPattern("^\\$\\d+\\$",
//$NON-NLS-1$
+ Pattern pattern =
JMeterUtils.getPatternCache().getPattern("^\\$\\d+\\$", //$NON-NLS-1$
Perl5Compiler.READ_ONLY_MASK);
- return new Perl5Matcher().contains(rawData, pattern);
+ return JMeterUtils.getMatcher().contains(rawData, pattern);
}
}
Modified:
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java?view=diff&rev=514122&r1=514121&r2=514122
==============================================================================
---
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
(original)
+++
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
Sat Mar 3 02:43:11 2007
@@ -62,10 +62,8 @@
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
import org.apache.oro.text.MalformedCachePatternException;
-import org.apache.oro.text.PatternCacheLRU;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.Perl5Compiler;
-import org.apache.oro.text.regex.Perl5Matcher;
//For unit tests, @see TestProxyControl
@@ -96,10 +94,6 @@
public static final String DEFAULT_PORT_S =
Integer.toString(DEFAULT_PORT);// Used by GUI
- private static PatternCacheLRU patternCache = new PatternCacheLRU(1000,
new Perl5Compiler());
-
- transient Perl5Matcher matcher;
-
public static final String PORT = "ProxyControlGui.port"; // $NON-NLS-1$
public static final String EXCLUDE_LIST =
"ProxyControlGui.exclude_list"; // $NON-NLS-1$
@@ -148,7 +142,6 @@
private JMeterTreeNode target;
public ProxyControl() {
- matcher = new Perl5Matcher();
setPort(DEFAULT_PORT);
setExcludeList(new HashSet());
setIncludeList(new HashSet());
@@ -688,8 +681,8 @@
String item = iter.next().getStringValue();
Pattern pattern = null;
try {
- pattern = patternCache.getPattern(item,
Perl5Compiler.READ_ONLY_MASK | Perl5Compiler.SINGLELINE_MASK);
- if (matcher.matches(url, pattern)) {
+ pattern =
JMeterUtils.getPatternCache().getPattern(item, Perl5Compiler.READ_ONLY_MASK |
Perl5Compiler.SINGLELINE_MASK);
+ if (JMeterUtils.getMatcher().matches(url,
pattern)) {
return true;
}
} catch (MalformedCachePatternException e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]