mstover1    2002/07/29 20:02:10

  Modified:    src_1/org/apache/jmeter/config/gui ArgumentsPanel.java
               src_1/org/apache/jmeter/engine StandardJMeterEngine.java
               src_1/org/apache/jmeter/functions CompoundFunction.java
                        Function.java RegexFunction.java
               src_1/org/apache/jmeter/gui/util TextAreaCellRenderer.java
                        TextAreaTableCellEditor.java
               src_1/org/apache/jmeter/protocol/http/config/gui
                        MultipartUrlConfigGui.java UrlConfigGui.java
               src_1/org/apache/jmeter/protocol/http/control/gui
                        HttpTestSampleGui.java
               src_1/org/apache/jmeter/protocol/http/proxy/gui
                        ProxyControlGui.java
               src_1/org/apache/jmeter/protocol/http/sampler
                        HTTPSampler.java
               src_1/org/apache/jmeter/threads JMeterThread.java
                        TestCompiler.java
               src_1/org/apache/jmeter/util JMeterUtils.java
               src_1/org/apache/jmeter/visualizers
                        ViewResultsFullVisualizer.java
  Added:       src_1/org/apache/jmeter/functions IterationCounter.java
                        ThreadNumber.java
               src_1/org/apache/jmeter/threads JMeterVariables.java
  Log:
  trying to improve the GUI
  new functions to grab thread number and iteration number (number of times through 
test plan for each thread)
  Giving access to built-in variables to Functions.
  
  Revision  Changes    Path
  1.11      +33 -13    
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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ArgumentsPanel.java       23 Jul 2002 18:06:30 -0000      1.10
  +++ ArgumentsPanel.java       30 Jul 2002 03:02:09 -0000      1.11
  @@ -53,15 +53,28 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.config.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  +import java.awt.BorderLayout;
  +import java.awt.Dimension;
  +import java.awt.FlowLayout;
  +import java.awt.event.ActionEvent;
  +import java.awt.event.ActionListener;
  +import java.awt.event.FocusEvent;
  +import java.awt.event.FocusListener;
   import java.util.Collection;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import org.apache.jmeter.config.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JButton;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JScrollPane;
  +import javax.swing.JTable;
  +import javax.swing.table.DefaultTableModel;
  +import javax.swing.table.TableCellEditor;
  +
  +import org.apache.jmeter.config.Argument;
  +import org.apache.jmeter.config.Arguments;
  +import org.apache.jmeter.gui.util.TextAreaCellRenderer;
  +import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   
  @@ -157,6 +170,8 @@
                try
                {
                        table.getCellEditor().stopCellEditing();
  +                     table.revalidate();
  +                     table.repaint();
                }
                catch(NullPointerException err){}
        }
  @@ -243,10 +258,15 @@
                table = new JTable(tableModel);
                table.setEnabled(true);
                table.addFocusListener(this);
  -             table.setCellSelectionEnabled(true);
  +             table.setDefaultEditor(String.class,
  +                             new TextAreaTableCellEditor());
  +             TextAreaCellRenderer renderer = new TextAreaCellRenderer();
  +             table.setRowHeight(renderer.getPreferredHeight());
  +             table.setDefaultRenderer(String.class,renderer);
  +             //table.setCellSelectionEnabled(true);
                table.setRowSelectionAllowed(true);
  -             table.setColumnSelectionAllowed(false);
  -             table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  +             //table.setColumnSelectionAllowed(false);
  +             //table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
   
                JScrollPane scroller = new JScrollPane(table);
                Dimension tableDim = scroller.getPreferredSize();
  
  
  
  1.13      +5 -3      
jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java
  
  Index: StandardJMeterEngine.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- StandardJMeterEngine.java 12 Jul 2002 02:05:49 -0000      1.12
  +++ StandardJMeterEngine.java 30 Jul 2002 03:02:09 -0000      1.13
  @@ -65,6 +65,7 @@
   import org.apache.jmeter.testelement.TestPlan;
   import org.apache.jmeter.threads.JMeterThread;
   import org.apache.jmeter.threads.JMeterThreadMonitor;
  +import org.apache.jmeter.threads.JMeterVariables;
   import org.apache.jmeter.threads.TestCompiler;
   import org.apache.jmeter.threads.ThreadGroup;
   import org.apache.jmeter.util.ListedHashTree;
  @@ -137,6 +138,7 @@
                        JMeterThread[] threads;
                        Iterator iter = searcher.getSearchResults().iterator();
                        notifyTestListenersOfStart();
  +                     JMeterVariables.initialize();
                        while(iter.hasNext())
                        {
                                ThreadGroup group = (ThreadGroup)iter.next();
  @@ -148,7 +150,7 @@
                                                        (float)group.getNumThreads()) 
