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/01/10 01:46:23 UTC

svn commit: r367438 - in /jakarta/jmeter/branches/rel-2-1: src/components/org/apache/jmeter/extractor/RegexExtractor.java xdocs/changes.xml xdocs/usermanual/component_reference.xml

Author: sebb
Date: Mon Jan  9 16:46:07 2006
New Revision: 367438

URL: http://svn.apache.org/viewcvs?rev=367438&view=rev
Log:
Don't set Regex Extractor variable on no match if default is empty

Modified:
    jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java
    jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml
    jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java?rev=367438&r1=367437&r2=367438&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java Mon Jan  9 16:46:07 2006
@@ -97,7 +97,10 @@
 		String refName = getRefName();
 		int matchNumber = getMatchNumber();
 
-		vars.put(refName, getDefaultValue());
+		final String defaultValue = getDefaultValue();
+        if (defaultValue.length() > 0){// Only replace default if it is provided
+            vars.put(refName, defaultValue);
+        }
 
 		Perl5Matcher matcher = (Perl5Matcher) localMatcher.get();
 		PatternMatcherInput input = new PatternMatcherInput(
@@ -477,5 +480,17 @@
 			extractor.process();
 			assertEquals("Value1", vars.get("regVal"));
 		}
+
+        public void testNoDefault() throws Exception {
+            extractor.setRegex("<value field=\"(pinposition\\d+)\">(\\d+)</value>");
+            extractor.setTemplate("$2$");
+            extractor.setMatchNumber(4);
+            //extractor.setDefaultValue("default");
+            vars.put("regVal", "initial");
+            assertEquals("initial", vars.get("regVal"));
+            extractor.process();
+            assertEquals("initial", vars.get("regVal"));
+        }
+
 	}
 }

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml?rev=367438&r1=367437&r2=367438&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml Mon Jan  9 16:46:07 2006
@@ -42,6 +42,7 @@
 <li>Enhanced the documentation for javascript function to explain escaping comma</li>
 <li>Allow CSV Data Set file names to be absolute</li>
 <li>Report Tree compiler errors better</li>
+<li>Don't reset Regex Extractor variable if default is empty</li>
 </ul>
 
 <h4>Bug fixes:</h4>

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml?rev=367438&r1=367437&r2=367438&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml Mon Jan  9 16:46:07 2006
@@ -2524,7 +2524,9 @@
         		<li> Negative numbers are used in conjunction with the ForEach controller - see below.</li>
         	</ul>
         </property>
-        <property name="Default Value" required="No">If no matches are found, the default value is stored in the variable.</property>
+        <property name="Default Value" required="No">
+        If no matches are found - and a default is provided - the default value is stored in the variable.
+        </property>
 </properties>
 <p>
 	If the match number is set to a negative number, then all the possible matches in the sampler data are processed.



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org