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 2007/03/03 11:43:12 UTC
svn commit: r514122 - in /jakarta/jmeter/branches/rel-2-2/src:
components/org/apache/jmeter/assertions/
components/org/apache/jmeter/extractor/ core/org/apache/jmeter/engine/util/
functions/org/apache/jmeter/functions/ protocol/http/org/apache/jmeter/p...
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: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org