* (float)i));
                                        
threads[i].setThreadName(group.getName()+"-"+(i+1));
                                        Thread newThread = new Thread(threads[i]);
  -                                     newThread.setName(group.getName()+(i+1));
  +                                     newThread.setName(group.getName()+"-"+(i+1));
                                        allThreads.add(threads[i]);
                                        newThread.start();
                                }
  
  
  
  1.4       +29 -3     
jakarta-jmeter/src_1/org/apache/jmeter/functions/CompoundFunction.java
  
  Index: CompoundFunction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/CompoundFunction.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CompoundFunction.java     26 Jul 2002 02:48:46 -0000      1.3
  +++ CompoundFunction.java     30 Jul 2002 03:02:09 -0000      1.4
  @@ -8,9 +8,11 @@
   import java.util.Map;
   
   import junit.framework.TestCase;
  -import org.apache.jmeter.functions.*;
  +
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.samplers.Sampler;
  +import org.apache.jmeter.testelement.PerThreadClonable;
  +import org.apache.jmeter.threads.JMeterVariables;
   import org.apache.jmeter.util.ClassFinder;
   import org.apache.oro.text.perl.Perl5Util;
   import org.apache.oro.text.regex.PatternCompiler;
  @@ -22,7 +24,10 @@
    * To change this generated comment edit the template variable "typecomment":
    * Window>Preferences>Java>Templates.
    */
  -public class CompoundFunction implements Function {
  +public class CompoundFunction implements Function
  +{
  +     
  +     private JMeterVariables threadVars;
        
        static Map functions = new HashMap();
        private Map definedValues;
  @@ -108,6 +113,20 @@
                compiledComponents.clear();
                staticSubstitution = "";
        }
  +     
  +     public void setJMeterVariables(JMeterVariables threadVars)
  +     {
  +             Iterator iter = compiledComponents.iterator();
  +             while(iter.hasNext())
  +             {
  +                     Object item = iter.next();
  +                     if(item instanceof Function)
  +                     {
  +                             ((Function)item).setJMeterVariables(threadVars);
  +                     }
  +             }
  +             this.threadVars = threadVars;
  +     }
   
        /**
         * @see Function#setParameters(String)
  @@ -228,7 +247,14 @@
        
        private String extractParams(String function)
        {
  -             return 
function.substring(function.indexOf("(")+1,function.lastIndexOf(")"));
  +             if(function.indexOf("(") > -1)
  +             {
  +                     return 
function.substring(function.indexOf("(")+1,function.lastIndexOf(")"));
  +             }
  +             else
  +             {
  +                     return "";
  +             }
        }
   
        private int getFunctionEndIndex(String part) {
  
  
  
  1.3       +7 -0      jakarta-jmeter/src_1/org/apache/jmeter/functions/Function.java
  
  Index: Function.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/Function.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Function.java     17 Jul 2002 01:42:13 -0000      1.2
  +++ Function.java     30 Jul 2002 03:02:09 -0000      1.3
  @@ -4,6 +4,7 @@
   
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.samplers.Sampler;
  +import org.apache.jmeter.threads.JMeterVariables;
   
   /**
    * @author mstover
  @@ -52,4 +53,10 @@
         * blank strings, one for each argument.
         */
        public List getArgumentDesc();
  +     
  +     /**
  +      * A means of giving the function access to built-in JMeter data
  +      * such as iteration number, current thread name, etc
  +      */
  +     public void setJMeterVariables(JMeterVariables jmv);
   }
  
  
  
  1.2       +6 -0      
