mstover1    2002/07/16 10:58:03

  Modified:    src_1/org/apache/jmeter/config Arguments.java
               src_1/org/apache/jmeter/config/gui ArgumentsPanel.java
               src_1/org/apache/jmeter/control/gui TestPlanGui.java
               src_1/org/apache/jmeter/engine PreCompiler.java
               src_1/org/apache/jmeter/protocol/http/sampler
                        HTTPSampler.java HTTPSamplerFull.java
               src_1/org/apache/jmeter/resources messages.properties
                        messages_ja.properties messages_no.properties
               src_1/org/apache/jmeter/testelement TestPlan.java
               src_1/org/apache/jmeter/visualizers RunningSample.java
                        StatVisualizer.java StatVisualizerModel.java
  Log:
  User Defined Variables GUI on Test Plan object functional
  Bug fix to Aggregate Visualizer (contributed by Derek Baum)
  
  Revision  Changes    Path
  1.4       +20 -4     jakarta-jmeter/src_1/org/apache/jmeter/config/Arguments.java
  
  Index: Arguments.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/Arguments.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Arguments.java    18 Jun 2002 01:01:13 -0000      1.3
  +++ Arguments.java    16 Jul 2002 17:58:02 -0000      1.4
  @@ -53,10 +53,14 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.config;
  -import java.io.*;
  -import java.util.*;
  +import java.io.Serializable;
  +import java.util.ArrayList;
  +import java.util.HashMap;
  +import java.util.Iterator;
  +import java.util.List;
  +import java.util.Map;
  +
   import org.apache.jmeter.testelement.AbstractTestElement;
  -import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   
   /****************************************
  @@ -92,6 +96,18 @@
        public List getArguments()
        {
                return (List)getProperty(ARGUMENTS);
  +     }
  +     
  +     public Map getArgumentsAsMap()
  +     {
  +             Iterator iter = getArguments().iterator();
  +             Map argMap = new HashMap();
  +             while(iter.hasNext())
  +             {
  +                     Argument arg = (Argument)iter.next();
  +                     argMap.put(arg.getName(),arg.getValue());
  +             }
  +             return argMap;
        }
   
        /****************************************
  
  
  
  1.8       +17 -24    
jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java
  
  Index: ArgumentsPanel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ArgumentsPanel.java       29 May 2002 22:41:53 -0000      1.7
  +++ ArgumentsPanel.java       16 Jul 2002 17:58:02 -0000      1.8
  @@ -80,8 +80,8 @@
        JButton add;
        JButton delete;
        InnerTableModel tableModel;
  -     JPanel innerPanel;
        String name;
  +     JLabel tableLabel;
   
        private static String ADD = "add";
        private static String DELETE = "delete";
  @@ -91,7 +91,13 @@
         ***************************************/
        public ArgumentsPanel()
        {
  +             this(JMeterUtils.getResString("paramtable"));
  +     }
  +     
  +     public ArgumentsPanel(String label)
  +     {
                tableModel = new InnerTableModel();
  +             tableLabel = new JLabel(label);
                init();
        }
   
  @@ -234,10 +240,6 @@
         ***************************************/
        public void addInnerPanel()
        {
  -             innerPanel = new JPanel();
  -             innerPanel.setLayout(new VerticalLayout());
  -             innerPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
  -
                table = new JTable(tableModel);
                table.setEnabled(true);
                table.addFocusListener(this);
  @@ -252,14 +254,6 @@
                scroller.setPreferredSize(tableDim);
                scroller.setColumnHeaderView(table.getTableHeader());
   
  -             JPanel innerPanel2 = new JPanel();
  -             innerPanel2.setLayout(new BoxLayout(innerPanel2, BoxLayout.X_AXIS));
  -             innerPanel2.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
  -             innerPanel2.add(Box.createRigidArea(new Dimension(20, 0)));
  -             innerPanel2.add(scroller);
  -
  -             innerPanel.add(innerPanel2);
  -
                add = new JButton(JMeterUtils.getResString("add"));
                add.setActionCommand(ADD);
                add.setEnabled(true);
  @@ -275,9 +269,9 @@
                delete.addActionListener(this);
                buttonPanel.add(add);
                buttonPanel.add(delete);
  -             innerPanel.add(buttonPanel);
   
  -             this.add(innerPanel);
  +             this.add(scroller,BorderLayout.CENTER);
  +             this.add(buttonPanel,BorderLayout.SOUTH);
        }
   
        private void checkDeleteStatus() {
  @@ -294,7 +288,7 @@
   
        /****************************************
         * !ToDo (Method description)
  -      ***************************************/
  +      **************************************
        public void removeInnerPanel()
        {
                table.setEnabled(false);
  @@ -305,16 +299,15 @@
   
                this.remove(innerPanel);
                innerPanel = null;
  -     }
  +     }*/
   
        private void init()
        {
  -             this.setLayout(new VerticalLayout(1, VerticalLayout.LEFT));
  +             this.setLayout(new BorderLayout(0,0));
                this.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
  -
  -             JLabel sendLabel = new JLabel(JMeterUtils.getResString("paramtable"));
  -
  -             this.add(sendLabel);
  +             JPanel labelPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
  +             labelPanel.add(tableLabel);
  +             this.add(labelPanel,BorderLayout.NORTH);
                this.addInnerPanel();
        }
   
  
  
  
  1.5       +27 -9     
