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/07/02 14:28:19 UTC
svn commit: r552482 - in /jakarta/jmeter/branches/rel-2-2:
src/components/org/apache/jmeter/control/ForeachController.java
xdocs/changes.xml
Author: sebb
Date: Mon Jul 2 05:28:18 2007
New Revision: 552482
URL: http://svn.apache.org/viewvc?view=rev&rev=552482
Log:
Bug 40099 - Enable use of object variable in ForEachController
Modified:
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/control/ForeachController.java
jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/control/ForeachController.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/control/ForeachController.java?view=diff&rev=552482&r1=552481&r2=552482
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/control/ForeachController.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/control/ForeachController.java Mon Jul 2 05:28:18 2007
@@ -22,6 +22,7 @@
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.threads.JMeterContext;
+import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.testelement.property.BooleanProperty;
import org.apache.jmeter.testelement.property.StringProperty;
import org.apache.jorphan.logging.LoggingManager;
@@ -70,7 +71,7 @@
}
private String getSeparator() {
- return getUseSeparator() ? DEFAULT_SEPARATOR : "";
+ return getUseSeparator() ? DEFAULT_SEPARATOR : "";// $NON-NLS-1$
}
public void setUseSeparator(boolean b) {
@@ -89,9 +90,13 @@
public boolean isDone() {
JMeterContext context = getThreadContext();
String inputVariable = getInputVal() + getSeparator() + (loopCount + 1);
- if (context.getVariables().get(inputVariable) != null) {
- context.getVariables().put(getReturnVal(), context.getVariables().get(inputVariable));
- log.debug("ForEach resultstring isDone=" + context.getVariables().get(getReturnVal()));
+ final JMeterVariables variables = context.getVariables();
+ final Object currentVariable = variables.getObject(inputVariable);
+ if (currentVariable != null) {
+ variables.putObject(getReturnVal(), currentVariable);
+ if (log.isDebugEnabled()) {
+ log.debug("ForEach resultstring isDone=" + variables.get(getReturnVal()));
+ }
return false;
}
return super.isDone();
@@ -100,7 +105,7 @@
private boolean endOfArguments() {
JMeterContext context = getThreadContext();
String inputVariable = getInputVal() + getSeparator() + (loopCount + 1);
- if (context.getVariables().get(inputVariable) != null) {
+ if (context.getVariables().getObject(inputVariable) != null) {
log.debug("ForEach resultstring eofArgs= false");
return false;
}
@@ -120,15 +125,17 @@
/**
* Check if there are any matching entries
*
- * @return whethere any entries in the list
+ * @return whether any entries in the list
*/
private boolean emptyList() {
JMeterContext context = getThreadContext();
String inputVariable = getInputVal() + getSeparator() + "1";// $NON-NLS-1$
- if (context.getVariables().get(inputVariable) != null) {
+ if (context.getVariables().getObject(inputVariable) != null) {
return false;
}
- log.debug("No entries found - null first entry: " + inputVariable);
+ if (log.isDebugEnabled()) {
+ log.debug("No entries found - null first entry: " + inputVariable);
+ }
return true;
}
Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=552482&r1=552481&r2=552482
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Mon Jul 2 05:28:18 2007
@@ -181,6 +181,7 @@
<li>Http Autoredirects are now enabled by default when creating new samplers</li>
<li>Bug 42674 - default to pre-emptive authorisation if not specified</li>
<li>BSF Sampler passes additional variables to the script</li>
+<li>Bug 40099 - Enable use of object variable in ForEachController</li>
</ul>
<h4>Non-functional improvements:</h4>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org