jakarta-jmeter/src_1/org/apache/jmeter/functions/RegexFunction.java
  
  Index: RegexFunction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/RegexFunction.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RegexFunction.java        17 Jul 2002 01:27:46 -0000      1.1
  +++ RegexFunction.java        30 Jul 2002 03:02:09 -0000      1.2
  @@ -9,8 +9,10 @@
   import java.util.Random;
   
   import junit.framework.TestCase;
  +
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.samplers.Sampler;
  +import org.apache.jmeter.threads.JMeterVariables;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.oro.text.regex.MalformedPatternException;
   import org.apache.oro.text.regex.MatchResult;
  @@ -146,6 +148,10 @@
        public String getReferenceKey()
        {
                return KEY;
  +     }
  +     
  +     public void setJMeterVariables(JMeterVariables xxx)
  +     {
        }
        
        public void setParameters(String params) throws InvalidVariableException
  
  
  
  1.1                  
jakarta-jmeter/src_1/org/apache/jmeter/functions/IterationCounter.java
  
  Index: IterationCounter.java
  ===================================================================
  package org.apache.jmeter.functions;
  
  import java.util.Collection;
  import java.util.LinkedList;
  import java.util.List;
  
  import org.apache.jmeter.samplers.SampleResult;
  import org.apache.jmeter.samplers.Sampler;
  import org.apache.jmeter.testelement.PerThreadClonable;
  import org.apache.jmeter.threads.JMeterVariables;
  import org.apache.jmeter.util.JMeterUtils;
  
  /**
   * @author default
   *
   * To change this generated comment edit the template variable "typecomment":
   * Window>Preferences>Java>Templates.
   * To enable and disable the creation of type comments go to
   * Window>Preferences>Java>Code Generation.
   */
  public class IterationCounter extends AbstractFunction
  {
        private JMeterVariables vars;
        private static int counter;
        private static final List desc = new LinkedList();
        private boolean perThread = true;
        
        static
        {
                desc.add(JMeterUtils.getResString("iteration_counter_arg_1"));
        }
        
        private static final String KEY = "__counter";
        
        public IterationCounter()
        {
                counter = 0;
        }
        
        public Object clone()
        {
                IterationCounter newCounter = new IterationCounter();
                return newCounter;
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#execute(SampleResult, Sampler)
         */
        public String execute(SampleResult previousResult, Sampler currentSampler)
                throws InvalidVariableException {
                if(perThread)
                {
                        return Integer.toString(vars.getIteration());
                }
                else
                {
                        return Integer.toString(counter++);
                }
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#setParameters(String)
         */
        public void setParameters(String parameters)
                throws InvalidVariableException {
                        Collection params = this.parseArguments(parameters);
                        String[] values = (String[])params.toArray(new String[0]);
                        perThread = new Boolean(values[0]).booleanValue();
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#getReferenceKey()
         */
        public String getReferenceKey() {
                return KEY;
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#getArgumentDesc()
         */
        public List getArgumentDesc() {
                return new LinkedList();
        }
  
        /**
         * @see 
org.apache.jmeter.functions.Function#setJMeterVariables(JMeterVariables)
         */
        public void setJMeterVariables(JMeterVariables jmv) {
                if(vars == null)
                {
                        vars = jmv;
                }
        }
  
  }
  
  
  
  1.1                  
jakarta-jmeter/src_1/org/apache/jmeter/functions/ThreadNumber.java
  
  Index: ThreadNumber.java
  ===================================================================
  package org.apache.jmeter.functions;
  
  import java.util.LinkedList;
  import java.util.List;
  
  import org.apache.jmeter.samplers.SampleResult;
  import org.apache.jmeter.samplers.Sampler;
  import org.apache.jmeter.threads.JMeterVariables;
  
  /**
   * @author default
   *
   * To change this generated comment edit the template variable "typecomment":
   * Window>Preferences>Java>Templates.
   * To enable and disable the creation of type comments go to
   * Window>Preferences>Java>Code Generation.
   */
  public class ThreadNumber implements Function {
        
        private JMeterVariables vars;
        private static final String KEY = "__threadNum";
  
        /**
         * @see org.apache.jmeter.functions.Function#execute(SampleResult, Sampler)
         */
        public String execute(SampleResult previousResult, Sampler currentSampler)
                throws InvalidVariableException {
                return vars.getThreadName().substring(
                                vars.getThreadName().indexOf("-")+1);
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#setParameters(String)
         */
        public void setParameters(String parameters)
                throws InvalidVariableException {
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#getReferenceKey()
         */
        public String getReferenceKey() {
                return KEY;
        }
  
        /**
         * @see org.apache.jmeter.functions.Function#getArgumentDesc()
         */
        public List getArgumentDesc() {
                return new LinkedList();
        }
  
        /**
         * @see 
org.apache.jmeter.functions.Function#setJMeterVariables(JMeterVariables)
         */
        public void setJMeterVariables(JMeterVariables jmv) {
                vars = jmv;
        }
  
  }
  
  
  
  1.2       +1 -1      
jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaCellRenderer.java
  
  Index: TextAreaCellRenderer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaCellRenderer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TextAreaCellRenderer.java 14 Jun 2002 22:45:16 -0000      1.1
  +++ TextAreaCellRenderer.java 30 Jul 2002 03:02:09 -0000      1.2
  @@ -31,7 +31,7 @@
                {
                        rend.setBackground(JMeterColor.LAVENDER);
                }
  -             if(arg0.getRowHeight(arg4) != getPreferredHeight())
  +             if(arg0.getRowHeight(arg4) < getPreferredHeight())
                {
                        arg0.setRowHeight(arg4,getPreferredHeight());
                }
  
  
  
  1.3       +4 -3      
jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java
  
  Index: TextAreaTableCellEditor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TextAreaTableCellEditor.java      19 Jul 2002 21:35:37 -0000      1.2
  +++ TextAreaTableCellEditor.java      30 Jul 2002 03:02:09 -0000      1.3
  @@ -37,9 +37,10 @@
        editor = new JTextArea(value.toString());
        editor.addFocusListener(this);
        editor.setEnabled(true);
  -     editor.setRows(editor.getRows()+1);
  +     editor.setRows(editor.getRows());
        editor.revalidate();
  -     pane = new JScrollPane(editor);
  +     pane = new JScrollPane(editor,JScrollPane.VERTICAL_SCROLLBAR_NEVER,
  +                     JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        pane.validate();
        return pane;
       }
  @@ -109,7 +110,7 @@
                                return true;
                        }
                }
  -             return false;
  +             return true;
       }
       
       public void removeCellEditorListener(CellEditorListener lis)
  
  
  
  1.6       +33 -25    
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
  
  Index: MultipartUrlConfigGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MultipartUrlConfigGui.java        2 May 2002 22:54:58 -0000       1.5
  +++ MultipartUrlConfigGui.java        30 Jul 2002 03:02:09 -0000      1.6
  @@ -53,21 +53,28 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.http.config.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import java.io.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.config.ConfigTestElement;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.NamePanel;
  +import java.awt.BorderLayout;
  +import java.awt.Font;
  +import java.awt.event.ActionEvent;
  +import java.awt.event.ActionListener;
  +import java.awt.BorderLayout;
  +import java.io.File;
  +import java.util.Collection;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JButton;
  +import javax.swing.JFileChooser;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.gui.util.FileDialoger;
   import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.http.config.MultipartUrlConfig;
  -import org.apache.jmeter.protocol.http.sampler.*;
  +import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  -import java.util.Collection;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  @@ -196,23 +203,24 @@
         ***************************************/
        protected void init()
        {
  -             this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             this.setLayout(new BorderLayout());
   
                // WEB SERVER PANEL
                JPanel webServerPanel = new JPanel();
  -             webServerPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             webServerPanel.setLayout(new BorderLayout());
                
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
 JMeterUtils.getResString("web_server")));
  -             webServerPanel.add(getDomainPanel());
  -             webServerPanel.add(getPortPanel());
  +             webServerPanel.add(getDomainPanel(),BorderLayout.NORTH);
  +             webServerPanel.add(getPortPanel(),BorderLayout.SOUTH);
   
                // WEB REQUEST PANEL
  -             JPanel webRequestPanel = new JPanel();
  -             webRequestPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             JPanel webRequestPanel = new JPanel(new BorderLayout());
  +             JPanel northPanel = new JPanel(new BorderLayout());
                
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
 JMeterUtils.getResString("web_request")));
  -             webRequestPanel.add(getProtocolAndMethodPanel());
  -             webRequestPanel.add(getPathPanel());
  -             webRequestPanel.add(getParameterPanel());
  -             webRequestPanel.add(getFilePanel());
  +             northPanel.add(getProtocolAndMethodPanel(),BorderLayout.NORTH);
  +             northPanel.add(getPathPanel(),BorderLayout.SOUTH);
  +             webRequestPanel.add(northPanel,BorderLayout.NORTH);
  +             webRequestPanel.add(getParameterPanel(),BorderLayout.CENTER);
  +             webRequestPanel.add(getFilePanel(),BorderLayout.SOUTH);
   
                // If displayName is TRUE, then this GUI is not embedded in another 