jakarta-jmeter/src_1/org/apache/jmeter/control/gui/TestPlanGui.java
  
  Index: TestPlanGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/control/gui/TestPlanGui.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TestPlanGui.java  13 Jun 2002 00:45:16 -0000      1.4
  +++ TestPlanGui.java  16 Jul 2002 17:58:02 -0000      1.5
  @@ -1,21 +1,22 @@
   package org.apache.jmeter.control.gui;
  -import java.awt.Insets;
  +import java.awt.BorderLayout;
   import java.util.Collection;
   
  +import javax.swing.BorderFactory;
   import javax.swing.JCheckBox;
  -import javax.swing.JLabel;
   import javax.swing.JMenu;
  +import javax.swing.JPanel;
   import javax.swing.JPopupMenu;
   import javax.swing.JTextArea;
  +import org.apache.jmeter.config.Arguments;
  +import org.apache.jmeter.config.gui.ArgumentsPanel;
   import org.apache.jmeter.gui.AbstractJMeterGuiComponent;
   import org.apache.jmeter.gui.util.MenuFactory;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.AbstractTestElement;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.TestPlan;
   import org.apache.jmeter.threads.gui.ThreadGroupGui;
   import org.apache.jmeter.util.JMeterUtils;
  -import javax.swing.BorderFactory;
   
   
   /****************************************
  @@ -29,6 +30,7 @@
   public class TestPlanGui extends AbstractJMeterGuiComponent
   {
        JCheckBox functionalMode;
  +     ArgumentsPanel argsPanel;
   
        /****************************************
         * !ToDo (Constructor description)
  @@ -72,6 +74,7 @@
                tp.setProperty(TestElement.TEST_CLASS, TestPlan.class.getName());
                tp.setName(getName());
                tp.setFunctionalMode(functionalMode.isSelected());
  +             tp.setUserDefinedVariables((Arguments)argsPanel.createTestElement());
                return tp;
        }
   
  @@ -105,17 +108,32 @@
                super.configure(el);
                
functionalMode.setSelected(((AbstractTestElement)el).getPropertyAsBoolean(TestPlan.FUNCTIONAL_MODE));
        }
  +     
  +     /****************************************
  +      * !ToDoo (Method description)
  +      *
  +      *@return   !ToDo (Return description)
  +      ***************************************/
  +     protected JPanel getVariablePanel()
  +     {
  +             argsPanel = new 
ArgumentsPanel(JMeterUtils.getResString("user_defined_variables"));
  +
  +             return argsPanel;
  +     }
   
        private void init() {
  -             this.setLayout(new VerticalLayout(5,VerticalLayout.LEFT));
  +             this.setLayout(new BorderLayout(10,10));
                this.setBorder(BorderFactory.createEmptyBorder(5,10,5,5));
  -             this.add(getNamePanel());
  +             this.add(getNamePanel(),BorderLayout.NORTH);
  +             JPanel southPanel = new JPanel(new BorderLayout());
                functionalMode = new 
JCheckBox(JMeterUtils.getResString("functional_mode"));
  -             add(functionalMode);
  +             southPanel.add(functionalMode,BorderLayout.NORTH);
                JTextArea explain = new 
JTextArea(JMeterUtils.getResString("functional_mode_explanation"));
                explain.setColumns(30);
                explain.setRows(10);
                explain.setBackground(this.getBackground());
  -             add(explain);
  +             southPanel.add(explain,BorderLayout.CENTER);
  +             add(getVariablePanel(),BorderLayout.CENTER);
  +             add(southPanel,BorderLayout.SOUTH);
        }
   }
  
  
  
  1.2       +1 -1      jakarta-jmeter/src_1/org/apache/jmeter/engine/PreCompiler.java
  
  Index: PreCompiler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/PreCompiler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PreCompiler.java  12 Jul 2002 02:05:49 -0000      1.1
  +++ PreCompiler.java  16 Jul 2002 17:58:03 -0000      1.2
  @@ -33,7 +33,7 @@
        public void addNode(Object node, ListedHashTree subTree) {
                if(node instanceof TestPlan)
                {
  -                     
masterFunction.setUserDefinedVariables(((TestPlan)node).getUserDefinedValues());
  +                     
masterFunction.setUserDefinedVariables(((TestPlan)node).getUserDefinedVariables());
                }
                if(node instanceof TestElement)
                {
  
  
  
  1.17      +12 -3     
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
  
  Index: HTTPSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- HTTPSampler.java  29 Jun 2002 00:37:00 -0000      1.16
  +++ HTTPSampler.java  16 Jul 2002 17:58:03 -0000      1.17
  @@ -647,6 +647,7 @@
                        // behaves.  That's not to say it's perfect as is...
                }
                URL u = null;
  +             HttpURLConnection conn = null;
                try
                {
                        u = url.getUrl();
  @@ -662,7 +663,7 @@
                        {
                                catClass.debug("sample2 : sampling url - " + u);
                        }
  -                     HttpURLConnection conn = setupConnection(u, url);
  +                     conn = setupConnection(u, url);
                        // [Jordi <[EMAIL PROTECTED]>]
                        // There's some illegality here... see my comment in 
sendPostData.
                        // Also, we don't seem to be including the time needed to send 
the POST
  @@ -726,6 +727,14 @@
                        res.setResponseMessage(NON_HTTP_RESPONSE_MESSAGE);
                        res.setTime(System.currentTimeMillis() - time);
                        res.setSuccessful(false);
  +             }
  +             finally
  +             {
  +                     try
  +                     {
  +                             conn.disconnect();
  +                     }
  +                     catch(Exception e){}
                }
                catClass.debug("End : sample2");
                return res;
  
  
  
  1.10      +47 -35    
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSamplerFull.java
  
  Index: HTTPSamplerFull.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSamplerFull.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- HTTPSamplerFull.java      18 Jun 2002 01:01:14 -0000      1.9
  +++ HTTPSamplerFull.java      16 Jul 2002 17:58:03 -0000      1.10
  @@ -356,42 +356,54 @@
                  catClass.debug("loadBinary1 : error in setupConnection " + 
exception);
                }
         }
  -      long time = System.currentTimeMillis();
  -      if(catClass.isDebugEnabled())
  +      try
         {
  -             catClass.debug("loadBinary1 : start sampling time - " + time);
  +              long time = System.currentTimeMillis();
  +              if(catClass.isDebugEnabled())
  +              {
  +                     catClass.debug("loadBinary1 : start sampling time - " + time);
  +              }
  +              int errorLevel = getErrorLevel(conn, res);
  +              if (errorLevel == 2)
  +              {
  +                     ret = readResponse(conn);
  +                     res.setSuccessful(true);
  +                     long endTime = System.currentTimeMillis();
  +                     if(catClass.isDebugEnabled())
  +                     {
  +                       catClass.debug("loadBinary1 : end sampling time - " + 
endTime);
  +                     }
  +                     res.setTime(endTime - time);
  +              }
  +              else
  +              {
  +                     res.setSuccessful(false);
  +                     int responseCode = ((HttpURLConnection)conn).getResponseCode();
  +                     String responseMessage = 
((HttpURLConnection)conn).getResponseMessage();
  +                     catClass.error("loadBinary1 : failed response code - " +
  +                       responseCode);
  +                     catClass.error("loadBinary1 : failed response message - " +
  +                       responseMessage);
  +              }
  +              if(catClass.isDebugEnabled())
  +              {
  +                     catClass.debug("loadBinary1 : binary - " + ret[0]+ret[1]);
  +                     catClass.debug("loadBinary1 : loadTime - " + res.getTime());
  +              }
  +              catClass.debug("End : loadBinary1");
  +              res.setResponseData(ret);
  +              res.setDataType(SampleResult.BINARY);
  +              return ret;
         }
  -      int errorLevel = getErrorLevel(conn, res);
  -      if (errorLevel == 2)
  +      finally
         {
  -             ret = readResponse(conn);
  -             res.setSuccessful(true);
  -             long endTime = System.currentTimeMillis();
  -             if(catClass.isDebugEnabled())
  -             {
  -               catClass.debug("loadBinary1 : end sampling time - " + endTime);
  -             }
  -             res.setTime(endTime - time);
  +             try
  +             {
  +                     conn.disconnect();
  +             }
  +             catch(Exception e){}
         }
  -      else
  -      {
  -             res.setSuccessful(false);
  -             int responseCode = ((HttpURLConnection)conn).getResponseCode();
  -             String responseMessage = 
((HttpURLConnection)conn).getResponseMessage();
  -             catClass.error("loadBinary1 : failed response code - " +
  -               responseCode);
  -             catClass.error("loadBinary1 : failed response message - " +
  -               responseMessage);
  -      }
  -      if(catClass.isDebugEnabled())
  -      {
  -             catClass.debug("loadBinary1 : binary - " + ret[0]+ret[1]);
  -             catClass.debug("loadBinary1 : loadTime - " + res.getTime());
  -      }
  -      catClass.debug("End : loadBinary1");
  -      res.setResponseData(ret);
  -      res.setDataType(SampleResult.BINARY);
  -      return ret;
  +      
     }
   
     /**
  
  
  
  1.23      +2 -1      
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- messages.properties       11 Jul 2002 00:57:15 -0000      1.22
  +++ messages.properties       16 Jul 2002 17:58:03 -0000      1.23
  @@ -247,4 +247,5 @@
   stopping_test_title=Stopping Test
   stopping_test=Shutting down all test threads.  Please be patient.
   soap_sampler_title=Soap/XML-RPC Sampler (Alpha code)
  -soap_data_title=Soap/XML-RPC Data
  \ No newline at end of file
  +soap_data_title=Soap/XML-RPC Data
  +user_defined_variables=User Defined Variables
  \ No newline at end of file
  
  
  
  1.23      +2 -1      
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties
  
  Index: messages_ja.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- messages_ja.properties    12 Jul 2002 02:05:49 -0000      1.22
  +++ messages_ja.properties    16 Jul 2002 17:58:03 -0000      1.23
  @@ -248,4 +248,5 @@
   stopping_test_title=Stopping Test
   stopping_test=Shutting down all test threads.  Please be patient.
   soap_sampler_title=Soap/XML-RPC Sampler (Alpha code)
  -soap_data_title=Soap/XML-RPC Data
  \ No newline at end of file
  +soap_data_title=Soap/XML-RPC Data
  +user_defined_variables=User Defined Variables
  \ No newline at end of file
  
  
  
  1.22      +2 -1      
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties
  
  Index: messages_no.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- messages_no.properties    11 Jul 2002 00:57:15 -0000      1.21
  +++ messages_no.properties    16 Jul 2002 17:58:03 -0000      1.22
  @@ -240,4 +240,5 @@
   stopping_test_title=Stopping Test
   stopping_test=Shutting down all test threads.  Please be patient.
   soap_sampler_title=Soap/XML-RPC Sampler (Alpha code)
  -soap_data_title=Soap/XML-RPC Data
  \ No newline at end of file
  +soap_data_title=Soap/XML-RPC Data
  +user_defined_variables=User Defined Variables
  \ No newline at end of file
  
  
  
  1.8       +17 -5     jakarta-jmeter/src_1/org/apache/jmeter/testelement/TestPlan.java
  
  Index: TestPlan.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/testelement/TestPlan.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TestPlan.java     12 Jul 2002 02:05:49 -0000      1.7
  +++ TestPlan.java     16 Jul 2002 17:58:03 -0000      1.8
  @@ -6,6 +6,7 @@
   import java.util.List;
   import java.util.Map;
   
  +import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.ConfigElement;
   import org.apache.jmeter.threads.ThreadGroup;
   import org.apache.jmeter.util.JMeterUtils;
  @@ -25,6 +26,7 @@
         ***************************************/
        public final static String THREAD_GROUPS = "TestPlan.thread_groups";
        public final static String FUNCTIONAL_MODE = "TestPlan.functional_mode";
  +     public final static String USER_DEFINED_VARIABLES = 
