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 ms...@apache.org on 2001/06/13 00:36:21 UTC
cvs commit: jakarta-jmeter/xdocs changes.xml
mstover1 01/06/12 15:36:21
Modified: . README build.xml
docs changes.html running.html
src/org/apache/jmeter/config Arguments.java
src/org/apache/jmeter/protocol/http/config UrlConfig.java
src/org/apache/jmeter/threads ThreadGroup.java
xdocs changes.xml
Log:
Fixing bug with argument values being lost
Revision Changes Path
1.6 +11 -0 jakarta-jmeter/README
Index: README
===================================================================
RCS file: /home/cvs/jakarta-jmeter/README,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- README 2001/06/08 00:18:49 1.5
+++ README 2001/06/12 22:36:12 1.6
@@ -62,6 +62,17 @@
"build install" (Unix/Linux only). This should compile the application and enable you to run jmeter from the /bin
directory.
+ NOTES for 1.6.1
+ ---------------
+
+ JDBC testing does not appear to be working correctly in this version.
+
+ Saving and reloading test scripts has been fixed in this version. Saving and testing of listeners and timers is
+also working.
+
+ HTTP testing now supports HTTPS. Alternate ports can also be tested in this version. Minor bugs with cookies
+has been fixed.
+
Licensing and legal issues
1.27 +1 -1 jakarta-jmeter/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/build.xml,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- build.xml 2001/05/10 18:55:12 1.26
+++ build.xml 2001/06/12 22:36:12 1.27
@@ -7,7 +7,7 @@
<property name="sources.src.dir" value="src"/>
<!-- Where the API documentation lives -->
<property name="docs.api.dest.dir" value="docs/api"/>
- <property name="version" value="_1.6Alpha"/>
+ <property name="version" value="_1.6.1"/>
<property name="docs.src" value="./xdocs"/>
<property name="docs.dest" value="./docs"/>
1.23 +8 -0 jakarta-jmeter/docs/changes.html
Index: changes.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/changes.html,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- changes.html 2001/03/24 20:44:22 1.22
+++ changes.html 2001/06/12 22:36:13 1.23
@@ -81,6 +81,14 @@
(least recent)</b>
</p>
<b>Changes:</b>
+ <h3>Version 1.6.1</h3>
+ <ul>
+<li>Fixed saving and loading of test scripts (no more extra lines)</li>
+<li>Can save and load special characters (such as "&" and "<").</li>
+<li>Can save and load timers and listeners.</li>
+<li>Minor bug fix for cookies (if you cookie value contained an "=", then it broke).</li>
+<li>URL's can sample ports other than 80, and can test HTTPS, provided you have the necessary jars (JSSE)</li>
+</ul>
<h3>Version 1.6 Alpha</h3>
<ul>
<li>New UI</li>
1.14 +0 -0 jakarta-jmeter/docs/running.html
Index: running.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/running.html,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- running.html 2001/04/11 12:45:02 1.13
+++ running.html 2001/06/12 22:36:13 1.14
@@ -151,7 +151,7 @@
</blockquote>
<p align="center"><font size="-1">Copyright (c) 1998-99 <a href="http://java.apache.org">The Java Apache
Project</a>.<br />
-$Id: running.html,v 1.13 2001/04/11 12:45:02 mstover1 Exp $</font> <br />
+$Id: running.html,v 1.14 2001/06/12 22:36:13 mstover1 Exp $</font> <br />
<font size="-1">All rights reserved.</font></p>
</blockquote>
</td></tr>
1.7 +17 -1 jakarta-jmeter/src/org/apache/jmeter/config/Arguments.java
Index: Arguments.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/config/Arguments.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Arguments.java 2001/03/17 22:25:42 1.6
+++ Arguments.java 2001/06/12 22:36:15 1.7
@@ -65,7 +65,7 @@
* Apache Foundation
*
*@author Michael Stover
- *@created $Date: 2001/03/17 22:25:42 $
+ *@created $Date: 2001/06/12 22:36:15 $
*@version 1.0
***********************************************************/
@@ -289,6 +289,22 @@
public Iterator iterator()
{
return args.iterator();
+ }
+
+ public String toString()
+ {
+ StringBuffer str = new StringBuffer();
+ Iterator iter = args.iterator();
+ while (iter.hasNext())
+ {
+ Argument arg = (Argument)iter.next();
+ str.append(arg.name+"="+arg.value);
+ if(iter.hasNext())
+ {
+ str.append("&");
+ }
+ }
+ return str.toString();
}
}
1.12 +419 -282 jakarta-jmeter/src/org/apache/jmeter/protocol/http/config/UrlConfig.java
Index: UrlConfig.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/protocol/http/config/UrlConfig.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- UrlConfig.java 2001/06/08 17:47:36 1.11
+++ UrlConfig.java 2001/06/12 22:36:17 1.12
@@ -1,282 +1,419 @@
-/*
- * ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache JMeter" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache JMeter", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
- package org.apache.jmeter.protocol.http.config;
-
-import java.util.*;
-import java.net.*;
-
-import org.apache.jmeter.config.*;
-
-/************************************************************
- * Title: Apache JMeter Description: Copyright: Copyright (c) 2000 Company:
- * Apache Foundation
- *
- *@author Michael Stover
- *@created $Date: 2001/06/08 17:47:36 $
- *@version $Revision: 1.11 $
- ***********************************************************/
-
-public class UrlConfig extends AbstractConfigElement
-{
- public final static String DOMAIN = "domain";
- public final static String PORT = "port";
- public final static String PATH = "path";
- public final static String METHOD = "method";
- public final static String ARGUMENTS = "arguments";
- public final static String POST = "POST";
- public final static String PROTOCOL = "PROTOCOL";
- public final static String GET = "GET";
-
- /************************************************************
- * Constructor for the UrlConfig object
- ***********************************************************/
- public UrlConfig()
- {
- setDomain("");
- setPath("");
- this.putProperty(ARGUMENTS,new Arguments());
- }
-
- public boolean expectsModification()
- {
- return false;
- }
-
- /************************************************************
- * !ToDoo (Method description)
- *
- *@return !ToDo (Return description)
- *@exception MalformedURLException !ToDo (Exception description)
- ***********************************************************/
- public URL getUrl() throws MalformedURLException
- {
- String pathAndQuery = null;
- if(this.getMethod().equals(this.GET) && getQueryString().length() > 0)
- {
- pathAndQuery = this.getPath()+"?"+getQueryString();
- }
- else
- {
- pathAndQuery = this.getPath();
- }
- if(!pathAndQuery.startsWith("/"))
- {
- pathAndQuery = "/" + pathAndQuery;
- }
- if(getPort() == 0)
- {
- return new URL(getProtocol(),getDomain(),pathAndQuery);
- }
- else
- {
- return new URL(getProtocol(), (String)properties.get(DOMAIN), getPort(),
- pathAndQuery);
- }
- }
-
- public void setMethod(String meth)
- {
- properties.put(METHOD,meth);
- }
-
- public int getPort() {
- Object port = properties.get(PORT);
- if(port == null)
- {
- properties.remove(PORT);
- return 0;
- }
- else if(port instanceof Integer)
- {
- return ((Integer)port).intValue();
- }
- else if(port instanceof String)
- {
- Integer intPort = new Integer((String)port);
- properties.put(PORT,intPort);
- return intPort.intValue();
- }
- return 0;
- }
-
- public String getProtocol()
- {
- String protocol = (String)getProperty(PROTOCOL);
- return protocol;
- }
-
- public void setProtocol(String protocol)
- {
- properties.put(PROTOCOL,protocol);
- }
-
- public void setPort(int port) {
- properties.put(PORT, new Integer(port));
- if(port == 0)
- {
- properties.remove(PORT);
- }
- }
-
- public String getPath()
- {
- return (String)properties.get(PATH);
- }
-
- public void setPath(String path)
- {
- properties.put(PATH,path);
- }
-
- public String getDomain()
- {
- return (String)properties.get(DOMAIN);
- }
-
- public void setDomain(String domain)
- {
- properties.put(DOMAIN,domain);
- }
-
- public String getMethod()
- {
- return (String)properties.get(METHOD);
- }
-
- /************************************************************
- * !ToDo (Method description)
- *
- *@return !ToDo (Return description)
- ***********************************************************/
- public Object clone()
- {
- UrlConfig newConfig = new UrlConfig();
- configureClone(newConfig);
- return newConfig;
- }
-
- /************************************************************
- * This allows config elements to combine and give a "layered" effect. for
- * example, say there are two HTTPConfigElements, which have properties for
- * domain, path, method, and parameters. If element A has everything filled
- * in, but null for domain, and element B is added, which has only domain
- * filled in, then after adding B to A, A will have the domain from B. If A
- * already had a domain, then the correct behavior is for A to ignore the
- * addition of element B.
- *
- *@param config !ToDo
- ***********************************************************/
- public void addConfigElement(ConfigElement config)
- {
- if (config instanceof UrlConfig)
- {
- updatePropertyIfAbsent((UrlConfig)config);
- }
- }
-
- public Arguments getArguments()
- {
- return (Arguments)getProperty(this.ARGUMENTS);
- }
-
- public String getQueryString()
- {
- StringBuffer buf = new StringBuffer();
- Iterator iter = getArguments().iterator();
- boolean first = true;
- while (iter.hasNext())
- {
- Argument item = (Argument)iter.next();
- if (!first)
- {
- buf.append("&");
- }
- else
- {
- first = false;
- }
- buf.append(item.getName() + "=" + item.getValue());
- }
- return buf.toString();
- }
-
- public Class getGuiClass()
- {
- return org.apache.jmeter.protocol.http.config.gui.UrlConfigGui.class;
- }
-
- public String getClassLabel()
- {
- return "Url Sample";
- }
-
- public boolean isComplete()
- {
- boolean isGood = false;
- try
- {
- this.getUrl();
- isGood = true;
- }
- catch (Exception ex)
- {
- }
- return isGood;
- }
-}
-
-
-
-
+/*
+ * ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2001 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ * "Apache JMeter" must not be used to endorse or promote products
+ * derived from this software without prior written permission. For
+ * written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * "Apache JMeter", nor may "Apache" appear in their name, without
+ * prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.apache.jmeter.protocol.http.config;
+
+import java.util.*;
+import java.net.*;
+
+import org.apache.jmeter.config.*;
+import org.apache.jmeter.util.JMeterUtils;
+
+/**
+ * Title: Apache JMeter Description: Copyright: Copyright (c) 2000 Company:
+ * Apache Foundation
+ *
+ *@author Michael Stover
+ *@created $Date: 2001/06/12 22:36:17 $
+ *@version $Revision: 1.12 $
+ */
+
+public class UrlConfig extends AbstractConfigElement
+{
+ /**
+ * Description of the Field
+ */
+ public final static String DOMAIN = "domain";
+ /**
+ * Description of the Field
+ */
+ public final static String PORT = "port";
+ /**
+ * Description of the Field
+ */
+ public final static String PATH = "path";
+ /**
+ * Description of the Field
+ */
+ public final static String METHOD = "method";
+ /**
+ * Description of the Field
+ */
+ public final static String ARGUMENTS = "arguments";
+ /**
+ * Description of the Field
+ */
+ public final static String POST = "POST";
+ /**
+ * Description of the Field
+ */
+ public final static String PROTOCOL = "PROTOCOL";
+ /**
+ * Description of the Field
+ */
+ public final static String GET = "GET";
+
+ /**
+ * Constructor for the UrlConfig object
+ */
+ public UrlConfig()
+ {
+ setDomain("");
+ setPath("");
+ this.putProperty(ARGUMENTS, new Arguments());
+ }
+
+ /**
+ * Sets the Method attribute of the UrlConfig object
+ *
+ *@param meth The new Method value
+ */
+ public void setMethod(String meth)
+ {
+ properties.put(METHOD, meth);
+ }
+
+ /**
+ * Sets the Protocol attribute of the UrlConfig object
+ *
+ *@param protocol The new Protocol value
+ */
+ public void setProtocol(String protocol)
+ {
+ properties.put(PROTOCOL, protocol);
+ }
+
+ /**
+ * Sets the Port attribute of the UrlConfig object
+ *
+ *@param port The new Port value
+ */
+ public void setPort(int port)
+ {
+ properties.put(PORT, new Integer(port));
+ if (port == 0)
+ {
+ properties.remove(PORT);
+ }
+ }
+
+ /**
+ * Sets the Path attribute of the UrlConfig object
+ *
+ *@param path The new Path value
+ */
+ public void setPath(String path)
+ {
+ int index = path.indexOf("?");
+ if (index >= 0)
+ {
+ String queryString = path.substring(index + 1);
+ properties.put(PATH, path.substring(0, index));
+ parseArguments(queryString);
+ }
+ else
+ {
+ properties.put(PATH, path);
+ }
+ }
+
+ public void addArgument(String name,String value)
+ {
+ Arguments args = this.getArguments();
+ args.addArgument(name,value);
+ }
+
+ /**
+ * Sets the Domain attribute of the UrlConfig object
+ *
+ *@param domain The new Domain value
+ */
+ public void setDomain(String domain)
+ {
+ properties.put(DOMAIN, domain);
+ }
+
+ /**
+ * !ToDoo (Method description)
+ *
+ *@return !ToDo (Return description)
+ *@exception MalformedURLException !ToDo (Exception description)
+ */
+ public URL getUrl() throws MalformedURLException
+ {
+ String pathAndQuery = null;
+ if (this.getMethod().equals(this.GET) && getQueryString().length() > 0)
+ {
+ pathAndQuery = this.getPath() + "?" + getQueryString();
+ }
+ else
+ {
+ pathAndQuery = this.getPath();
+ }
+ if (!pathAndQuery.startsWith("/"))
+ {
+ pathAndQuery = "/" + pathAndQuery;
+ }
+ if (getPort() == 0)
+ {
+ return new URL(getProtocol(), getDomain(), pathAndQuery);
+ }
+ else
+ {
+ return new URL(getProtocol(), (String) properties.get(DOMAIN), getPort(),
+ pathAndQuery);
+ }
+ }
+
+ /**
+ * Gets the Port attribute of the UrlConfig object
+ *
+ *@return The Port value
+ */
+ public int getPort()
+ {
+ Object port = properties.get(PORT);
+ if (port == null)
+ {
+ properties.remove(PORT);
+ return 0;
+ }
+ else if (port instanceof Integer)
+ {
+ return ((Integer) port).intValue();
+ }
+ else if (port instanceof String)
+ {
+ Integer intPort = new Integer((String) port);
+ properties.put(PORT, intPort);
+ return intPort.intValue();
+ }
+ return 0;
+ }
+
+ /**
+ * Gets the Protocol attribute of the UrlConfig object
+ *
+ *@return The Protocol value
+ */
+ public String getProtocol()
+ {
+ String protocol = (String) getProperty(PROTOCOL);
+ return protocol;
+ }
+
+ /**
+ * Gets the Path attribute of the UrlConfig object
+ *
+ *@return The Path value
+ */
+ public String getPath()
+ {
+ return (String) properties.get(PATH);
+ }
+
+ /**
+ * Gets the Domain attribute of the UrlConfig object
+ *
+ *@return The Domain value
+ */
+ public String getDomain()
+ {
+ return (String) properties.get(DOMAIN);
+ }
+
+ /**
+ * Gets the Method attribute of the UrlConfig object
+ *
+ *@return The Method value
+ */
+ public String getMethod()
+ {
+ return (String) properties.get(METHOD);
+ }
+
+ /**
+ * Gets the Arguments attribute of the UrlConfig object
+ *
+ *@return The Arguments value
+ */
+ public Arguments getArguments()
+ {
+ return (Arguments) getProperty(this.ARGUMENTS);
+ }
+
+ /**
+ * Gets the QueryString attribute of the UrlConfig object
+ *
+ *@return The QueryString value
+ */
+ public String getQueryString()
+ {
+ StringBuffer buf = new StringBuffer();
+ Iterator iter = getArguments().iterator();
+ boolean first = true;
+ while (iter.hasNext())
+ {
+ Argument item = (Argument) iter.next();
+ if (!first)
+ {
+ buf.append("&");
+ }
+ else
+ {
+ first = false;
+ }
+ buf.append(item.getName() + "=" + item.getValue());
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Gets the GuiClass attribute of the UrlConfig object
+ *
+ *@return The GuiClass value
+ */
+ public Class getGuiClass()
+ {
+ return org.apache.jmeter.protocol.http.config.gui.UrlConfigGui.class;
+ }
+
+ /**
+ * Gets the ClassLabel attribute of the UrlConfig object
+ *
+ *@return The ClassLabel value
+ */
+ public String getClassLabel()
+ {
+ return "Url Sample";
+ }
+
+ /**
+ * Gets the Complete attribute of the UrlConfig object
+ *
+ *@return The Complete value
+ */
+ public boolean isComplete()
+ {
+ boolean isGood = false;
+ try
+ {
+ this.getUrl();
+ isGood = true;
+ }
+ catch (Exception ex)
+ {
+ }
+ return isGood;
+ }
+
+ /**
+ * Description of the Method
+ *
+ *@return Description of the Returned Value
+ */
+ public boolean expectsModification()
+ {
+ return false;
+ }
+
+ /**
+ * !ToDo (Method description)
+ *
+ *@return !ToDo (Return description)
+ */
+ public Object clone()
+ {
+ UrlConfig newConfig = new UrlConfig();
+ configureClone(newConfig);
+ return newConfig;
+ }
+
+ /**
+ * This allows config elements to combine and give a "layered" effect. for
+ * example, say there are two HTTPConfigElements, which have properties for
+ * domain, path, method, and parameters. If element A has everything filled
+ * in, but null for domain, and element B is added, which has only domain
+ * filled in, then after adding B to A, A will have the domain from B. If A
+ * already had a domain, then the correct behavior is for A to ignore the
+ * addition of element B.
+ *
+ *@param config !ToDo
+ */
+ public void addConfigElement(ConfigElement config)
+ {
+ if (config instanceof UrlConfig)
+ {
+ updatePropertyIfAbsent((UrlConfig) config);
+ }
+ }
+
+ public void parseArguments(String queryString)
+ {
+ System.out.println("Querystring = "+queryString);
+ String[] args = JMeterUtils.split(queryString, "&");
+ for (int i = 0; i < args.length; i++)
+ {
+ int index = args[i].indexOf("=");
+ if(index > -1)
+ {
+ String name = args[i].substring(0,index);
+ String value = args[i].substring(index + 1);
+ addArgument(name, value);
+ }
+ }
+ }
+}
+
+
1.8 +4 -4 jakarta-jmeter/src/org/apache/jmeter/threads/ThreadGroup.java
Index: ThreadGroup.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/threads/ThreadGroup.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ThreadGroup.java 2001/03/17 22:25:57 1.7
+++ ThreadGroup.java 2001/06/12 22:36:19 1.8
@@ -72,7 +72,7 @@
* Apache Foundation
*
*@author Michael Stover
- *@created $Date: 2001/03/17 22:25:57 $
+ *@created $Date: 2001/06/12 22:36:19 $
*@version 1.0
***********************************************************/
@@ -372,7 +372,7 @@
*/
private class SampleQueue implements Runnable
{
- LinkedList occurredQ = new LinkedList();
+ List occurredQ = Collections.synchronizedList(new LinkedList());
public SampleQueue()
{
@@ -381,7 +381,7 @@
public synchronized void sampleOccurred(SampleEvent e)
{
- occurredQ.addLast(e);
+ occurredQ.add(e);
this.notify();
}
@@ -392,7 +392,7 @@
{
try
{
- event = (SampleEvent)occurredQ.removeFirst();
+ event = (SampleEvent)occurredQ.remove(0);
}
catch (Exception ex)
{
1.3 +8 -0 jakarta-jmeter/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/xdocs/changes.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- changes.xml 2001/03/24 20:44:24 1.2
+++ changes.xml 2001/06/12 22:36:21 1.3
@@ -12,6 +12,14 @@
</p>
<b>Changes:</b>
+<h3>Version 1.6.1</h3>
+<ul>
+<li>Fixed saving and loading of test scripts (no more extra lines)</li>
+<li>Can save and load special characters (such as "&" and "<").</li>
+<li>Can save and load timers and listeners.</li>
+<li>Minor bug fix for cookies (if you cookie value contained an "=", then it broke).</li>
+<li>URL's can sample ports other than 80, and can test HTTPS, provided you have the necessary jars (JSSE)</li>
+</ul>
<h3>Version 1.6 Alpha</h3>
<ul>
<li>New UI</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org