GUI.
                if(displayName)
  @@ -221,7 +229,7 @@
                        JPanel mainPanel = new JPanel();
                        Border margin = new EmptyBorder(10, 10, 5, 10);
                        mainPanel.setBorder(margin);
  -                     mainPanel.setLayout(new VerticalLayout(5, 
VerticalLayout.LEFT));
  +                     mainPanel.setLayout(new BorderLayout());
   
                        // TITLE
                        JLabel panelTitleLabel = new 
JLabel(JMeterUtils.getResString("url_full_config_title"));
  @@ -242,8 +250,8 @@
                else
                {// Embed this GUI in the parent GUI
   
  -                     this.add(webServerPanel);
  -                     this.add(webRequestPanel);
  +                     this.add(webServerPanel,BorderLayout.NORTH);
  +                     this.add(webRequestPanel,BorderLayout.CENTER);
                }
        }
   
  
  
  
  1.12      +27 -20    
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
  
  Index: UrlConfigGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- UrlConfigGui.java 18 Jul 2002 18:55:53 -0000      1.11
  +++ UrlConfigGui.java 30 Jul 2002 03:02:09 -0000      1.12
  @@ -53,7 +53,9 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.http.config.gui;
  +import java.awt.BorderLayout;
   import java.awt.Dimension;
  +import java.awt.FlowLayout;
   import java.awt.Font;
   
   import javax.swing.BorderFactory;
  @@ -67,6 +69,7 @@
   import javax.swing.JTextField;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.ConfigTestElement;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  @@ -224,20 +227,22 @@
         ***************************************/
        protected void init()
        {
  -             this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             this.setLayout(new BorderLayout());
   
                JPanel webServerPanel = new JPanel();
  -             webServerPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             webServerPanel.setLayout(new BorderLayout());
                
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
 JMeterUtils.getResString("web_server")));
  -             webServerPanel.add(getDomainPanel());
  -             webServerPanel.add(getPortPanel());
  +             webServerPanel.add(getDomainPanel(),BorderLayout.NORTH);
  +             webServerPanel.add(getPortPanel(),BorderLayout.SOUTH);
   
                JPanel webRequestPanel = new JPanel();
  -             webRequestPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             webRequestPanel.setLayout(new BorderLayout());
                
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
 JMeterUtils.getResString("web_request")));
  -             webRequestPanel.add(getProtocolAndMethodPanel());
  -             webRequestPanel.add(getPathPanel());
  -             webRequestPanel.add(getParameterPanel());
  +             JPanel northPanel = new JPanel(new BorderLayout());
  +             northPanel.add(getProtocolAndMethodPanel(),BorderLayout.NORTH);
  +             northPanel.add(getPathPanel(),BorderLayout.SOUTH);
  +             webRequestPanel.add(northPanel,BorderLayout.NORTH);
  +             webRequestPanel.add(getParameterPanel(),BorderLayout.CENTER);
   
                if(displayName)
                {
  @@ -245,7 +250,8 @@
                        JPanel mainPanel = new JPanel();
                        Border margin = new EmptyBorder(10, 10, 5, 10);
                        mainPanel.setBorder(margin);
  -                     mainPanel.setLayout(new VerticalLayout(5, 
VerticalLayout.LEFT));
  +                     mainPanel.setLayout(new BorderLayout());
  +                     JPanel normalPanel = new JPanel(new 
VerticalLayout(5,VerticalLayout.LEFT));
   
                        // TITLE
                        JLabel panelTitleLabel = new 
JLabel(JMeterUtils.getResString("url_config_title"));
  @@ -253,23 +259,24 @@
                        int curFontSize = curFont.getSize();
                        curFontSize += 4;
                        panelTitleLabel.setFont(new Font(curFont.getFontName(), 
curFont.getStyle(), curFontSize));
  -                     mainPanel.add(panelTitleLabel);
  +                     normalPanel.add(panelTitleLabel);
   
                        // NAME
                        if(displayName)
                        {
  -                             mainPanel.add(getNamePanel());
  +                             normalPanel.add(getNamePanel());
                        }
   
  -                     mainPanel.add(webServerPanel);
  -                     mainPanel.add(webRequestPanel);
  +                     normalPanel.add(webServerPanel);
  +                     mainPanel.add(normalPanel,BorderLayout.NORTH);
  +                     mainPanel.add(webRequestPanel,BorderLayout.CENTER);
   
  -                     this.add(mainPanel);
  +                     this.add(mainPanel,BorderLayout.CENTER);
                }
                else
                {
  -                     this.add(webServerPanel);
  -                     this.add(webRequestPanel);
  +                     this.add(webServerPanel,BorderLayout.NORTH);
  +                     this.add(webRequestPanel,BorderLayout.CENTER);
                }
        }
   
  @@ -280,7 +287,7 @@
         ***************************************/
        protected JPanel getPortPanel()
        {
  -             JPanel portP = new JPanel();
  +             JPanel portP = new JPanel(new FlowLayout(FlowLayout.LEFT));
                portP.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
                portP.add(new JLabel(JMeterUtils.getResString("web_server_port")));
   
  @@ -299,7 +306,7 @@
         ***************************************/
        protected JPanel getDomainPanel()
        {
  -             JPanel domainP = new JPanel();
  +             JPanel domainP = new JPanel(new FlowLayout(FlowLayout.LEFT));
                domainP.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
                domainP.add(new JLabel(JMeterUtils.getResString("web_server_domain")));
   
  @@ -320,7 +327,7 @@
         ***************************************/
        protected JPanel getPathPanel()
        {
  -             JPanel panel = new JPanel();
  +             JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
                panel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
                panel.add(new JLabel(JMeterUtils.getResString("path")));
   
  
  
  
  1.7       +9 -7      
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
  
  Index: HttpTestSampleGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- HttpTestSampleGui.java    29 Apr 2002 17:08:10 -0000      1.6
  +++ HttpTestSampleGui.java    30 Jul 2002 03:02:09 -0000      1.7
  @@ -158,13 +158,14 @@
   
        private void init()
        {
  -             this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT, 
VerticalLayout.TOP));
  +             this.setLayout(new GridLayout(1,1));
   
                // MAIN PANEL
                JPanel mainPanel = new JPanel();
                Border margin = new EmptyBorder(10, 10, 5, 10);
                mainPanel.setBorder(margin);
  -             mainPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT));
  +             mainPanel.setLayout(new BorderLayout());
  +             JPanel titlePanel = new JPanel(new BorderLayout());
   
                // TITLE
                JLabel panelTitleLabel = new 
