mstover1    2005/08/15 13:33:08

  Modified:    src/core/org/apache/jmeter/engine/event
                        LoopIterationListener.java
               src/components/org/apache/jmeter/control
                        TransactionController.java ForeachController.java
                        ThroughputController.java OnceOnlyController.java
                        InterleaveControl.java
               src/core/org/apache/jmeter/control WhileController.java
                        RunTime.java IfController.java LoopController.java
                        GenericController.java
               src/protocol/jms/org/apache/jmeter/protocol/jms/sampler
                        JMSSampler.java SubscriberSampler.java
                        PublisherSampler.java
               src/core/org/apache/jmeter/samplers SampleResult.java
               src/components/org/apache/jmeter/modifiers
                        CounterConfig.java UserParameters.java
               src/core/org/apache/jmeter/assertions AssertionResult.java
               src/core/org/apache/jmeter/threads JMeterThread.java
               bin/testfiles RenderTreeTest.jmx Test Plan_out.jmx
                        GuiTest_2.jmx
               src/core/org/apache/jmeter/visualizers
                        SamplingStatCalculator.java
               src/components/org/apache/jmeter/timers ConstantTimer.java
               src/components/org/apache/jmeter/config CSVDataSet.java
               src/core/org/apache/jmeter/util JMeterVersion.java
  Added:       src/components/org/apache/jmeter/assertions
                        CompareAssertionResources.properties
                        CompareAssertionBeanInfo.java CompareAssertion.java
  Log:
  Modifying inheritance structure of Controllers
  Added LoopIterationEnd event
  New CompareAssertion
  
  Revision  Changes    Path
  1.5       +2 -1      
jakarta-jmeter/src/core/org/apache/jmeter/engine/event/LoopIterationListener.java
  
  Index: LoopIterationListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/event/LoopIterationListener.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LoopIterationListener.java        12 Jul 2005 20:50:42 -0000      1.4
  +++ LoopIterationListener.java        15 Aug 2005 20:33:06 -0000      1.5
  @@ -20,4 +20,5 @@
   
   public interface LoopIterationListener {
        public void iterationStart(LoopIterationEvent iterEvent);
  +     public void iterationEnd(LoopIterationEvent iterEvent);
   }
  
  
  
  1.6       +4 -4      
