mstover1    2004/04/16 06:21:46

  Modified:    .        build.xml eclipse.classpath
               bin      jmeter.properties
               src/components/org/apache/jmeter/visualizers
                        ViewResultsFullVisualizer.java
               src/core/org/apache/jmeter/resources messages.properties
               src/core/org/apache/jmeter/util JMeterVersion.java
               src/jorphan/org/apache/jorphan/collections HashTree.java
               src/protocol/http/org/apache/jmeter/protocol/http/config/gui
                        UrlConfigGui.java
               src/protocol/http/org/apache/jmeter/protocol/http/proxy
                        HttpReplyHdr.java HttpRequestHdr.java Proxy.java
               src/protocol/http/org/apache/jmeter/protocol/http/sampler
                        HTTPSampler.java HTTPSampler2.java PostWriter.java
               src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui
                        TCPConfigGui.java
               src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler
                        TCPClient.java TCPClientImpl.java TCPSampler.java
               xdocs    changes.xml index.xml nightly.xml
               xdocs/stylesheets project.xml
               xdocs/usermanual component_reference.xml
  Added:       src/components/org/apache/jmeter/assertions
                        HTMLAssertion.java
               src/components/org/apache/jmeter/assertions/gui
                        HTMLAssertionGui.java
               xdocs/images/screenshots/assertion HTMLAssertion.png
  Log:
  Merging rel-2_0 branch to main
  
  Revision  Changes    Path
  1.177     +50 -6     jakarta-jmeter/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/build.xml,v
  retrieving revision 1.176
  retrieving revision 1.177
  diff -u -r1.176 -r1.177
  --- build.xml 8 Apr 2004 21:38:11 -0000       1.176
  +++ build.xml 16 Apr 2004 13:21:44 -0000      1.177
  @@ -382,7 +382,7 @@
     <target name="init-version">
        <tstamp/>
        <!-- JMeter version -->
  -  <property name="jmeter.version" value="1.9.${DSTAMP}"/>
  +  <property name="jmeter.version" value="2.0.${DSTAMP}"/>
     </target>
   
     <target name="init" depends="check-libs,report-missing-libs,init-version">
  @@ -868,10 +868,54 @@
       <include name="build.*"/>
       <include name="lcp.bat"/>
       <include name="${dest.jar.jmeter}/jmeter*.bat"/>
  -    <include name="${dest.jar.jmeter}/jmeter.properties"/>
  +    <include name="${dest.jar.jmeter}/jmeter*.properties"/>
       <include name="${dest.jar.jmeter}/log4j.conf"/>
  +    <include name="${dest.jar.jmeter}/testfiles/**"/>
       <include name="eclipse.classpath*"/>
     </patternset>
  +  
  +  <target name="distribution" 
depends="assume-libs-present,clean,install,docs-all,test" 
  +             description="Build JMeter for end-user distribution">
  +     <property name="dist.name" value="jakarta-jmeter-${jmeter.version}"/>
  +     <property name="pack.name" value="${dist.name}"/>
  +     <patternset id="dist_bin_files">
  +             <patternset refid="dist.binaries"/>
  +             <patternset refid="external.jars"/>
  +             <include name="docs/**"/>
  +             <include name="${dest.printable_docs}/**"/>
  +             <exclude name="docs/api/**"/>
  +     </patternset>
  +     <patternset id="dist_src_files">
  +             <patternset refid="external.jars"/>
  +             <patternset refid="dist.sources"/>
  +     </patternset>
  +    <mkdir dir="${dist.dir}"/>
  +    <tar destfile="${dist.dir}/${pack.name}_bin.tar" longfile="gnu">
  +      <tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}" 
defaultexcludes="yes">
  +        <patternset refid="dist_bin_files"/>
  +      </tarfileset>
  +      <tarfileset mode="755" includes="${dist.executables}" dir="." 
prefix="${dist.name}" defaultexcludes="yes"/>
  +    </tar>
  +    <gzip zipfile="${dist.dir}/${pack.name}_bin.tgz" 
src="${dist.dir}/${pack.name}_bin.tar" />
  +    <zip  zipfile="${dist.dir}/${pack.name}_bin.zip">
  +      <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
  +        <patternset refid="dist_bin_files"/>
  +      </zipfileset>
  +    </zip>
  +    
  +    <tar destfile="${dist.dir}/${pack.name}_src.tar" longfile="gnu">
  +      <tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}" 
defaultexcludes="yes">
  +        <patternset refid="dist_src_files"/>
  +      </tarfileset>
  +      <tarfileset mode="755" includes="${dist.executables}" dir="." 
prefix="${dist.name}" defaultexcludes="yes"/>
  +    </tar>
  +    <gzip zipfile="${dist.dir}/${pack.name}_src.tgz" 
src="${dist.dir}/${pack.name}_src.tar" />
  +    <zip  zipfile="${dist.dir}/${pack.name}_src.zip">
  +      <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
  +        <patternset refid="dist_src_files"/>
  +      </zipfileset>
  +    </zip>
  +  </target>
   
     <!-- N.B. this target is the one currently used by Gump -->
     <target name="dist" depends="assume-libs-present,clean,install,docs-all,test" 
description="Rebuild all and create the distribution packages.">
  
  
  
  1.12      +1 -0      jakarta-jmeter/eclipse.classpath
  
  Index: eclipse.classpath
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/eclipse.classpath,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- eclipse.classpath 22 Mar 2004 15:09:02 -0000      1.11
  +++ eclipse.classpath 16 Apr 2004 13:21:44 -0000      1.12
  @@ -17,6 +17,7 @@
           
excluding="org/apache/jmeter/protocol/java/**/BeanShell*.java|org/apache/jmeter/protocol/java/**/BSF*.java"
           kind="src" output="build/protocol/java" path="src/protocol/java"/>
       <classpathentry kind="src" output="build/protocol/ldap" 