JLabel(JMeterUtils.getResString("web_testing_title"));
  @@ -172,17 +173,18 @@
                int curFontSize = curFont.getSize();
                curFontSize += 4;
                panelTitleLabel.setFont(new Font(curFont.getFontName(), 
curFont.getStyle(), curFontSize));
  -             mainPanel.add(panelTitleLabel);
  +             titlePanel.add(panelTitleLabel,BorderLayout.NORTH);
   
                // NAME
  -             mainPanel.add(getNamePanel());
  +             titlePanel.add(getNamePanel(),BorderLayout.SOUTH);
  +             mainPanel.add(titlePanel,BorderLayout.NORTH);
   
                // URL CONFIG
                urlConfigGui = new MultipartUrlConfigGui(false);
  -             mainPanel.add(urlConfigGui);
  +             mainPanel.add(urlConfigGui,BorderLayout.CENTER);
   
                // OPTIONAL TASKS
  -             mainPanel.add(createOptionalTasksPanel());
  +             mainPanel.add(createOptionalTasksPanel(),BorderLayout.SOUTH);
   
                this.add(mainPanel);
        }
  
  
  
  1.5       +8 -2      
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
  
  Index: ProxyControlGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ProxyControlGui.java      15 Jun 2002 02:44:38 -0000      1.4
  +++ ProxyControlGui.java      30 Jul 2002 03:02:10 -0000      1.5
  @@ -213,7 +213,13 @@
        
        public void focusLost(FocusEvent e)
        {
  -             ((JTable)e.getSource()).getCellEditor().stopCellEditing();
  +             try
  +             {
  +                     ((JTable)e.getSource()).getCellEditor().stopCellEditing();
  +             }
  +             catch(Exception err)
  +             {
  +             }
        }
        
        public void focusGained(FocusEvent e)
  
  
  
  1.20      +3 -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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- HTTPSampler.java  26 Jul 2002 02:48:46 -0000      1.19
  +++ HTTPSampler.java  30 Jul 2002 03:02:10 -0000      1.20
  @@ -748,7 +748,7 @@
                }
                catch(IOException ex)
                {
  -                     ex.printStackTrace();
  +                     //ex.printStackTrace();
                        res.setResponseData(ex.toString().getBytes());
                        res.setResponseCode(NON_HTTP_RESPONSE_CODE);
                        res.setResponseMessage(NON_HTTP_RESPONSE_MESSAGE);
  
  
  
  1.15      +6 -3      jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java
  
  Index: JMeterThread.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- JMeterThread.java 13 Jun 2002 00:45:18 -0000      1.14
  +++ JMeterThread.java 30 Jul 2002 03:02:10 -0000      1.15
  @@ -82,14 +82,16 @@
        TestCompiler compiler;
        JMeterThreadMonitor monitor;
        String threadName;
  +     JMeterVariables threadVars;
        /****************************************
         * !ToDo (Constructor description)
         ***************************************/
        public JMeterThread() {}
        public JMeterThread(ListedHashTree test, JMeterThreadMonitor monitor) {
                this.monitor = monitor;
  +             threadVars = new JMeterVariables();
                testTree = test;
  -             compiler = new TestCompiler(testTree);
  +             compiler = new TestCompiler(testTree,threadVars);
                controller = (Controller) testTree.getArray()[0];
        }
   
  @@ -111,6 +113,7 @@
                        System.out.println("Thread 
"+Thread.currentThread().getName()+" started");
                        while (running) {
                                while (controller.hasNext() && running) {
  +                                     threadVars.incIteration();
                                        try
                                        {
                                                SamplePackage pack = 
compiler.configureSampler(controller.next());
  
  
  
  1.9       +24 -16    jakarta-jmeter/src_1/org/apache/jmeter/threads/TestCompiler.java
  
  Index: TestCompiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/TestCompiler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TestCompiler.java 18 Jul 2002 03:44:21 -0000      1.8
  +++ TestCompiler.java 30 Jul 2002 03:02:10 -0000      1.9
  @@ -22,6 +22,7 @@
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.samplers.Sampler;
   import org.apache.jmeter.testelement.PerSampleClonable;
  +import org.apache.jmeter.testelement.PerThreadClonable;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.timers.Timer;
   import org.apache.jmeter.util.ListedHashTree;
  @@ -51,6 +52,7 @@
        ListedHashTree testTree;
        SampleResult previousResult;
        Sampler currentSampler;
  +     JMeterVariables threadVars;
        private static Set pairing = new HashSet();
   
        /****************************************
  @@ -58,8 +60,10 @@
         *
         *@param testTree  !ToDo (Parameter description)
         ***************************************/
  -     public TestCompiler(ListedHashTree testTree)
  +     public TestCompiler(ListedHashTree testTree,
  +                     JMeterVariables vars)
        {
  +             threadVars = vars;
                this.testTree = testTree;
        }
   
  @@ -229,7 +233,7 @@
                        testing.get(controller).add(sampler, args);
                        TestCompiler.initialize();
   
  -                     TestCompiler compiler = new TestCompiler(testing);
  +                     TestCompiler compiler = new TestCompiler(testing,new 
JMeterVariables());
                        testing.traverse(compiler);
                        sampler = 
(HTTPSampler)compiler.configureSampler(sampler).getSampler();
                        assertEquals(config1.getProperty(HTTPSampler.DOMAIN), 
sampler.getDomain());
  @@ -327,6 +331,7 @@
        
        private boolean hasFunctions(TestElement el)
        {
  +             boolean hasFunctions = false;
                Iterator iter = el.getPropertyNames().iterator();
                while(iter.hasNext())
                {
  @@ -334,29 +339,31 @@
                        Object propValue = el.getProperty(propName);
                        if(propValue instanceof Function)
                        {
  -                             return true;
  +                             ((Function)propValue).setJMeterVariables(threadVars);
  +                             hasFunctions = true;
                        }
                        else if(propValue instanceof TestElement)
                        {
                                if(hasFunctions((TestElement)propValue))
                                {
  -                                     return true;
  +                                     hasFunctions = true;
                                }
                        }
                        else if(propValue instanceof Collection)
                        {
                                if(hasFunctions((Collection)propValue))
                                {
  -                                     return true;
  +                                     hasFunctions = true;
                                }
                        }
                }
  -             return false;
  +             return hasFunctions;
        }
        
        private boolean hasFunctions(Collection values)
        {
  -             Iterator iter = values.iterator();
  +             Iterator iter = new LinkedList(values).iterator();
  +             boolean hasFunctions = false;
                while(iter.hasNext())
                {
                        Object val = iter.next();
  @@ -364,22 +371,23 @@
                        {
                                if(hasFunctions((TestElement)val))
                                {
  -                                     return true;
  +                                     hasFunctions = true;
                                }
                        }
                        else if(val instanceof Function)
                        {
  -                             return true;
  +                             ((Function)val).setJMeterVariables(threadVars);
  +                             hasFunctions = true;
                        }
                        else if(val instanceof Collection)
                        {
                                if(hasFunctions((Collection)val))
                                {
  -                                     return true;
  +                                     hasFunctions = true;
                                }
                        }
                }
  -             return false;
  +             return hasFunctions;
        }       
        
        private void replaceValues(TestElement el)
  
  
  
  1.1                  
jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterVariables.java
  
  Index: JMeterVariables.java
  ===================================================================
  package org.apache.jmeter.threads;
  
  import java.util.HashMap;
  import java.util.Map;
  
  /**
   * @author default
   *
   * To change this generated comment edit the template variable "typecomment":
   * Window>Preferences>Java>Templates.
   * To enable and disable the creation of type comments go to
   * Window>Preferences>Java>Code Generation.
   */
  public class JMeterVariables {
        private static Map iterationData = new HashMap();
        
        public String getThreadName()
        {
                return Thread.currentThread().getName();
        }
        
        public int getIteration()
        {
                int[] a = (int[])iterationData.get(getThreadName());
                return a[0];
        }
        
        public void incIteration()
        {
                int[] a = (int[])iterationData.get(getThreadName());
                if(a == null)
                {
                        a = new int[1];
                        a[0] = 0;
                        iterationData.put(getThreadName(),a);
                }
                a[0]++;
        }
        
        public static void initialize()
        {
                iterationData.clear();
        }
  
  }
  
  
  1.13      +2 -2      jakarta-jmeter/src_1/org/apache/jmeter/util/JMeterUtils.java
  
  Index: JMeterUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/JMeterUtils.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JMeterUtils.java  19 Jul 2002 02:33:10 -0000      1.12
  +++ JMeterUtils.java  30 Jul 2002 03:02:10 -0000      1.13
  @@ -993,6 +993,6 @@
          */
         public static String getJMeterVersion()
         {
  -               return "@VERSION@";
  +               return "1.7.1";
         }
   }
  
  
  
  1.11      +2 -2      
jakarta-jmeter/src_1/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
  
  Index: ViewResultsFullVisualizer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ViewResultsFullVisualizer.java    13 Jun 2002 00:45:18 -0000      1.10
  +++ ViewResultsFullVisualizer.java    30 Jul 2002 03:02:10 -0000      1.11
  @@ -279,7 +279,7 @@
                                                                                       
         response = new String(responseBytes);
                                                                                       
 }
                                                                                  }
  -                                                                               else
  +                                                                               else 
if(responseBytes != null)
                                                                                  {
                                                                                       
 icon = new ImageIcon(responseBytes);
                                                                                  }
  
  
  

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

Reply via email to