"TestPlan.user_defined_variables";
   
        private List threadGroups = new LinkedList();
        private List configs = new LinkedList();
  @@ -54,6 +56,21 @@
                return getPropertyAsBoolean(FUNCTIONAL_MODE);
        }
        
  +     public void setUserDefinedVariables(Arguments vars)
  +     {
  +             setProperty(USER_DEFINED_VARIABLES,vars);
  +     }
  +     
  +     public Map getUserDefinedVariables()
  +     {
  +             Arguments args = (Arguments)getProperty(USER_DEFINED_VARIABLES);
  +             if(args != null)
  +             {
  +                     return args.getArgumentsAsMap();
  +             }
  +             return new HashMap();
  +     }
  +     
        public void setFunctionalMode(boolean funcMode)
        {
                setProperty(FUNCTIONAL_MODE,new Boolean(funcMode));
  @@ -73,11 +90,6 @@
        public void addParameter(String name,String value)
        {
                userDefinedVariables.put(name,value);
  -     }
  -     
  -     public Map getUserDefinedValues()
  -     {
  -             return userDefinedVariables;
        }
   
        /****************************************
  
  
  
  1.5       +12 -4     
jakarta-jmeter/src_1/org/apache/jmeter/visualizers/RunningSample.java
  
  Index: RunningSample.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/RunningSample.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RunningSample.java        1 May 2002 23:48:53 -0000       1.4
  +++ RunningSample.java        16 Jul 2002 17:58:03 -0000      1.5
  @@ -57,6 +57,8 @@
   // java
   import java.text.DecimalFormat;
   
  +import org.apache.jmeter.samplers.SampleResult;
  +
   
   /**
    * Title:        RunningSample.java
  @@ -78,6 +80,7 @@
       private long max, min;
       private long errorCount;
       private long firstTime;
  +    private long lastTime;
   
       /**
        * use this constructor.
  @@ -89,6 +92,7 @@
           min = Long.MAX_VALUE;
           errorCount = 0L;
           firstTime = 0L;
  +        lastTime = 0L;
       }
   
       /**
  @@ -101,7 +105,7 @@
        * @return a String representation of the rate the samples are being taken at.
        */
       public String getRateString() {
  -        long howLongRunning = System.currentTimeMillis() - firstTime;
  +        long howLongRunning = lastTime - firstTime;
   
           if (howLongRunning == 0) return ("N/A");
           double samplesPerSecond = ((double) counter / ((double) howLongRunning / 
1000.0));
  @@ -130,11 +134,15 @@
        * @arg aTimeInMillis Time in milliseconds that this sample took to process
        * @arg aSuccessFlag Flag for if this sample was successful or not
        */
  -    public synchronized void addSample(long aTimeInMillis, boolean aSuccessFlag) {
  +    public synchronized void addSample(SampleResult res) {
  +             long aTimeInMillis = res.getTime();
  +             boolean aSuccessFlag = res.isSuccessful();
  +             lastTime = res.getTimeStamp();
  +
           counter++;
           if (firstTime == 0L) {
  -            // this is our first sample, set the start time to current system time..
  -            firstTime = System.currentTimeMillis();
  +            // this is our first sample, set the start time to current timestamp
  +            firstTime = lastTime;
           }
           runningSum += aTimeInMillis;
           if (aTimeInMillis > max) max = aTimeInMillis;
  
  
  
  1.9       +18 -8     
jakarta-jmeter/src_1/org/apache/jmeter/visualizers/StatVisualizer.java
  
  Index: StatVisualizer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/StatVisualizer.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- StatVisualizer.java       13 Jun 2002 00:45:18 -0000      1.8
  +++ StatVisualizer.java       16 Jul 2002 17:58:03 -0000      1.9
  @@ -71,6 +71,7 @@
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   import org.apache.jmeter.samplers.Clearable;
  +import org.apache.jmeter.testelement.TestElement;
   
   
   /****************************************
  @@ -87,7 +88,6 @@
   
   public class StatVisualizer extends AbstractVisualizer implements Scrollable, 
GraphListener,Clearable
   {
  -
   //    protected NamePanel namePanel;
   
   //    protected GraphAccum graph;
  @@ -254,6 +254,16 @@
        public void updateGui(Sample s)
        {
                updateGui();
  +     }
  +
  +     // overrides AbstractVisualizer
  +     // forces GUI update after sample file has been read
  +     public TestElement createTestElement()
  +     {
  +             TestElement t = super.createTestElement();
  +             sleepTill = 0;
  +             updateGui();
  +             return t;
        }
   
        /****************************************
  
  
  
  1.8       +27 -56    
jakarta-jmeter/src_1/org/apache/jmeter/visualizers/StatVisualizerModel.java
  
  Index: StatVisualizerModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/StatVisualizerModel.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- StatVisualizerModel.java  18 Jun 2002 01:01:14 -0000      1.7
  +++ StatVisualizerModel.java  16 Jul 2002 17:58:03 -0000      1.8
  @@ -180,9 +180,33 @@
         ***************************************/
        public void addNewSample(SampleResult res)
        {
  -             boolean wasSuccessful = res.isSuccessful();
  -             addNewSample(res.getTime(), (String)res.getSampleLabel(), 
wasSuccessful,
  -                             (String)res.getResponseCode());
  +             String aLabel = res.getSampleLabel();
  +             String responseCode = res.getResponseCode();
  +             RunningSample myRS;
  +
  +             if (responseCodeMap.containsKey(responseCode))
  +             {
  +                     long tempLong =
  +                             ((Long)responseCodeMap.get(responseCode)).longValue();
  +                     responseCodeMap.put(responseCode, new Long(++tempLong));
  +             }
  +             else
  +             {
  +                     responseCodeMap.put(responseCode, new Long(1));
  +             }
  +
  +             if (labelMap.containsKey(aLabel))
  +             {
  +                     myRS = (RunningSample)labelMap.get(aLabel);
  +             }
  +             else
  +             {
  +                     // put a new one there..
  +                     myRS = new RunningSample();
  +                     labelMap.put(aLabel, myRS);
  +             }
  +
  +             myRS.addSample(res);
                this.fireDataChanged();
        }
   
  @@ -216,59 +240,6 @@
                        ((GraphListener)myObj).updateGui();
                }
        }
  -
  -     /****************************************
  -      * Adds a feature to the NewSample attribute of the StatVisualizerModel object
  -      *
  -      *@param sample        The feature to be added to the NewSample attribute
  -      *@param aLabel        The feature to be added to the NewSample attribute
  -      *@param isSuccess     The feature to be added to the NewSample attribute
  -      *@param responseCode  The feature to be added to the NewSample attribute
  -      ***************************************/
  -     private void addNewSample(long sample, String aLabel, boolean isSuccess, 
String responseCode)
  -     {
  -
  -             if(responseCodeMap.containsKey(responseCode))
  -             {
  -
  -                     long tempLong = 
((Long)responseCodeMap.get(responseCode)).longValue();
  -
  -                     tempLong++;
  -
  -                     responseCodeMap.put(responseCode, new Long(tempLong));
  -
  -             }
  -             else
  -             {
  -
  -                     responseCodeMap.put(responseCode, new Long(1));
  -
  -             }
  -
  -             RunningSample myRS;
  -
  -             if(labelMap.containsKey(aLabel))
  -             {
  -
  -                     myRS = (RunningSample)labelMap.get(aLabel);
  -
  -             }
  -             else
  -             {
  -
  -                     // put a new one there..
  -
  -                     myRS = new RunningSample();
  -
  -                     labelMap.put(aLabel, myRS);
  -
  -             }
  -
  -             myRS.addSample(sample, isSuccess);
  -
  -
  -     }
  -
   
   }
   
  
  
  

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

Reply via email to