path="src/protocol/ldap"/>
  +    <classpathentry kind="src" output="build/protocol/mail" 
path="src/protocol/mail"/>
       <classpathentry kind="src" output="build/protocol/tcp" path="src/protocol/tcp"/>
        <classpathentry kind="src" output="build/monitor/model" 
path="src/monitor/model"/>
        <classpathentry kind="src" output="build/monitor/components" 
path="src/monitor/components"/>
  
  
  
  1.101     +3 -3      jakarta-jmeter/bin/jmeter.properties
  
  Index: jmeter.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
  retrieving revision 1.100
  retrieving revision 1.101
  diff -u -r1.100 -r1.101
  --- jmeter.properties 22 Mar 2004 01:17:14 -0000      1.100
  +++ jmeter.properties 16 Apr 2004 13:21:44 -0000      1.101
  @@ -125,7 +125,7 @@
   #log_level.jmeter.util=WARN
   #log_level.jmeter.util.classfinder=WARN
   #log_level.jmeter.test=DEBUG
  -#log_level.jmeter.protocol.http=DEBUG
  +log_level.jmeter.protocol.http=DEBUG
   #log_level.jmeter.protocol.ftp=WARN
   #log_level.jmeter.protocol.jdbc=WARN
   #log_level.jmeter.protocol.java=WARN
  @@ -228,4 +228,4 @@
   #jmeter.expertMode=true
   
   # To set the buffer size, enter the desired value
  -# monitor.buffer.size=800
  \ No newline at end of file
  +# monitor.buffer.size=800
  
  
  
  1.2       +358 -0    
jakarta-jmeter/src/components/org/apache/jmeter/assertions/HTMLAssertion.java
  
  
  
  
  1.2       +297 -0    
jakarta-jmeter/src/components/org/apache/jmeter/assertions/gui/HTMLAssertionGui.java
  
  
  
  
  1.43      +3 -4      
