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]

Reply via email to