jakarta-jmeter/src/components/org/apache/jmeter/control/TransactionController.java
  
  Index: TransactionController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/TransactionController.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TransactionController.java        12 Jul 2005 20:51:02 -0000      1.5
  +++ TransactionController.java        15 Aug 2005 20:33:06 -0000      1.6
  @@ -67,7 +67,7 @@
        /**
         * @see org.apache.jmeter.control.Controller#next()
         */
  -     public Sampler next() {
  +     public Sampler doNext() {
                Sampler returnValue = null;
                if (isFirst()) // must be the start of the subtree
                {
  @@ -79,7 +79,7 @@
   
                calls++;
   
  -             returnValue = super.next();
  +             returnValue = super.doNext();
   
                if (returnValue == null) // Must be the end of the controller
                {
  
  
  
  1.7       +5 -5      
jakarta-jmeter/src/components/org/apache/jmeter/control/ForeachController.java
  
  Index: ForeachController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/ForeachController.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ForeachController.java    12 Jul 2005 20:51:02 -0000      1.6
  +++ ForeachController.java    15 Aug 2005 20:33:06 -0000      1.7
  @@ -116,12 +116,12 @@
        }
   
        // Prevent entry if nothing to do
  -     public Sampler next() {
  +     public Sampler doNext() {
                if (emptyList()) {
                        reInitialize();
                        return null;
                }
  -             return super.next();
  +             return super.doNext();
        }
   
        /**
  @@ -152,7 +152,7 @@
                        resetLoopCount();
                        return null;
                } else {
  -                     return next();
  +                     return doNext();
                }
        }
   
  
  
  
  1.19      +11 -4     
jakarta-jmeter/src/components/org/apache/jmeter/control/ThroughputController.java
  
  Index: ThroughputController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/ThroughputController.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ThroughputController.java 12 Jul 2005 20:51:02 -0000      1.18
  +++ ThroughputController.java 15 Aug 2005 20:33:06 -0000      1.19
  @@ -199,9 +199,9 @@
        /**
         * @see org.apache.jmeter.control.Controller#next()
         */
  -     public Sampler next() {
  +     public Sampler doNext() {
                if (runThisTime) {
  -                     return super.next();
  +                     return super.doNext();
                }
                return null;
        }
  @@ -272,6 +272,13 @@
                }
        }
   
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationEnd(org.apache.jmeter.engine.event.LoopIterationEvent)
  +      */
  +     public void iterationEnd(LoopIterationEvent iterEvent) {
  +             
  +     }
  +
        /*
         * (non-Javadoc)
         * 
  
  
  
  1.15      +9 -2      
jakarta-jmeter/src/components/org/apache/jmeter/control/OnceOnlyController.java
  
  Index: OnceOnlyController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/OnceOnlyController.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- OnceOnlyController.java   12 Jul 2005 20:51:02 -0000      1.14
  +++ OnceOnlyController.java   15 Aug 2005 20:33:06 -0000      1.15
  @@ -48,6 +48,13 @@
                }
        }
   
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationEnd(org.apache.jmeter.engine.event.LoopIterationEvent)
  +      */
  +     public void iterationEnd(LoopIterationEvent iterEvent) {
  +             
  +     }
  +
        protected Sampler nextIsNull() throws NextIsNullException {
                return null;
        }
  
  
  
  1.29      +6 -6      
jakarta-jmeter/src/components/org/apache/jmeter/control/InterleaveControl.java
  
  Index: InterleaveControl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/InterleaveControl.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- InterleaveControl.java    12 Jul 2005 20:51:02 -0000      1.28
  +++ InterleaveControl.java    15 Aug 2005 20:33:06 -0000      1.29
  @@ -79,12 +79,12 @@
         * 
         * @see org.apache.jmeter.control.Controller#next()
         */
  -     public Sampler next() {
  +     public Sampler doNext() {
                if (isSkipNext()) {
                        reInitialize();
                        return null;
                }
  -             return super.next();
  +             return super.doNext();
        }
   
        /*
  @@ -96,7 +96,7 @@
                Sampler sampler = controller.next();
                if (sampler == null) {
                        currentReturnedNull(controller);
  -                     return next();
  +                     return doNext();
                } else {
                        currentReturnedAtLeastOne = true;
                        if (getStyle() == IGNORE_SUB_CONTROLLERS) {
  @@ -128,7 +128,7 @@
         */
        protected Sampler nextIsNull() {
                resetCurrent();
  -             return next();
  +             return doNext();
        }
   
        /*
  
  
  
  1.6       +5 -5      
jakarta-jmeter/src/core/org/apache/jmeter/control/WhileController.java
  
  Index: WhileController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/WhileController.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- WhileController.java      12 Jul 2005 20:51:00 -0000      1.5
  +++ WhileController.java      15 Aug 2005 20:33:06 -0000      1.6
  @@ -111,13 +111,13 @@
         * distinguish this from previous failure *inside* loop
         * 
         */
  -     public Sampler next() {
  +     public Sampler doNext() {
                if (current != 0) { // in the middle of the loop
  -                     return super.next();
  +                     return super.doNext();
                }
                // Must be start of loop
                if (!endOfLoop(false)) {
  -                     return super.next(); // OK to continue
  +                     return super.doNext(); // OK to continue
                } else {
                        reInitialize(); // Don't even start the loop
                        return null;
  
  
  
  1.6       +5 -5      
jakarta-jmeter/src/core/org/apache/jmeter/control/RunTime.java
  
  Index: RunTime.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/RunTime.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RunTime.java      12 Jul 2005 20:51:00 -0000      1.5
  +++ RunTime.java      15 Aug 2005 20:33:06 -0000      1.6
  @@ -77,7 +77,7 @@
                return System.currentTimeMillis() - startTime >= 1000 * 
getRuntime();
        }
   
  -     public Sampler next() {
  +     public Sampler doNext() {
                if (startTime == 0)
                        startTime = System.currentTimeMillis();
                if (endOfLoop()) {
  @@ -85,7 +85,7 @@
                        resetLoopCount();
                        return null;
                }
  -             return super.next();
  +             return super.doNext();
        }
   
        /*
  @@ -99,7 +99,7 @@
                        resetLoopCount();
                        return null;
                } else {
  -                     return next();
  +                     return doNext();
                }
        }
   
  
  
  
  1.12      +4 -4      
jakarta-jmeter/src/core/org/apache/jmeter/control/IfController.java
  
  Index: IfController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/IfController.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- IfController.java 12 Jul 2005 20:51:00 -0000      1.11
  +++ IfController.java 15 Aug 2005 20:33:06 -0000      1.12
  @@ -142,10 +142,10 @@
         *      time this is run. The first time is special cause it is called 
prior
         *      the iteration even starts !
         */
  -     public Sampler next() {
  +     public Sampler doNext() {
                boolean result = evaluateCondition(getCondition());
                if (result)
  -                     return super.next();
  +                     return super.doNext();
                else
                        try {
                                return nextIsNull();
  
  
  
  1.28      +3 -3      
jakarta-jmeter/src/core/org/apache/jmeter/control/LoopController.java
  
  Index: LoopController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/LoopController.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- LoopController.java       12 Jul 2005 20:51:00 -0000      1.27
  +++ LoopController.java       15 Aug 2005 20:33:06 -0000      1.28
  @@ -117,7 +117,7 @@
                        }
                        return null;
                } else {
  -                     return next();
  +                     return doNext();
                }
        }
   
  
  
  
  1.28      +29 -3     
jakarta-jmeter/src/core/org/apache/jmeter/control/GenericController.java
  
  Index: GenericController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/GenericController.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- GenericController.java    12 Jul 2005 20:51:00 -0000      1.27
  +++ GenericController.java    15 Aug 2005 20:33:06 -0000      1.28
  @@ -82,9 +82,16 @@
        /**
         * @see org.apache.jmeter.control.Controller#next()
         */
  -     public Sampler next() {
  +     public final Sampler next() {
                fireIterEvents();
                log.debug("Calling next on: " + this.getClass().getName());
  +             Sampler returnValue = doNext();
  +             fireIterEvents(returnValue);
  +             return returnValue;
  +     }
  +     
  +     protected Sampler doNext()
  +     {
                if (isDone())
                        return null;
                Sampler returnValue = null;
  @@ -218,6 +225,14 @@
                        first = false;
                }
        }
  +     
  +     protected void fireIterEvents(Object sampler)
  +     {
  +             if(sampler == null)
  +             {
  +                     fireIterationEnd();
  +             }
  +     }
   
        protected void fireIterationStart() {
                Iterator iter = iterationListeners.iterator();
  @@ -227,6 +242,17 @@
                        item.iterationStart(event);
                }
        }
  +     
  +     protected void fireIterationEnd()
  +     {
  +             Iterator iter = iterationListeners.iterator();
  +             LoopIterationEvent event = new LoopIterationEvent(this, 
getIterCount());
  +             while(iter.hasNext())
  +             {
  +                     LoopIterationListener item = 
(LoopIterationListener)iter.next();
  +                     item.iterationEnd(event);
  +             }
  +     }
   
        protected int getIterCount() {
                return iterCount;
  
  
  
  1.11      +3 -3      
jakarta-jmeter/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
  
  Index: JMSSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JMSSampler.java   4 Aug 2005 21:15:48 -0000       1.10
  +++ JMSSampler.java   15 Aug 2005 20:33:07 -0000      1.11
  @@ -139,9 +139,9 @@
                                        }
                                } else {
                                        if (replyMsg instanceof TextMessage) {
  -                                             
res.setResponseData(((TextMessage) replyMsg).getText().getBytes());
  +                                             
res.setResponseData(((TextMessage) replyMsg).getText().getContentLength());
                                        } else {
  -                                             
res.setResponseData(replyMsg.toString().getBytes());
  +                                             
res.setResponseData(replyMsg.toString().getContentLength());
                                        }
                                        res.setSuccessful(true);
                                }
  
  
  
  1.6       +2 -2      
jakarta-jmeter/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
  
  Index: SubscriberSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SubscriberSampler.java    12 Jul 2005 20:50:50 -0000      1.5
  +++ SubscriberSampler.java    15 Aug 2005 20:33:07 -0000      1.6
  @@ -182,7 +182,7 @@
                if (this.getReadResponseAsBoolean()) {
                        
result.setResponseData(this.BUFFER.toString().getBytes());
                } else {
  -                     
result.setBytes(this.BUFFER.toString().getBytes().length);
  +                     
result.setContentLength(this.BUFFER.toString().getBytes().length);
                }
                result.setSuccessful(true);
                result.setResponseCode(loop + " message(s) recieved 
successfully");
  @@ -222,7 +222,7 @@
                if (this.getReadResponseAsBoolean()) {
                        
result.setResponseData(this.SUBSCRIBER.getMessage().getBytes());
                } else {
  -                     
result.setBytes(this.SUBSCRIBER.getMessage().getBytes().length);
  +                     
result.setContentLength(this.SUBSCRIBER.getMessage().getBytes().length);
                }
                result.setSuccessful(true);
                result.setResponseCode(loop + " message(s) recieved 
successfully");
  
  
  
  1.7       +1 -1      
jakarta-jmeter/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
  
  Index: PublisherSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- PublisherSampler.java     12 Jul 2005 20:50:50 -0000      1.6
  +++ PublisherSampler.java     15 Aug 2005 20:33:07 -0000      1.7
  @@ -148,7 +148,7 @@
                        }
                        result.sampleEnd();
                        String content = this.BUFFER.toString();
  -                     result.setBytes(content.getBytes().length);
  +                     result.setContentLength(content.getBytes().length);
                        result.setResponseCode("message published 
successfully");
                        result.setResponseMessage(loop + " messages published");
                        result.setSuccessful(true);
  
  
  
  1.41      +6 -5      
jakarta-jmeter/src/core/org/apache/jmeter/samplers/SampleResult.java
  
  Index: SampleResult.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/samplers/SampleResult.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- SampleResult.java 12 Jul 2005 20:50:56 -0000      1.40
  +++ SampleResult.java 15 Aug 2005 20:33:07 -0000      1.41
  @@ -142,7 +142,7 @@
   
        private int sampleCount = 1;
   
  -     private int bytes = 0;
  +     private int contentLength = 0;
   
        // TODO do contentType and/or dataEncoding belong in HTTPSampleResult
        // instead?
  @@ -380,6 +380,7 @@
         */
        public void setResponseData(byte[] response) {
                responseData = response;
  +             setContentLength(response.length);
        }
   
        /**
  @@ -680,8 +681,8 @@
         * 
         * @param length
         */
  -     public void setBytes(int length) {
  -             bytes = length;
  +     public void setContentLength(int length) {
  +             contentLength = length;
        }
   
        /**
  @@ -689,8 +690,8 @@
         * 
         * @return
         */
  -     public int getBytes() {
  -             return bytes;
  +     public int getContentLength() {
  +             return contentLength;
        }
   
        // //////////////////////////// Start of Test Code
  
  
  
  1.24      +8 -2      
jakarta-jmeter/src/components/org/apache/jmeter/modifiers/CounterConfig.java
  
  Index: CounterConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/modifiers/CounterConfig.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- CounterConfig.java        12 Jul 2005 20:50:57 -0000      1.23
  +++ CounterConfig.java        15 Aug 2005 20:33:07 -0000      1.24
  @@ -132,4 +132,10 @@
        public String getVarName() {
                return getPropertyAsString(VAR_NAME);
        }
  +
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationEnd(org.apache.jmeter.engine.event.LoopIterationEvent)
  +      */
  +     public void iterationEnd(LoopIterationEvent iterEvent) {
  +     }
   }
  
  
  
  1.25      +8 -2      
jakarta-jmeter/src/components/org/apache/jmeter/modifiers/UserParameters.java
  
  Index: UserParameters.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/modifiers/UserParameters.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- UserParameters.java       12 Jul 2005 20:50:57 -0000      1.24
  +++ UserParameters.java       15 Aug 2005 20:33:07 -0000      1.25
  @@ -159,6 +159,12 @@
                }
        }
   
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationEnd(org.apache.jmeter.engine.event.LoopIterationEvent)
  +      */
  +     public void iterationEnd(LoopIterationEvent iterEvent) {
  +     }
  +
        /*
         * (non-Javadoc) A new instance is created for each thread group, and 
the
         * clone() method is then called to create copies for each thread in a
  
  
  
  1.1                  
jakarta-jmeter/src/components/org/apache/jmeter/assertions/CompareAssertionResources.properties
  
  Index: CompareAssertionResources.properties
  ===================================================================
  displayName=Compare Assertion
  compareChoices.displayName=Select Comparison Operators
  compareContent.displayName=Compare Content
  compareContent.shortDescription=Verify that all Samplers within the 
Controller return the same data
  compareTime.displayName=Compare Time
  compareTime.shortDescription=Verify that all Samplers' return times are 
within a given number of milliseconds
  
  
  1.1                  
jakarta-jmeter/src/components/org/apache/jmeter/assertions/CompareAssertionBeanInfo.java
  
  Index: CompareAssertionBeanInfo.java
  ===================================================================
  package org.apache.jmeter.assertions;
  
  import java.beans.PropertyDescriptor;
  
  import org.apache.jmeter.testbeans.BeanInfoSupport;
  
  public class CompareAssertionBeanInfo extends BeanInfoSupport {
  
        public CompareAssertionBeanInfo() {
                super(CompareAssertion.class);
                createPropertyGroup("compareChoices", new String[] { 
"compareContent", "compareTime" });
                PropertyDescriptor p = property("compareContent");
                p.setValue(NOT_UNDEFINED, Boolean.TRUE);
                p.setValue(DEFAULT, Boolean.TRUE);
                p.setValue(NOT_EXPRESSION, Boolean.TRUE);
                p = property("compareTime");
                p.setValue(NOT_UNDEFINED, Boolean.TRUE);
                p.setValue(DEFAULT, new Long(-1));
                p.setValue(NOT_EXPRESSION, Boolean.FALSE);              
        }
  
  }
  
  
  
  1.1                  
jakarta-jmeter/src/components/org/apache/jmeter/assertions/CompareAssertion.java
  
  Index: CompareAssertion.java
  ===================================================================
  package org.apache.jmeter.assertions;
  
  import java.io.Serializable;
  import java.io.UnsupportedEncodingException;
  import java.util.Iterator;
  import java.util.LinkedList;
  import java.util.List;
  
  import org.apache.jmeter.engine.event.LoopIterationEvent;
  import org.apache.jmeter.engine.event.LoopIterationListener;
  import org.apache.jmeter.samplers.SampleResult;
  import org.apache.jmeter.testbeans.TestBean;
  import org.apache.jmeter.testelement.AbstractTestElement;
  import org.apache.jorphan.logging.LoggingManager;
  import org.apache.log.Logger;
  
  public class CompareAssertion extends AbstractTestElement implements 
Assertion, TestBean, Serializable,
                LoopIterationListener {
        static Logger log = LoggingManager.getLoggerForClass();
        transient List responses;
  
        transient boolean iterationDone = false;
  
        private boolean compareContent = true;
  
        private long compareTime = -1;
  
        public CompareAssertion() {
                super();
        }
  
        public AssertionResult getResult(SampleResult response) {
                log.info("get assertion result for sample");
                responses.add(response);
                if (responses.size() > 1) {
                        AssertionResult result = new 
AssertionResult(false,false,null);
                        compareContent(result);
                        compareTime(result);
                        return result;
                } else
                        return new AssertionResult(false, false, null);
        }
        
        protected void compareTime(AssertionResult result)
        {
                if(compareTime > -1)
                {
                        Iterator iter = responses.iterator();
                        long prevTime = -1;
                        SampleResult prevResult = null;
                        boolean success = true;
                        while (iter.hasNext()) {
                                SampleResult sResult = (SampleResult) 
iter.next();
                                long currentTime = sResult.getTime();
                                if (prevTime != -1)
                                {
                                        success = Math.abs(prevTime - 
currentTime) < compareTime;
                                        prevResult = sResult;
                                }
                                if (!success) {
                                        result.setFailure(true);
                                        StringBuffer message = new 
StringBuffer("##################\n");
                                        message.append("From Request: ");
                                        message.append(prevResult.toString());
                                        message.append("\n\n");
                                        message.append("Response Time = ");
                                        message.append(prevTime);
                                        message.append("\n\n");
                                        message.append("Not Close Enough To: 
\n\n");
                                        message.append("From Request: ");
                                        message.append(sResult.toString());
                                        message.append("\n\n");
                                        message.append("Response Time = ");
                                        message.append(currentTime);
                                        message.append("/n/n");
                                        
message.append("==============================\n\n");
                                        
result.setFailureMessage(message.toString());
                                        break;
                                }
                                prevResult = sResult;
                                prevTime = currentTime;
                        }
                }
        }
  
        protected void compareContent(AssertionResult result) {
                if (compareContent) {
                        Iterator iter = responses.iterator();
                        String prevContent = null;
                        SampleResult prevResult = null;
                        boolean success = true;
                        while (iter.hasNext()) {
                                SampleResult sResult = (SampleResult) 
iter.next();
                                String currentContent;
                                try {
                                        currentContent = new 
String(sResult.getResponseData(), sResult.getDataEncoding());
                                } catch (UnsupportedEncodingException e) {
                                        result.setError(true);
                                        result.setFailureMessage("Unsupported 
Encoding Exception: " +sResult.getDataEncoding());
                                        return;
                                }
                                if (prevContent != null)
                                {
                                        success = 
prevContent.equals(currentContent);
                                }
                                if (!success) {
                                        result.setFailure(true);
                                        StringBuffer message = new 
StringBuffer("##################\n");
                                        message.append("From Request: ");
                                        message.append(prevResult.toString());
                                        message.append("\n\n");
                                        message.append(prevContent);
                                        message.append("\n\n");
                                        message.append("Not Equal To: \n\n");
                                        message.append("From Request: ");
                                        message.append(sResult.toString());
                                        message.append("\n\n");
                                        message.append(currentContent);
                                        message.append("/n/n");
                                        
message.append("==============================\n\n");
                                        
result.setFailureMessage(message.toString());
                                        break;
                                }
                                prevResult = sResult;
                                prevContent = currentContent;
                        }
                }
        } 
        
        /*
                 * (non-Javadoc)
                 * 
                 * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationStart(org.apache.jmeter.engine.event.LoopIterationEvent)
                 */
        public void iterationStart(LoopIterationEvent iterEvent) {
                log.info("iteration started for compare Assertion");
                responses = new LinkedList();
        }
  
        /*
         * (non-Javadoc)
         * 
         * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationEnd(org.apache.jmeter.engine.event.LoopIterationEvent)
         */
        public void iterationEnd(LoopIterationEvent iterEvent) {
                log.info("iteration ended for compare Assertion");
                responses = null;
        }
  
        /**
         * @return Returns the compareContent.
         */
        public boolean isCompareContent() {
                return compareContent;
        }
  
        /**
         * @param compareContent The compareContent to set.
         */
        public void setCompareContent(boolean compareContent) {
                this.compareContent = compareContent;
        }
  
        /**
         * @return Returns the compareTime.
         */
        public long getCompareTime() {
                return compareTime;
        }
  
        /**
         * @param compareTime The compareTime to set.
         */
        public void setCompareTime(long compareTime) {
                this.compareTime = compareTime;
        }
  
  }
  
  
  
  1.9       +9 -2      
jakarta-jmeter/src/core/org/apache/jmeter/assertions/AssertionResult.java
  
  Index: AssertionResult.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/assertions/AssertionResult.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AssertionResult.java      12 Jul 2005 20:51:09 -0000      1.8
  +++ AssertionResult.java      15 Aug 2005 20:33:07 -0000      1.9
  @@ -42,6 +42,13 @@
         */
        public AssertionResult() {
        }
  +     
  +     public AssertionResult(boolean failure,boolean error,String message)
  +     {
  +             setFailure(failure);
  +             setError(error);
  +             setFailureMessage(message);
  +     }
   
        /**
         * Check if the assertion failed. If it failed, the failure message may 
give
  
  
  
  1.62      +5 -2      
jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java
  
  Index: JMeterThread.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- JMeterThread.java 4 Aug 2005 21:15:21 -0000       1.61
  +++ JMeterThread.java 15 Aug 2005 20:33:07 -0000      1.62
  @@ -498,6 +498,9 @@
                public void iterationStart(LoopIterationEvent iterEvent) {
                        notifyTestListeners();
                }
  +             
  +             public void iterationEnd(LoopIterationEvent iterEvent)
  +             {}
        }
   
        /**
  
  
  
  1.2       +1 -1      jakarta-jmeter/bin/testfiles/RenderTreeTest.jmx
  
  Index: RenderTreeTest.jmx
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/testfiles/RenderTreeTest.jmx,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RenderTreeTest.jmx        26 Apr 2005 00:16:50 -0000      1.1
  +++ RenderTreeTest.jmx        15 Aug 2005 20:33:07 -0000      1.2
  @@ -191,4 +191,4 @@
         </hashTree>
       </hashTree>
     </hashTree>
  -</jmeterTestPlan>
  \ No newline at end of file
  +</jmeterTestPlan>
  
  
  
  No                   revision
  
  Index: RenderTreeTest.jmx
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/testfiles/RenderTreeTest.jmx,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RenderTreeTest.jmx        26 Apr 2005 00:16:50 -0000      1.1
  +++ RenderTreeTest.jmx        15 Aug 2005 20:33:07 -0000      1.2
  @@ -191,4 +191,4 @@
         </hashTree>
       </hashTree>
     </hashTree>
  -</jmeterTestPlan>
  \ No newline at end of file
  +</jmeterTestPlan>
  
  
  
  No                   revision
  
  Index: RenderTreeTest.jmx
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/testfiles/RenderTreeTest.jmx,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RenderTreeTest.jmx        26 Apr 2005 00:16:50 -0000      1.1
  +++ RenderTreeTest.jmx        15 Aug 2005 20:33:07 -0000      1.2
  @@ -191,4 +191,4 @@
         </hashTree>
       </hashTree>
     </hashTree>
  -</jmeterTestPlan>
  \ No newline at end of file
  +</jmeterTestPlan>
  
  
  
  1.2       +1 -1      jakarta-jmeter/bin/testfiles/GuiTest_2.jmx
  
  Index: GuiTest_2.jmx
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/testfiles/GuiTest_2.jmx,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GuiTest_2.jmx     18 Jun 2004 00:44:45 -0000      1.1
  +++ GuiTest_2.jmx     15 Aug 2005 20:33:07 -0000      1.2
  @@ -6955,4 +6955,4 @@
       </order>
     </testPlan>
     <version>2.0.20040612</version>
  -</jmeterTestPlan>
  \ No newline at end of file
  +</jmeterTestPlan>
  
  
  
  1.8       +3 -3      
jakarta-jmeter/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java
  
  Index: SamplingStatCalculator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SamplingStatCalculator.java       12 Jul 2005 20:51:00 -0000      1.7
  +++ SamplingStatCalculator.java       15 Aug 2005 20:33:07 -0000      1.8
  @@ -212,7 +212,7 @@
                        // in case the sampler doesn't return the contents
                        // we see if the bytes was set
                        if (res.getResponseData() == null || 
res.getResponseData().length == 0) {
  -                             byteslength = res.getBytes();
  +                             byteslength = res.getContentLength();
                        } else {
                                byteslength = res.getResponseData().length;
                        }
  
  
  
  1.20      +8 -2      
jakarta-jmeter/src/components/org/apache/jmeter/timers/ConstantTimer.java
  
  Index: ConstantTimer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/timers/ConstantTimer.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- ConstantTimer.java        12 Jul 2005 20:51:05 -0000      1.19
  +++ ConstantTimer.java        15 Aug 2005 20:33:07 -0000      1.20
  @@ -106,6 +106,12 @@
   
        }
   
  +     /* (non-Javadoc)
  +      * @see 
org.apache.jmeter.engine.event.LoopIterationListener#iterationEnd(org.apache.jmeter.engine.event.LoopIterationEvent)
  +      */
  +     public void iterationEnd(LoopIterationEvent iterEvent) {
  +     }
  +
        /*
         * This method doesn't appear to be used anymore. [EMAIL PROTECTED] 02
         * May 2003
  
  
  
  1.5       +3 -0      
jakarta-jmeter/src/components/org/apache/jmeter/config/CSVDataSet.java
  
  Index: CSVDataSet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/config/CSVDataSet.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- CSVDataSet.java   12 Jul 2005 20:51:06 -0000      1.4
  +++ CSVDataSet.java   15 Aug 2005 20:33:08 -0000      1.5
  @@ -70,6 +70,9 @@
                        log.error("Failed to read file: " + getFilename());
                }
        }
  +     
  +     public void iterationEnd(LoopIterationEvent iterEvent)
  +     {}
   
        /**
         * @return Returns the filename.
  
  
  
  1.38      +1 -1      
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.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- JMeterVersion.java        12 Jul 2005 20:50:44 -0000      1.37
  +++ JMeterVersion.java        15 Aug 2005 20:33:08 -0000      1.38
  @@ -41,7 +41,7 @@
         * JMeterUtils This ensures that JMeterUtils always gets the correct
         * version, even if it is not re-compiled during the build.
         */
  -     private static final String VERSION = "2.1.20050630";
  +     private static final String VERSION = "2.1.20050815";
   
        static final String COPYRIGHT = "Copyright (c) 1998-2005 The Apache 
Software Foundation";
   
  
  
  

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

Reply via email to