jakarta-jmeter/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
  
  Index: ViewResultsFullVisualizer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- ViewResultsFullVisualizer.java    15 Mar 2004 01:19:30 -0000      1.42
  +++ ViewResultsFullVisualizer.java    16 Apr 2004 13:21:44 -0000      1.43
  @@ -361,8 +361,7 @@
        
           byte[] responseBytes = res.getResponseData();
           String response = null;
  -        if (res.getDataType() != null
  -            && res.getDataType().equals(SampleResult.TEXT))
  +        if ((SampleResult.TEXT).equals(res.getDataType()))
           {
               try
               {
  
  
  
  1.109     +1 -0      
jakarta-jmeter/src/core/org/apache/jmeter/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/messages.properties,v
  retrieving revision 1.108
  retrieving revision 1.109
  diff -u -r1.108 -r1.109
  --- messages.properties       8 Apr 2004 19:16:44 -0000       1.108
  +++ messages.properties       16 Apr 2004 13:21:44 -0000      1.109
  @@ -452,6 +452,7 @@
   tcp_config_title=TCP Sampler Config
   tcp_nodelay=Set NoDelay
   tcp_port=Port Number\:
  +tcp_request_data=Text to send
   tcp_sample_title=TCP Sampler
   tcp_timeout=Timeout\:
   template_field=Template\:
  
  
  
  1.15      +3 -3      
jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java
  
  Index: JMeterVersion.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- JMeterVersion.java        30 Mar 2004 18:08:09 -0000      1.14
  +++ JMeterVersion.java        16 Apr 2004 13:21:44 -0000      1.15
  @@ -41,7 +41,7 @@
         * pattern: VERSION = <quote>.*<quote>
         * 
         */
  -     static final String VERSION = "1.9.20040324";
  +     static final String VERSION = "2.0.20040416";
   
       private JMeterVersion() // Not instantiable
       {
  
  
  
  1.15      +11 -6     
jakarta-jmeter/src/jorphan/org/apache/jorphan/collections/HashTree.java
  
  Index: HashTree.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/jorphan/org/apache/jorphan/collections/HashTree.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- HashTree.java     24 Mar 2004 15:23:37 -0000      1.14
  +++ HashTree.java     16 Apr 2004 13:21:44 -0000      1.15
  @@ -432,10 +432,10 @@
        * @param key   key to be added
        * @param value value to be added as a key in the secondary node
        */
  -    public void add(Object key, Object value)
  +    public HashTree add(Object key, Object value)
       {
           add(key);
  -        getTree(key).add(value);
  +        return getTree(key).add(value);
       }
       
       /**
  @@ -503,6 +503,11 @@
           }
       }
       
  +    public HashTree add(Object[] treePath,Object value)
  +    {
  +        return add(Arrays.asList(treePath),value);
  +    }
  +    
       /**
        * Adds a series of nodes into the HashTree using the given path.  The
        * first argument is a List that represents a path to a specific node in
  @@ -529,10 +534,10 @@
        * @param treePath   a list of objects representing a path
        * @param value  Object to add as a node to bottom-most node
        */
  -    public void add(Collection treePath, Object value)
  +    public HashTree add(Collection treePath, Object value)
       {
           HashTree tree = addTreePath(treePath);
  -        tree.add(value);
  +        return tree.add(value);
       }
       
       /**
  
  
  
  1.17      +3 -2      
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
  
  Index: UrlConfigGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- UrlConfigGui.java 21 Mar 2004 04:21:19 -0000      1.16
  +++ UrlConfigGui.java 16 Apr 2004 13:21:45 -0000      1.17
  @@ -110,6 +110,7 @@
           element.setProperty(HTTPSampler.METHOD,
                   (post.isSelected() ? "POST" : "GET"));
           element.setProperty(HTTPSampler.PATH, path.getText());
  +        element.setProperty(HTTPSampler.ENCODED_PATH,path.getText());
           element.setProperty(new BooleanProperty(HTTPSampler.FOLLOW_REDIRECTS,
                   followRedirects.isSelected()));
           element.setProperty(new BooleanProperty(HTTPSampler.AUTO_REDIRECTS,
  
  
  
  1.6       +7 -7      
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpReplyHdr.java
  
  Index: HttpReplyHdr.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpReplyHdr.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- HttpReplyHdr.java 12 Feb 2004 00:29:50 -0000      1.5
  +++ HttpReplyHdr.java 16 Apr 2004 13:21:45 -0000      1.6
  @@ -59,7 +59,7 @@
   
           if (0 < contentType.length())
           {
  -            out.append("Content-type: ").append(contentType).append(CR);
  +            out.append("Content-Type: ").append(contentType).append(CR);
           }
           else
           {
  @@ -106,15 +106,15 @@
        */
       private static String formError(String error, String description)
       {
  -        /* A HTTP RESPONCE HEADER LOOKS ALOT LIKE:
  +        /* A HTTP RESPONSE HEADER LOOKS ALOT LIKE:
            *
            * HTTP/1.0 200 OK
            * Date: Wednesday, 02-Feb-94 23:04:12 GMT
            * Server: NCSA/1.1
            * MIME-version: 1.0
            * Last-modified: Monday, 15-Nov-93 23:33:16 GMT
  -         * Content-type: text/html
  -         * Content-length: 2345
  +         * Content-Type: text/html
  +         * Content-Length: 2345
            * \r\n
            */
   
  @@ -124,7 +124,7 @@
           header.append(HTTP_PROTOCOL).append(" ").append(error).append(CR);
           header.append("Server: ").append(HTTP_SERVER).append(CR);
           header.append("MIME-version: 1.0").append(CR);
  -        header.append("Content-type: text/html").append(CR);
  +        header.append("Content-Type: text/html").append(CR);
   
           header.append("Content-Length: ").append(body.length()).append(CR);
   
  
  
  
  1.24      +7 -4      
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
  
  Index: HttpRequestHdr.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- HttpRequestHdr.java       12 Feb 2004 01:19:53 -0000      1.23
  +++ HttpRequestHdr.java       16 Apr 2004 13:21:45 -0000      1.24
  @@ -187,10 +187,12 @@
        // Damn! A whole new GUI just to instantiate a test element?
        // Isn't there a beter way? 
           HttpTestSampleGui tempGui = new HttpTestSampleGui();
  -        tempGui.configure(createSampler());
  -        HTTPSampler result = (HTTPSampler) tempGui.createTestElement();
  +        HTTPSampler result = createSampler();
  +        tempGui.configure(result);
  +        tempGui.modifyTestElement(result);
           result.setFollowRedirects(false);
           result.setUseKeepAlive(true);
  +        log.debug("getSampler: sampler path = " + result.getEncodedPath());
           return result;
       }
       
  @@ -264,6 +266,7 @@
           {
               sampler.parseArguments(postData);
           }
  +        log.debug("sampler path = " + sampler.getEncodedPath());
           return sampler;
       }
       
  
  
  
  1.18      +28 -4     
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
  
  Index: Proxy.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- Proxy.java        12 Feb 2004 00:29:50 -0000      1.17
  +++ Proxy.java        16 Apr 2004 13:21:45 -0000      1.18
  @@ -114,7 +114,6 @@
               */
               headers = request.getHeaderManager();
               sampler.setHeaderManager(headers);
  -
               result = sampler.sample();
               writeToClient(
                   result,
  @@ -167,7 +166,8 @@
       {
           try
           {
  -             out.write((res.getResponseHeaders()+"\n").getBytes());
  +            String responseHeaders = 
massageResponseHeaders(res,res.getResponseHeaders());
  +             out.write((responseHeaders+"\n").getBytes());
               out.write(res.getResponseData());
               out.flush();
               log.debug("Done writing to client");
  @@ -188,6 +188,30 @@
                   log.warn("Error while closing socket", ex);
               }
           }
  +    }
  +    
  +    /**
  +     * In the event the content was gzipped and unpacked, the content-encoding 
header must be
  +     * removed and the content-length header should be corrected.
  +     * @param res
  +     * @param headers
  +     * @return
  +     */
  +    private String massageResponseHeaders(SampleResult res,String headers)
  +    {
  +        int encodingHeaderLoc = headers.indexOf(": gzip");
  +        String newHeaders = headers;
  +        if(encodingHeaderLoc > -1)
  +        {
  +            int end = headers.indexOf("\n",encodingHeaderLoc);
  +            int begin = headers.lastIndexOf("\n",encodingHeaderLoc);
  +            newHeaders = newHeaders.substring(0,begin) + newHeaders.substring(end);
  +            int lengthIndex = newHeaders.indexOf("ength: ");
  +            end = newHeaders.indexOf("\n",lengthIndex);
  +            newHeaders = newHeaders.substring(0,lengthIndex+7) + 
res.getResponseData().length +
  +                     newHeaders.substring(end);
  +        }
  +        return newHeaders;
       }
   
       /**
  
  
  
  1.92      +23 -12    
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
  
  Index: HTTPSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- HTTPSampler.java  21 Mar 2004 04:20:25 -0000      1.91
  +++ HTTPSampler.java  16 Apr 2004 13:21:45 -0000      1.92
  @@ -303,20 +303,31 @@
   
           for (int i= 1; conn.getHeaderFieldKey(i) != null; i++)
           {
  -            if (!conn //TODO - why is this not saved?
  -                .getHeaderFieldKey(i)
  -                .equalsIgnoreCase("transfer-encoding"))
  -            {
  -                headerBuf.append(conn.getHeaderFieldKey(i));
  -                headerBuf.append(": ");
  -                headerBuf.append(conn.getHeaderField(i));
  -                headerBuf.append("\n");
  -            }
  +            modifyHeaderValues(conn,i, headerBuf);
           }
           return headerBuf.toString();
       }
   
       /**
  +     * @param conn
  +     * @param headerBuf
  +     * @param i
  +     */
  +    protected void modifyHeaderValues(HttpURLConnection conn, int headerIndex, 
StringBuffer resultBuf) 
  +    {
  +        if ("transfer-encoding" //TODO - why is this not saved? A: it might be a 
proxy server specific field.
  +                     // If JMeter is using a proxy, the browser wouldn't know about 
that.
  +            .equalsIgnoreCase(conn.getHeaderFieldKey(headerIndex)))
  +        {
  +           return; 
  +        }
  +        resultBuf.append(conn.getHeaderFieldKey(headerIndex));
  +        resultBuf.append(": ");
  +        resultBuf.append(conn.getHeaderField(headerIndex));
  +        resultBuf.append("\n");
  +    }
  +
  +    /**
        * Extracts all the required cookies for that particular URL request and
        * sets them in the <code>HttpURLConnection</code> passed in.
        *
  @@ -550,7 +561,7 @@
                   }
   
                   if (isImageParser()
  -                    && res.getDataType().equals(HTTPSampleResult.TEXT)
  +                    && (HTTPSampleResult.TEXT).equals(res.getDataType())
                       && res.isSuccessful())
                   {
                       if (frameDepth > MAX_FRAME_DEPTH)
  
  
  
  1.9       +5 -38     
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java
  
  Index: HTTPSampler2.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- HTTPSampler2.java 24 Mar 2004 03:05:19 -0000      1.8
  +++ HTTPSampler2.java 16 Apr 2004 13:21:45 -0000      1.9
  @@ -104,39 +104,6 @@
   //        /*postWriter.*/
   //           setHeaders(post, this);
       }
  -    
  -//    protected final static String BOUNDARY =
  -//        "---------------------------7d159c1302d0y0";
  -//    //protected final static byte[] CRLF = { 0x0d, 0x0A };
  -//
  -//    public void setHeaders(HttpMethod method, HTTPSampler2 sampler)
  -//    throws IOException
  -//    {
  -//
  -//    // If filename was specified then send the post using multipart syntax
  -//    String filename = sampler.getFileField();
  -//    if ((filename != null) && (filename.trim().length() > 0))
  -//    {
  -//           method.setRequestHeader(
  -//            "Content-type",
  -//            "multipart/form-data; boundary=" + BOUNDARY);
  -////        connection.setDoOutput(true);
  -////        connection.setDoInput(true);
  -//    }
  -//
  -//    // No filename specified, so send the post using normal syntax
  -//    else
  -//    {
  -//        String postData = sampler.getQueryString();
  -//           method.setRequestHeader(
  -//            "Content-length",
  -//            "" + postData.length());
  -//           method.setRequestHeader(
  -//            "Content-type",
  -//            "application/x-www-form-urlencoded");
  -////        connection.setDoOutput(true);
  -//    }
  -//}
   
       /**
        * Send POST data from <code>Entry</code> to the open connection.
  @@ -181,7 +148,7 @@
                    + encode(filename)
                    + "\"");
               // Specify content type and encoding
  -            post.setRequestHeader("Content-type", sampler.getMimetype());
  +            post.setRequestHeader("Content-Type", sampler.getMimetype());
               post.setRequestBody(new FileInputStream(input));
           }
       }
  @@ -527,7 +494,7 @@
   
               res.setResponseMessage(httpMethod.getStatusText());
   
  -            String ct= httpMethod.getResponseHeader("Content-type").getValue();
  +            String ct= httpMethod.getResponseHeader("Content-Type").getValue();
               res.setContentType(ct);// e.g. text/html; charset=ISO-8859-1
               if (ct != null)
               {
  @@ -577,7 +544,7 @@
                   }
   
                   if (isImageParser()
  -                    && res.getDataType().equals(HTTPSampleResult.TEXT)
  +                    && (HTTPSampleResult.TEXT).equals(res.getDataType())
                       && res.isSuccessful())
                   {
                       if (frameDepth > MAX_FRAME_DEPTH)
  
  
  
  1.13      +5 -6      
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/PostWriter.java
  
  Index: PostWriter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/PostWriter.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PostWriter.java   12 Feb 2004 00:29:49 -0000      1.12
  +++ PostWriter.java   16 Apr 2004 13:21:45 -0000      1.13
  @@ -32,7 +32,6 @@
   import org.apache.jmeter.testelement.property.PropertyIterator;
   
   /**
  - * @author Michael Stover
    * @version $Revision$
    */
   
  @@ -100,7 +99,7 @@
           if ((filename != null) && (filename.trim().length() > 0))
           {
               connection.setRequestProperty(
  -                "Content-type",
  +                "Content-Type",
                   "multipart/form-data; boundary=" + BOUNDARY);
               connection.setDoOutput(true);
               connection.setDoInput(true);
  @@ -111,10 +110,10 @@
           {
               String postData = sampler.getQueryString();
               connection.setRequestProperty(
  -                "Content-length",
  +                "Content-Length",
                   "" + postData.length());
               connection.setRequestProperty(
  -                "Content-type",
  +                "Content-Type",
                   "application/x-www-form-urlencoded");
               connection.setDoOutput(true);
           }
  
  
  
  1.5       +36 -13    
jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java
  
  Index: TCPConfigGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TCPConfigGui.java 5 Mar 2004 01:39:07 -0000       1.4
  +++ TCPConfigGui.java 16 Apr 2004 13:21:45 -0000      1.5
  @@ -19,8 +19,10 @@
   package org.apache.jmeter.protocol.tcp.config.gui;
   import java.awt.BorderLayout;
   
  +import javax.swing.JCheckBox;
   import javax.swing.JLabel;
   import javax.swing.JPanel;
  +import javax.swing.JTextArea;
   import javax.swing.JTextField;
   
   import org.apache.jmeter.config.ConfigTestElement;
  @@ -29,6 +31,7 @@
   import org.apache.jmeter.protocol.tcp.sampler.TCPSampler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jorphan.util.JOrphanUtils;
   
   /**
    * @version   $Revision$ $Date$
  @@ -40,13 +43,16 @@
        private final static String FILENAME = "filename"; //$NON-NLS-1$ 
        private final static String TIMEOUT = "timeout";   //$NON-NLS-1$
        private final static String NODELAY = "nodelay";   //$NON-NLS-1$
  +     private final static String REQUEST = "request";   //$NON-NLS-1$
   
       private JTextField server;
       private JTextField port;
        private JTextField filename;
        private JTextField timeout;
  -     private JTextField nodelay;
  +    private JCheckBox setNoDelay;
   
  +    private JTextArea requestData;
  +    
       private boolean displayName = true;
   
       public TCPConfigGui()
  @@ -70,9 +76,10 @@
           super.configure(element);
           server.setText(element.getPropertyAsString(TCPSampler.SERVER));
           port.setText(element.getPropertyAsString(TCPSampler.PORT));
  -             filename.setText(element.getPropertyAsString(TCPSampler.FILENAME));
  +             //filename.setText(element.getPropertyAsString(TCPSampler.FILENAME));
                timeout.setText(element.getPropertyAsString(TCPSampler.TIMEOUT));
  -             nodelay.setText(element.getPropertyAsString(TCPSampler.NODELAY));
  +             
setNoDelay.setSelected(element.getPropertyAsBoolean(TCPSampler.NODELAY));
  +             requestData.setText(element.getPropertyAsString(TCPSampler.REQUEST));
        }
   
       public TestElement createTestElement()
  @@ -91,9 +98,10 @@
           configureTestElement(element);
           element.setProperty(TCPSampler.SERVER, server.getText());
           element.setProperty(TCPSampler.PORT, port.getText());
  -             element.setProperty(TCPSampler.FILENAME, filename.getText());
  -             element.setProperty(TCPSampler.NODELAY, nodelay.getText());
  +             //element.setProperty(TCPSampler.FILENAME, filename.getText());
  +             element.setProperty(TCPSampler.NODELAY, 
JOrphanUtils.booleanToString(setNoDelay.isSelected()));
                element.setProperty(TCPSampler.TIMEOUT, timeout.getText());
  +             element.setProperty(TCPSampler.REQUEST, requestData.getText());
       }
   
       private JPanel createTimeoutPanel()
  @@ -114,13 +122,13 @@
        {
                JLabel label = new JLabel(JMeterUtils.getResString("tcp_nodelay"));
   
  -             nodelay = new JTextField(10);
  -             nodelay.setName(NODELAY);
  -             label.setLabelFor(nodelay);
  +             setNoDelay = new JCheckBox();
  +             setNoDelay.setName(NODELAY);
  +             label.setLabelFor(setNoDelay);
   
                JPanel nodelayPanel = new JPanel(new BorderLayout(5, 0));
                nodelayPanel.add(label, BorderLayout.WEST);
  -             nodelayPanel.add(nodelay, BorderLayout.CENTER);
  +             nodelayPanel.add(setNoDelay, BorderLayout.CENTER);
                return nodelayPanel;
        }
   
  @@ -152,8 +160,22 @@
           return PortPanel;
       }
   
  -     private JPanel createFilenamePanel()
  +    private JPanel createRequestPanel()
  +     {       
  +             JLabel reqLabel = new 
JLabel(JMeterUtils.getResString("tcp_request_data"));
  +             requestData = new JTextArea(3,0);
  +             requestData.setName(REQUEST);
  +             reqLabel.setLabelFor(requestData);
  +     
  +             JPanel reqDataPanel = new JPanel(new BorderLayout(5, 0));
  +             reqDataPanel.add(reqLabel, BorderLayout.WEST);
  +             reqDataPanel.add(requestData, BorderLayout.CENTER);
  +             return reqDataPanel;
  +
  +     }
  +    private JPanel createFilenamePanel()//Not used yet
        {
  +             
                JLabel label = new 
JLabel(JMeterUtils.getResString("file_to_retrieve"));
   
                filename = new JTextField(10);
  @@ -181,8 +203,9 @@
           mainPanel.add(createPortPanel());
                mainPanel.add(createTimeoutPanel());
                mainPanel.add(createNoDelayPanel());
  +             mainPanel.add(createRequestPanel());
   
  -             mainPanel.add(createFilenamePanel());
  +             //mainPanel.add(createFilenamePanel());
                add(mainPanel, BorderLayout.CENTER);
       }
   }
  
  
  
  1.6       +23 -5     
jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
  
  Index: TCPClient.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TCPClient.java    30 Mar 2004 18:07:37 -0000      1.5
  +++ TCPClient.java    16 Apr 2004 13:21:45 -0000      1.6
  @@ -38,13 +38,31 @@
        /**
         * 
         * @param os - OutputStream for socket
  -      * @return String written to socket
  +      * @param is - InputStream to be written to Socket
         */
  -     String write(OutputStream os);
  +     void write(OutputStream os, InputStream is);
  +
  +     /**
  +      * 
  +      * @param os - OutputStream for socket
  +      * @param s - String to write
  +      */
  +     void write(OutputStream os, String s);
  +
        /**
         * 
         * @param is - InputStream for socket
         * @return String read from socket
         */
        String read(InputStream is);
  -}
  +     
  +     /**
  +      * @return Returns the eolByte.
  +      */
  +     public byte getEolByte();
  +
  +     /**
  +      * @param eolByte The eolByte to set.
  +      */
  +     public void setEolByte(byte eolByte);
  +}
  \ No newline at end of file
  
  
  
  1.7       +35 -11    
jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
  
  Index: TCPClientImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TCPClientImpl.java        30 Mar 2004 18:07:37 -0000      1.6
  +++ TCPClientImpl.java        16 Apr 2004 13:21:45 -0000      1.7
  @@ -32,6 +32,7 @@
   import java.io.InterruptedIOException;
   import java.io.OutputStream;
   
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jorphan.logging.LoggingManager;
   import org.apache.log.Logger;
   
  @@ -43,6 +44,7 @@
   public class TCPClientImpl implements TCPClient
   {
        private static Logger log = LoggingManager.getLoggerForClass();
  +     private byte eolByte = (byte) JMeterUtils.getPropDefault("tcp.eolByte",0);
   
       public TCPClientImpl()
       {
  @@ -69,12 +71,10 @@
           
       }
   
  -    /* (non-Javadoc)
  -     * @see 
org.apache.jmeter.protocol.tcp.sampler.TCPClient#write(java.io.OutputStream)
  -     */
  -    public String write(OutputStream os)
  -    {
  -             String s = "GET /  HTTP/1.1\nHost: www.dummy.invalid\n\n"; //or get 
from file etc
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.protocol.tcp.sampler.TCPClient#write(java.io.OutputStream, 
java.lang.String)
  +      */
  +     public void write(OutputStream os, String s) {
                try
           {
               os.write(s.getBytes());
  @@ -85,8 +85,8 @@
               log.debug("Write error",e);
           }
           log.debug("Wrote: "+s);
  -        return s;
  -    }
  +             return;
  +     }
   
   
       /* (non-Javadoc)
  @@ -101,6 +101,8 @@
                        while ((x = is.read(buffer)) > -1)
                        {
                                w.write(buffer, 0, x);
  +                             if ((eolByte != 0) && (buffer[x-1] == eolByte)) 
  +                                     break;
                        }
                /*
                 * Timeout is reported as follows:
  @@ -123,7 +125,29 @@
                }
                
                // do we need to close byte array (or flush it?)
  -             log.debug("Read:\n"+w.toString());
  +             log.debug("Read: "+w.size()+ "\n"+w.toString());
                return w.toString();
       }
  +
  +
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.protocol.tcp.sampler.TCPClient#write(java.io.OutputStream, 
java.io.InputStream)
  +      */
  +     public void write(OutputStream os, InputStream is) {
  +             // TODO Auto-generated method stub
  +             return;
  +     }
  +
  +     /**
  +      * @return Returns the eolByte.
  +      */
  +     public byte getEolByte() {
  +             return eolByte;
  +     }
  +     /**
  +      * @param eolByte The eolByte to set.
  +      */
  +     public void setEolByte(byte eolByte) {
  +             this.eolByte = eolByte;
  +     }
   }
  
  
  
  1.6       +25 -9     
jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
  
  Index: TCPSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TCPSampler.java   30 Mar 2004 18:07:37 -0000      1.5
  +++ TCPSampler.java   16 Apr 2004 13:21:45 -0000      1.6
  @@ -54,6 +54,7 @@
        public final static String CLASSNAME  = "TCPSampler.classname";//$NON-NLS-1$
        public final static String NODELAY    = "TCPSampler.nodelay";  //$NON-NLS-1$
        public final static String TIMEOUT    = "TCPSampler.timeout";  //$NON-NLS-1$
  +     public final static String REQUEST    = "TCPSampler.request";  //$NON-NLS-1$
   
        private final static String TCPKEY = "TCP"; //$NON-NLS-1$ key for HashMap
        private final static String ERRKEY = "ERR"; //$NON-NLS-1$ key for HashMap
  @@ -67,9 +68,12 @@
                }
        };
   
  +     private transient TCPClient protocolHandler;
  +     
        public TCPSampler()
        {
                log.debug("Created "+this);
  +             protocolHandler=getProtocol();
        }
   
        private String getError(){
  @@ -147,6 +151,17 @@
        }
   
   
  +     public void setRequestData(String newRequestData)
  +     {
  +             this.setProperty(REQUEST, newRequestData);
  +     }
  +     
  +     public String getRequestData()
  +     {
  +             return getPropertyAsString(REQUEST);
  +     }
  +
  +
        public void setTimeout(String newTimeout)
        {
                this.setProperty(FILENAME, newTimeout);
  @@ -161,6 +176,7 @@
        {
                this.setProperty(NODELAY, newNoDelay);
        }
  +     
        public boolean getNoDelay()
        {
                return getPropertyAsBoolean(NODELAY);
  @@ -211,12 +227,12 @@
           
        }
   
  -    private Object getProtocol(){
  -     Object TCPClient = null;
  +    private TCPClient getProtocol(){
  +     TCPClient TCPClient = null;
        Class javaClass = getClass(getClassname());
                try
                {
  -                     TCPClient = javaClass.newInstance();
  +                     TCPClient = (TCPClient) javaClass.newInstance();
                        if (log.isDebugEnabled())
                        {
                                log.debug(this
  @@ -250,11 +266,11 @@
                        } else {
                                InputStream is = sock.getInputStream();
                                OutputStream os = sock.getOutputStream();
  -                             TCPClient proto = (TCPClient) getProtocol();
  -                     log.debug("Found class "+ proto.toString());
  -                             String req=proto.write(os);
  +                             String req = getRequestData();
  +                             //TODO handle filenames
                                res.setSamplerData(req);
  -                             String in = proto.read(is);
  +                             protocolHandler.write(os,req);
  +                             String in = protocolHandler.read(is);
                    res.setResponseData(in.getBytes());
                    res.setDataType(SampleResult.TEXT);
                    res.setResponseCode("200");
  
  
  
  1.16      +49 -1     jakarta-jmeter/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/xdocs/changes.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- changes.xml       14 Feb 2004 01:19:43 -0000      1.15
  +++ changes.xml       16 Apr 2004 13:21:45 -0000      1.16
  @@ -27,6 +27,54 @@
   
   <b>Changes: for more info, contact <a href="mailto:[EMAIL PROTECTED]">Michael 
Stover</a></b>
   
  +<h3>Version 2.0</h3>
  +<ul>
  +     <li>HTML parsing improved; now has choice of 3 parsers, and most embedded 
elements can now be detected and downloaded.</li>
  +<li>Redirects can now be delegated to URLConnection by defining the JMeter property 
HTTPSamper.delegateRedirects=true (default is false) </li>
  +<li>Stop Thread and Stop Test methods added for Samplers and Assertions etc. 
Samplers can call setStopThread(true) or setStopTest(true) if they detect an error 
that needs to stop the thread of the test after the sample has been processed </li>
  +<li>Thread Group Gui now has an extra pane to specify what happens after a Sampler 
error: Continue (as now), Stop Thread or Stop Test. 
  +    This needs to be extended to a lower level at some stage. </li>
  +<li>Added Shutdown to Run Menu. This is the same as Stop except that it lets the 
Threads finish normally (i.e. after the next sample has been completed) </li>
  +<li>Remote samples can be cached until the end of a test by defining the property 
hold_samples=true when running the server.
  +More work is needed to be able to control this from the GUI </li>
  +<li>Proxy server has option to skip recording browser headers </li>
  +<li>Proxy restart works better (stop waits for daemon to finish) </li>
  +<li>Scheduler ignores start if it has already passed </li>
  +<li>Scheduler now has delay function </li>
  +<li>added Summariser test element (mainly for non-GUI) testing. This prints summary 
statistics to System.out and/or the log file every so oftem (3 minutes by default). 
Multiple summarisers can be used; samples are accumulated by summariser name. </li>
  +<li>Extra Proxy Server options: 
  +Create all samplers with keep-alive disabled 
  +Add Separator markers between sets of samples 
  +Add Response Assertion to first sampler in each set </li>
  +<li>Test Plan has a comment field</li>
  +     
  +     <li>Help Page can now be pushed to background</li>
  +     <li>Separate Function help page</li>
  +     <li>New / amended functions</li>
  +     <ul>
  +       <li>__property() and __P() functions</li>
  +       <li>__log() and __logn() - for writing to the log file</li>
  +      <li>_StringFromFile can now process a sequence of files, e.g. dir/file01.txt, 
dir/file02.txt etc </li>
  +      <li>_StringFromFile() funtion can now use a variable or function for the file 
name </li>
  +     </ul>
  +     <li>New / amended Assertions</li>
  +     <ul>
  +        <li>Response Assertion now works for URLs, and it handles null data better 
</li>
  +        <li>Response Assertion can now match on Response Code and Response message 
as well </li>
  +             <li>HTML Assertion using JTidy to check for well-formed HTML</li>
  +     </ul>
  +     <li>If Controller (not fully functional yet)</li>
  +     <li>Transaction Controller (aggregates the times of its children)</li>
  +     <li>New Samplers</li>
  +             <ul>
  +                     <li>Basic BSF Sampler (optional)</li>
  +                     <li>BeanShell Sampler (optional, needs to be downloaded from 
www.beanshell.org</li>
  +                     <li>Basic TCP Sampler</li>
  +             </ul>
  +     <li>Optionally start BeanShell server (allows remote access to JMeter 
variables and methods) </li>
  +</ul>
  +<h3>Version 1.9.1</h3>
  +<p>TBA</p>
   <h3>Version 1.9</h3>
   <ul>
   <li>Sample result log files can now be in CSV or XML format</li>
  
  
  
  1.8       +3 -2      jakarta-jmeter/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/xdocs/index.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- index.xml 14 Feb 2004 01:19:43 -0000      1.7
  +++ index.xml 16 Apr 2004 13:21:45 -0000      1.8
  @@ -65,7 +65,8 @@
   <h2>How do I do it?</h2>
   <ul>
   <li><a href="usermanual/index.html">Using JMeter</a></li>
  -<li><a href="extending/index.html">Extending JMeter (Developer Manual)</a></li>
  +<li><a href="http://wiki.apache.org/jakarta-jmeter/JMeterFAQ";>JMeter FAQ</a></li>
  +<li><a href="http://wiki.apache.org/jakarta-jmeter/JMeterDevelopment";>Extending 
JMeter (Developer Notes)</a></li>
   <li><a href="api/index.html">Javadoc API documentation</a></li>
   <li><a href="localising/index.html">JMeter Localisation (Translator's 
Guide)</a></li>
   </ul>
  
  
  
  1.2       +2 -2      jakarta-jmeter/xdocs/nightly.xml
  
  Index: nightly.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/xdocs/nightly.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- nightly.xml       14 Feb 2004 01:19:14 -0000      1.1
  +++ nightly.xml       16 Apr 2004 13:21:45 -0000      1.2
  @@ -24,7 +24,7 @@
        <p></p>
        <h2>Where are the nightly builds?</h2>
        <p>There are at present two sources of nightly builds:</p>
  -     <ul>asdasd
  +     <ul>
                <li>Zips: <a 
href="http://gump.covalent.net/jars/latest/jakarta-jmeter/";>
                        http://gump.covalent.net/jars/latest/jakarta-jmeter/</a>
                        Log: <a 
href="http://gump.covalent.net/log/jakarta-jmeter-test.html";>Test log</a>
  
  
  
  1.2       +28 -0     
jakarta-jmeter/xdocs/images/screenshots/assertion/HTMLAssertion.png
  
        <<Binary file>>
  
  
  1.24      +22 -24    jakarta-jmeter/xdocs/stylesheets/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/xdocs/stylesheets/project.xml,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- project.xml       14 Feb 2004 01:18:51 -0000      1.23
  +++ project.xml       16 Apr 2004 13:21:45 -0000      1.24
  @@ -19,39 +19,37 @@
                  href="http://jakarta.apache.org/jmeter/";>
   
         <title>JMeter</title>
  -      <!--
  -      <logo href="/images/logo.gif">JMeter</logo>
  -      -->
  +      <!---->
  +      <logo href="/images/logo.jpg">JMeter</logo>
  +      <!---->
         <body>
         <menu name="About">
  -               <item name="Overview"               href="/index.html"/>
  -               <item name="Changes"                href="/changes.html"/>
  -               <item name="Known Bugs"             
href="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=JMeter&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time"/>
  -               <item name="License"                href="/license.html"/>
  -               <item name="Contributors"                       
href="http://nagoya.apache.org/wiki/apachewiki.cgi?JMeterCommitters"/>
  -               <item name="FAQ"                      
href="http://nagoya.apache.org/wiki/apachewiki.cgi?JMeterFAQ"/>
  +        <item name="Overview"            href="/index.html"/>
  +        <item name="Changes"             href="/changes.html"/>
  +        <item name="Known Bugs"          
href="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=JMeter&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time"/>
  +        <item name="License"             href="/license.html"/>
  +        <item name="Contributors"            
href="http://wiki.apache.org/jakarta-jmeter/JMeterCommitters"/>
  +        <item name="FAQ (Wiki)"                      
href="http://wiki.apache.org/jakarta-jmeter/JMeterFAQ"/>
         </menu>
         <menu name="Download">
  -             <item name="Download Binary"                    
href="http://jakarta.apache.org/site/binindex.cgi"/>
  -        <item name="Download Source"                    
href="http://jakarta.apache.org/site/sourceindex.cgi"/>
  -             <item name="Download Nightly Builds"                    
href="/nightly.html"/>
  -             <item name="Download Latest Stable Release"     
href="http://www.apache.org/dyn/closer.cgi/jakarta/jmeter/jakarta-jmeter-current-bin.zip"/>
             
  -             <!-- <item name="Download Latest Release Candidate"     
href="http://jakarta.apache.org/builds/jakarta-jmeter/unstable/v1.9/jakarta-jmeter-1.9.RC3.zip"/>
 -->
  +             <item name="Download Binary"    
href="http://jakarta.apache.org/site/binindex.cgi"/>
  +        <item name="Download Source"    
href="http://jakarta.apache.org/site/sourceindex.cgi"/>
  +             <item name="Nightly Builds"     href="/nightly.html"/>
         </menu>
         <menu name="Documentation">
  -             <item name="User Manual"        href="/usermanual/index.html"/>
  -             <item name="Developer Manual"       href="/extending/index.html"/>
  -             <item name="JMeter Wiki"                        
href="http://nagoya.apache.org/wiki/apachewiki.cgi?JMeterProjectPages"/>
  -             <item name="Javadocs"           href="/api/index.html"/>
  +             <item name="User Manual"         href="/usermanual/index.html"/>
  +             <item name="Javadocs"                href="/api/index.html"/>
         </menu>
         <menu name="JMeter Resources">
  -                     <item name="JMeter Articles" 
href="http://nagoya.apache.org/wiki/apachewiki.cgi?JMeterLinks"/>
  -                     <item name="JMeter on IRC" href="/jmeter_irc.html"/>
  +             <item name="JMeter Wiki"                 
href="http://wiki.apache.org/jakarta-jmeter"/>
  +             <item name="JMeter Articles"     
href="http://wiki.apache.org/jakarta-jmeter/JMeterLinks"/>
  +             <item name="JMeter on IRC"       href="/jmeter_irc.html"/>
  +             <item name="Developer Notes"     
href="http://wiki.apache.org/jakarta-jmeter/JMeterDevelopment"/>
         </menu>
         <menu name="Community">
  -               <item name="Get Involved"           href="/site/getinvolved.html"/>
  -               <item name="Mailing Lists"          href="/site/mail.html"/>
  -               <item name="CVS Repositories"       href="/site/cvsindex.html"/>
  +             <item name="Get Involved"        href="/site/getinvolved.html"/>
  +             <item name="Mailing Lists"       href="/site/mail.html"/>
  +             <item name="CVS Repositories"    href="/site/cvsindex.html"/>
         </menu>
         </body>
   </project>
  
  
  
  1.88      +19 -4     jakarta-jmeter/xdocs/usermanual/component_reference.xml
  
  Index: component_reference.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/xdocs/usermanual/component_reference.xml,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -u -r1.87 -r1.88
  --- component_reference.xml   23 Mar 2004 17:00:58 -0000      1.87
  +++ component_reference.xml   16 Apr 2004 13:21:45 -0000      1.88
  @@ -18,7 +18,7 @@
    * 
    * @version $Id$
    -->
  -<document index="yes" index-level-2="yes" colbreak="14.5"
  +<document index="yes" index-level-2="yes" colbreak="15.4"
     prev="boss.html" next="functions.html" date="$Date$">
   
   <properties>
  @@ -1075,6 +1075,7 @@
   
   <p>Second, you can manually add a cookie to the Cookie Manager.  However, if you do 
this,
   the cookie will be shared by all JMeter threads.</p>
  +<p>Note that an Expiration time of 0 is treated as never expiring.</p>
   </description>
   <properties>
           <property name="Name" required="No">Descriptive name for this element that 
is shown in the tree. </property>
  @@ -1428,6 +1429,20 @@
   </properties>
   </component>
   
  +<component index="15.5.7" name="HTML Assertion" 
screenshot="assertion/HTMLAssertion.png">
  +<description><p>The HTML Assertion allows the user to check the HTML syntax of the 
response data using JTidy.</p></description>
  +
  +<properties>
  +<property name="Name" required="">Descriptive name for this element that is shown 
in the tree.</property>
  +<property name="doctype" required="Yes">omit/auto/strict/loose</property>
  +<property name="Format" required="Yes">HTML, XHTML or XML</property>
  +<property name="Errors only" required="Yes">Only take note of errors?</property>
  +<property name="Error threshold" required="Yes">Number of errors allowed before 
classing the response as failed</property>
  +<property name="Warning threshold" required="Yes">Number of warnings allowed before 
classing the response as failed</property>
  +<property name="Filename" required="No">Name of file to which report is 
written</property>
  +
  +</properties>
  +</component>
   
   </section>
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to