You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by ms...@apache.org on 2004/05/21 18:58:26 UTC

cvs commit: jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler JDBCSamplerBeanInfo.java

mstover1    2004/05/21 09:58:26

  Modified:    bin      jmeter.properties
               src/core/org/apache/jmeter/control IfController.java
                        LoopController.java
               src/core/org/apache/jmeter/testbeans TestBean.java
               src/core/org/apache/jmeter/testbeans/gui
                        GenericTestBeanCustomizer.java
               src/core/org/apache/jmeter/testelement/property
                        FunctionProperty.java
               src/core/org/apache/jmeter/threads SamplePackage.java
                        TestCompiler.java
               src/core/org/apache/jmeter/util JMeterVersion.java
               src/protocol/http/org/apache/jmeter/protocol/http/proxy
                        HttpRequestHdr.java
               src/protocol/http/org/apache/jmeter/protocol/http/sampler
                        AccessLogSampler.java
               src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog
                        LogFilter.java TCLogParser.java
               src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler
                        JDBCSamplerBeanInfo.java
  Added:       src/core/org/apache/jmeter/testbeans/gui TextAreaEditor.java
               src/jorphan/org/apache/jorphan/util Converter.java
  Log:
  Fixing AccessLog filter, fixing caching of Controller property values
  
  Revision  Changes    Path
  1.104     +2 -1      jakarta-jmeter/bin/jmeter.properties
  
  Index: jmeter.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
  retrieving revision 1.103
  retrieving revision 1.104
  diff -u -r1.103 -r1.104
  --- jmeter.properties	20 May 2004 19:18:39 -0000	1.103
  +++ jmeter.properties	21 May 2004 16:58:25 -0000	1.104
  @@ -117,6 +117,7 @@
   
   log_level.jmeter=INFO
   log_level.jmeter.junit=DEBUG
  +log_level.jmeter.control=DEBUG
   #log_level.jmeter.testbeans=DEBUG
   #log_level.jmeter.engine=DEBUG
   #log_level.jmeter.gui=WARN
  @@ -124,7 +125,7 @@
   #log_level.jmeter.util=WARN
   #log_level.jmeter.util.classfinder=WARN
   #log_level.jmeter.test=DEBUG
  -#log_level.jmeter.protocol.http=DEBUG
  +log_level.jmeter.protocol.http=DEBUG
   #log_level.jmeter.protocol.ftp=WARN
   #log_level.jmeter.protocol.jdbc=DEBUG
   #log_level.jmeter.protocol.java=WARN
  
  
  
  1.6       +3 -6      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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- IfController.java	19 Apr 2004 19:05:56 -0000	1.5
  +++ IfController.java	21 May 2004 16:58:26 -0000	1.6
  @@ -86,10 +86,7 @@
   	   * Condition Accessor - this is gonna be like     ${count}<10
   	   */
   	  public String getCondition() {
  -	  		JMeterProperty prop = getProperty(CONDITION);
  -	  		if (prop instanceof FunctionProperty)
  -				((FunctionProperty)prop).setUseCache(false);
  -			return prop.getStringValue();
  +	  		return getPropertyAsString(CONDITION);
   	  }
   
   	  /**
  
  
  
  1.23      +2 -5      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.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- LoopController.java	8 Apr 2004 19:16:44 -0000	1.22
  +++ LoopController.java	21 May 2004 16:58:26 -0000	1.23
  @@ -25,7 +25,6 @@
   import org.apache.jmeter.samplers.Sampler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.property.BooleanProperty;
  -import org.apache.jmeter.testelement.property.FunctionProperty;
   import org.apache.jmeter.testelement.property.IntegerProperty;
   import org.apache.jmeter.testelement.property.JMeterProperty;
   import org.apache.jmeter.testelement.property.StringProperty;
  @@ -66,8 +65,6 @@
           try
           {
           	JMeterProperty prop = getProperty(LOOPS);
  -        	if (prop instanceof FunctionProperty)
  -        		((FunctionProperty)prop).setUseCache(false);
               return Integer.parseInt(prop.getStringValue());
           }
           catch (NumberFormatException e)
  
  
  
  1.10      +4 -344    jakarta-jmeter/src/core/org/apache/jmeter/testbeans/TestBean.java
  
  Index: TestBean.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testbeans/TestBean.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TestBean.java	18 Feb 2004 23:57:16 -0000	1.9
  +++ TestBean.java	21 May 2004 16:58:26 -0000	1.10
  @@ -26,17 +26,13 @@
   import java.util.Iterator;
   import java.util.Map;
   
  -import org.apache.jmeter.control.NextIsNullException;
  -import org.apache.jmeter.samplers.Sampler;
   import org.apache.jmeter.testelement.AbstractTestElement;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.testelement.TestElementTraverser;
  -import org.apache.jmeter.testelement.property.CollectionProperty;
   import org.apache.jmeter.testelement.property.JMeterProperty;
  -import org.apache.jmeter.testelement.property.MapProperty;
   import org.apache.jmeter.testelement.property.NullProperty;
   import org.apache.jmeter.testelement.property.PropertyIterator;
   import org.apache.jorphan.logging.LoggingManager;
  +import org.apache.jorphan.util.Converter;
   import org.apache.jorphan.util.JOrphanUtils;
   import org.apache.log.Logger;
   
  @@ -181,59 +177,7 @@
           // proper type? Or pre-building a type-to-valuegetter map?
           // Or maybe just getting rid of all this property mess and storing
           // the original objects instead?
  -        
  -        Object value;
  -        if (property instanceof NullProperty)
  -        {
  -            // Because we work through primitive types, we need to handle
  -            // the null case differently.
  -            value= null;
  -        }
  -        else if (type == boolean.class || type == Boolean.class)
  -        {
  -            value= JOrphanUtils.valueOf(property.getBooleanValue());//JDK1.4:
  -        }
  -        else if (type == double.class || type == Double.class)
  -        {
  -            value= new Double(property.getDoubleValue());
  -        }
  -        else if (type == float.class || type == Float.class)
  -        {
  -            value= new Float(property.getFloatValue());
  -        }
  -        else if (type == int.class || type == Integer.class)
  -        {
  -            value= new Integer(property.getIntValue());
  -        }
  -        else if (type == long.class || type == Long.class)
  -        {
  -            value= new Long(property.getLongValue());
  -        }
  -        else if (type == String.class)
  -        {
  -            value= property.getStringValue();
  -        }
  -        else
  -        {
  -            value= property.getObjectValue();
  -        }
  -        
  -        return value;
  -    }
  -
  -    /*
  -     * ---------------------------------------------------------------------
  -     * All AbstractTestElement methods overriden just to mark them deprecate.
  -     * ---------------------------------------------------------------------
  -     */
  -     
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#addProperty(org.apache.jmeter.testelement.property.JMeterProperty)
  -     * @deprecated
  -     */
  -    protected void addProperty(JMeterProperty property)
  -    {
  -        super.addProperty(property);
  +        return Converter.convert(property.getObjectValue(),type);
       }
   
       /**
  @@ -263,288 +207,4 @@
   		// If we found no property for this one...
   		super.addTestElement(el);
   	}
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#clear()
  -     * @deprecated
  -     */
  -    public void clear()
  -    {
  -        super.clear();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#clearTemporary(org.apache.jmeter.testelement.property.JMeterProperty)
  -     * @deprecated
  -     */
  -    protected void clearTemporary(JMeterProperty property)
  -    {
  -        super.clearTemporary(property);
  -    }
  -
  -    /**
  -     * @see java.lang.Object#clone()
  -     * @deprecated
  -     */
  -    public Object clone()
  -    {
  -        return super.clone();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#emptyTemporary()
  -     * @deprecated
  -     */
  -    protected void emptyTemporary()
  -    {
  -        super.emptyTemporary();
  -    }
  -
  -    /**
  -     * @see java.lang.Object#equals(java.lang.Object)
  -     * @deprecated
  -     */
  -    public boolean equals(Object o)
  -    {
  -        return super.equals(o);
  -    }
  -
  -    /**
  -     * This one is NOT deprecated.
  -     * 
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#getName()
  -     */
  -    public String getName()
  -    {
  -        return super.getName();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#getProperty(java.lang.String)
  -     * @deprecated
  -     */
  -    public JMeterProperty getProperty(String key)
  -    {
  -        return super.getProperty(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#getPropertyAsBoolean(java.lang.String, boolean)
  -     * @deprecated
  -     */
  -    public boolean getPropertyAsBoolean(String key, boolean defaultVal)
  -    {
  -        return super.getPropertyAsBoolean(key, defaultVal);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#getPropertyAsBoolean(java.lang.String)
  -     * @deprecated
  -     */
  -    public boolean getPropertyAsBoolean(String key)
  -    {
  -        return super.getPropertyAsBoolean(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#getPropertyAsDouble(java.lang.String)
  -     * @deprecated
  -     */
  -    public double getPropertyAsDouble(String key)
  -    {
  -        return super.getPropertyAsDouble(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#getPropertyAsFloat(java.lang.String)
  -     * @deprecated
  -     */
  -    public float getPropertyAsFloat(String key)
  -    {
  -        return super.getPropertyAsFloat(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#getPropertyAsInt(java.lang.String)
  -     * @deprecated
  -     */
  -    public int getPropertyAsInt(String key)
  -    {
  -        return super.getPropertyAsInt(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#getPropertyAsLong(java.lang.String)
  -     * @deprecated
  -     */
  -    public long getPropertyAsLong(String key)
  -    {
  -        return super.getPropertyAsLong(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#getPropertyAsString(java.lang.String)
  -     * @deprecated
  -     */
  -    public String getPropertyAsString(String key)
  -    {
  -        return super.getPropertyAsString(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#isRunningVersion()
  -     * @deprecated
  -     */
  -    public boolean isRunningVersion()
  -    {
  -        return super.isRunningVersion();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#isTemporary(org.apache.jmeter.testelement.property.JMeterProperty)
  -     * @deprecated
  -     */
  -    public boolean isTemporary(JMeterProperty property)
  -    {
  -        return super.isTemporary(property);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#logProperties()
  -     * @deprecated
  -     */
  -    protected void logProperties()
  -    {
  -        super.logProperties();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#mergeIn(org.apache.jmeter.testelement.TestElement)
  -     * @deprecated
  -     */
  -    protected void mergeIn(TestElement element)
  -    {
  -        super.mergeIn(element);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#nextIsNull()
  -     * @deprecated
  -     */
  -    protected Sampler nextIsNull() throws NextIsNullException
  -    {
  -        return super.nextIsNull();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#propertyIterator()
  -     * @deprecated
  -     */
  -    public PropertyIterator propertyIterator()
  -    {
  -        return super.propertyIterator();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#recoverRunningVersion()
  -     * @deprecated
  -     */
  -    public void recoverRunningVersion()
  -    {
  -        super.recoverRunningVersion();
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#removeProperty(java.lang.String)
  -     * @deprecated
  -     */
  -    public void removeProperty(String key)
  -    {
  -        super.removeProperty(key);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#setName(java.lang.String)
  -     * @deprecated
  -     */
  -    public void setName(String name)
  -    {
  -        super.setName(name);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#setProperty(org.apache.jmeter.testelement.property.JMeterProperty)
  -     * @deprecated
  -     */
  -    public void setProperty(JMeterProperty property)
  -    {
  -        super.setProperty(property);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#setProperty(java.lang.String, java.lang.String)
  -     * @deprecated
  -     */
  -    public void setProperty(String name, String value)
  -    {
  -        super.setProperty(name, value);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#setRunningVersion(boolean)
  -     * @deprecated
  -     */
  -    public void setRunningVersion(boolean runningVersion)
  -    {
  -        super.setRunningVersion(runningVersion);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#setTemporary(org.apache.jmeter.testelement.property.JMeterProperty)
  -     * @deprecated
  -     */
  -    public void setTemporary(JMeterProperty property)
  -    {
  -        super.setTemporary(property);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.TestElement#traverse(org.apache.jmeter.testelement.TestElementTraverser)
  -     * @deprecated
  -     */
  -    public void traverse(TestElementTraverser traverser)
  -    {
  -        super.traverse(traverser);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#traverseCollection(org.apache.jmeter.testelement.property.CollectionProperty, org.apache.jmeter.testelement.TestElementTraverser)
  -     * @deprecated
  -     */
  -    protected void traverseCollection(
  -        CollectionProperty col,
  -        TestElementTraverser traverser)
  -    {
  -        super.traverseCollection(col, traverser);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#traverseMap(org.apache.jmeter.testelement.property.MapProperty, org.apache.jmeter.testelement.TestElementTraverser)
  -     * @deprecated
  -     */
  -    protected void traverseMap(MapProperty map, TestElementTraverser traverser)
  -    {
  -        super.traverseMap(map, traverser);
  -    }
  -
  -    /**
  -     * @see org.apache.jmeter.testelement.AbstractTestElement#traverseProperty(org.apache.jmeter.testelement.TestElementTraverser, org.apache.jmeter.testelement.property.JMeterProperty)
  -     * @deprecated
  -     */
  -    protected void traverseProperty(
  -        TestElementTraverser traverser,
  -        JMeterProperty value)
  -    {
  -        super.traverseProperty(traverser, value);
  -    }
   }
  
  
  
  1.8       +10 -5     jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
  
  Index: GenericTestBeanCustomizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- GenericTestBeanCustomizer.java	20 May 2004 19:18:40 -0000	1.7
  +++ GenericTestBeanCustomizer.java	21 May 2004 16:58:26 -0000	1.8
  @@ -20,14 +20,12 @@
   import java.awt.GridBagConstraints;
   import java.awt.GridBagLayout;
   import java.awt.Insets;
  -
   import java.beans.BeanInfo;
   import java.beans.PropertyChangeEvent;
   import java.beans.PropertyChangeListener;
   import java.beans.PropertyDescriptor;
   import java.beans.PropertyEditor;
   import java.beans.PropertyEditorManager;
  -
   import java.text.MessageFormat;
   import java.util.Arrays;
   import java.util.Comparator;
  @@ -39,6 +37,7 @@
   import javax.swing.Box;
   import javax.swing.JLabel;
   import javax.swing.JPanel;
  +import javax.swing.JScrollPane;
   
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jorphan.logging.LoggingManager;
  @@ -115,6 +114,8 @@
   	}
   
   	public static final String DEFAULT_GROUP= "";
  +	
  +	private int scrollerCount = 0;
   
       /**
        * BeanInfo object for the class of the objects being edited.
  @@ -236,6 +237,10 @@
   							+" is wrapped in "+propertyEditor);
   				}
               }
  +            if(propertyEditor.getCustomEditor() instanceof JScrollPane)
  +            {
  +               scrollerCount++;
  +            }
               
   			editors[i]= propertyEditor;
   
  @@ -453,7 +458,7 @@
   			Component customEditor= editors[i].getCustomEditor();
   
   			boolean multiLineEditor= false;
  -			if (customEditor.getPreferredSize().height > 50)
  +			if (customEditor.getPreferredSize().height > 50 || customEditor instanceof JScrollPane)
   			{
   				// TODO: the above works in the current situation, but it's
   				// just a hack. How to get each editor to report whether it
  
  
  
  1.1                  jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
  
  Index: TextAreaEditor.java
  ===================================================================
  /*
   * Created on May 21, 2004
   *
   * To change the template for this generated file go to
   * Window - Preferences - Java - Code Generation - Code and Comments
   */
  package org.apache.jmeter.testbeans.gui;
  
  import java.awt.Component;
  import java.awt.event.FocusEvent;
  import java.awt.event.FocusListener;
  import java.beans.PropertyEditorSupport;
  
  import javax.swing.JScrollPane;
  import javax.swing.JTextArea;
  
  /**
   * @author mstover
   *
   * To change the template for this generated type comment go to
   * Window - Preferences - Java - Code Generation - Code and Comments
   */
  public class TextAreaEditor extends PropertyEditorSupport implements
        FocusListener
  {
     JTextArea textUI;
     JScrollPane scroller;
  
     /* (non-Javadoc)
      * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
      */
     public void focusGained(FocusEvent e)
     {
        // TODO Auto-generated method stub
  
     }
  
     /* (non-Javadoc)
      * @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
      */
     public void focusLost(FocusEvent e)
     {
        firePropertyChange();
  
     }
  
     public static void main(String[] args)
     {
     }
     
     protected void init()
     {
        textUI= new JTextArea();
        textUI.addFocusListener(this);
        textUI.setWrapStyleWord(true);
        textUI.setLineWrap(true);
        scroller = new JScrollPane(textUI,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
              JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
     }
     
     /**
      * 
      */
     public TextAreaEditor()
     {
        super();
        init();
  
  		
     }
     /**
      * @param source
      */
     public TextAreaEditor(Object source)
     {
        super(source);
        init();
        setValue(source);
     }
     
     /* (non-Javadoc)
      * @see java.beans.PropertyEditor#getAsText()
      */
     public String getAsText()
     {
        return textUI.getText();
     }
     /* (non-Javadoc)
      * @see java.beans.PropertyEditor#getCustomEditor()
      */
     public Component getCustomEditor()
     {
        return scroller;
     }
     /* (non-Javadoc)
      * @see java.beans.PropertyEditor#setAsText(java.lang.String)
      */
     public void setAsText(String text) throws IllegalArgumentException
     {
        textUI.setText(text);
     }
     /* (non-Javadoc)
      * @see java.beans.PropertyEditor#setValue(java.lang.Object)
      */
     public void setValue(Object value)
     {
        if(value != null)
        {
           textUI.setText(value.toString());
        }
        else
        {
           textUI.setText("");
        }
     }
     /* (non-Javadoc)
      * @see java.beans.PropertyEditor#getValue()
      */
     public Object getValue()
     {
        return textUI.getText();
     }
     /* (non-Javadoc)
      * @see java.beans.PropertyEditor#supportsCustomEditor()
      */
     public boolean supportsCustomEditor()
     {
        // TODO Auto-generated method stub
        return true;
     }
  }
  
  
  
  1.17      +109 -131  jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/FunctionProperty.java
  
  Index: FunctionProperty.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/FunctionProperty.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- FunctionProperty.java	8 Apr 2004 19:16:44 -0000	1.16
  +++ FunctionProperty.java	21 May 2004 16:58:26 -0000	1.17
  @@ -1,20 +1,20 @@
   // $Header$
   /*
    * Copyright 2003-2004 The Apache Software Foundation.
  - *
  - * Licensed under the Apache License, Version 2.0 (the "License");
  - * you may not use this file except in compliance with the License.
  - * You may obtain a copy of the License at
  - *
  - *   http://www.apache.org/licenses/LICENSE-2.0
  - *
  - * Unless required by applicable law or agreed to in writing, software
  - * distributed under the License is distributed on an "AS IS" BASIS,
  - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  - * See the License for the specific language governing permissions and
  - * limitations under the License.
    * 
  -*/
  + * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  + * use this file except in compliance with the License. You may obtain a copy
  + * of the License at
  + * 
  + * http://www.apache.org/licenses/LICENSE-2.0
  + * 
  + * Unless required by applicable law or agreed to in writing, software
  + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  + * License for the specific language governing permissions and limitations
  + * under the License.
  + *  
  + */
   
   package org.apache.jmeter.testelement.property;
   
  @@ -28,120 +28,98 @@
    */
   public class FunctionProperty extends AbstractProperty
   {
  -    CompoundVariable function;
  -    int testIteration = -1;
  -    String cacheValue;
  -    boolean useCache = true;
  -
  -    public FunctionProperty(String name, CompoundVariable func)
  -    {
  -        super(name);
  -        function = func;
  -    }
  -
  -    public FunctionProperty()
  -    {
  -        super();
  -    }
  -
  -    public void setObjectValue(Object v)
  -    {
  -        if (v instanceof CompoundVariable && !isRunningVersion())
  -        {
  -            function = (CompoundVariable) v;
  -        }
  -        else
  -        {
  -            cacheValue = v.toString();
  -        }
  -    }
  -
  -    public boolean equals(Object o)
  -    {
  -        if (o instanceof FunctionProperty)
  -        {
  -            if (function != null)
  -            {
  -                return function.equals(((JMeterProperty) o).getObjectValue());
  -            }
  -        }
  -        return false;
  -    }
  -
  -    /**
  -     * Executes the function (and caches the value for the duration of the test
  -     * iteration) if the property is a running version.  Otherwise, the raw
  -     * string representation of the function is provided.
  -     * @see JMeterProperty#getStringValue()
  -     */
  -    public String getStringValue()
  -    {
  -        log.debug("Calling getStringValue from FunctionProperty");
  -        log.debug("boogedy boogedy");
  -        JMeterContext ctx = JMeterContextService.getContext();//Expensive, so do once
  -        if (!isRunningVersion()
  -            || !ctx.isSamplingStarted())
  -        {
  -            log.debug("Not running version, return raw function string");
  -            return function.getRawParameters();
  -        }
  -        else
  -        {
  -            log.debug("Running version, executing function");
  -            int iter =
  -                ctx.getVariables().getIteration();
  -            if (iter < testIteration)
  -            {
  -                testIteration = -1;
  -            }
  -            if (useCache)
  -            {
  -	            if(iter > testIteration || cacheValue == null)
  -    	        {
  -        	        testIteration = iter;
  -            	    cacheValue = function.execute();
  -            	}
  -				return cacheValue;
  -            }
  -			else
  -			{
  -				return function.execute();
  -			}
  -        }
  -    }
  -
  -    /**
  -     * @see JMeterProperty#getObjectValue()
  -     */
  -    public Object getObjectValue()
  -    {
  -        return function;
  -    }
  -
  -    public Object clone()
  -    {
  -        FunctionProperty prop = (FunctionProperty) super.clone();
  -        prop.cacheValue = cacheValue;
  -        prop.testIteration = testIteration;
  -        prop.function = function;
  -        return prop;
  -    }
  -
  -    /**
  -     * @see JMeterProperty#recoverRunningVersion(TestElement)
  -     */
  -    public void recoverRunningVersion(TestElement owner)
  -    {
  -        cacheValue = null;
  -    }
  -    
  -    public void setUseCache(boolean useCache)
  -    {
  -    	this.useCache = useCache;
  -    }
  -    
  -    public boolean getUseCache()
  -    {
  -    	return useCache;
  -    }
  +   CompoundVariable function;
  +   int testIteration = -1;
  +   String cacheValue;
  +
  +   public FunctionProperty(String name, CompoundVariable func)
  +   {
  +      super(name);
  +      function = func;
  +   }
  +
  +   public FunctionProperty()
  +   {
  +      super();
  +   }
  +
  +   public void setObjectValue(Object v)
  +   {
  +      if (v instanceof CompoundVariable && !isRunningVersion())
  +      {
  +         function = (CompoundVariable) v;
  +      }
  +      else
  +      {
  +         cacheValue = v.toString();
  +      }
  +   }
  +
  +   public boolean equals(Object o)
  +   {
  +      if (o instanceof FunctionProperty)
  +      {
  +         if (function != null) { return function.equals(((JMeterProperty) o)
  +               .getObjectValue()); }
  +      }
  +      return false;
  +   }
  +
  +   /**
  +    * Executes the function (and caches the value for the duration of the test
  +    * iteration) if the property is a running version. Otherwise, the raw
  +    * string representation of the function is provided.
  +    * 
  +    * @see JMeterProperty#getStringValue()
  +    */
  +   public String getStringValue()
  +   {
  +      JMeterContext ctx = JMeterContextService.getContext();//Expensive, so do
  +                                                            // once
  +      if (!isRunningVersion() || !ctx.isSamplingStarted())
  +      {
  +         log.debug("Not running version, return raw function string");
  +         return function.getRawParameters();
  +      }
  +      else
  +      {
  +         log.debug("Running version, executing function");
  +         int iter = ctx.getVariables().getIteration();
  +         if (iter < testIteration)
  +         {
  +            testIteration = -1;
  +         }
  +         if (iter > testIteration || cacheValue == null)
  +         {
  +            testIteration = iter;
  +            cacheValue = function.execute();
  +         }
  +         return cacheValue;
  +      }
  +   }
  +
  +   /**
  +    * @see JMeterProperty#getObjectValue()
  +    */
  +   public Object getObjectValue()
  +   {
  +      return function;
  +   }
  +
  +   public Object clone()
  +   {
  +      FunctionProperty prop = (FunctionProperty) super.clone();
  +      prop.cacheValue = cacheValue;
  +      prop.testIteration = testIteration;
  +      prop.function = function;
  +      return prop;
  +   }
  +
  +   /**
  +    * @see JMeterProperty#recoverRunningVersion(TestElement)
  +    */
  +   public void recoverRunningVersion(TestElement owner)
  +   {
  +      cacheValue = null;
  +   }
   }
  
  
  
  1.9       +8 -3      jakarta-jmeter/src/core/org/apache/jmeter/threads/SamplePackage.java
  
  Index: SamplePackage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/SamplePackage.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SamplePackage.java	14 Feb 2004 03:34:29 -0000	1.8
  +++ SamplePackage.java	21 May 2004 16:58:26 -0000	1.9
  @@ -47,6 +47,7 @@
       List responseModifiers;
       List configs;
       List modifiers;
  +    List controllers;
       Sampler sampler;
   
       public SamplePackage()
  @@ -61,7 +62,8 @@
           List timers,
           List assertions,
           List extractors,
  -        List pres)
  +        List pres,
  +        List controllers)
       {
           log.debug("configs is null: " + (configs == null));
           this.configs = configs;
  @@ -72,6 +74,7 @@
           this.assertions = assertions;
           this.postProcessors = extractors;
           this.preProcessors = pres;
  +        this.controllers = controllers;
       }
       
       public void setRunningVersion(boolean running)
  @@ -84,6 +87,7 @@
           setRunningVersion(responseModifiers, running);
           setRunningVersion(postProcessors, running);
           setRunningVersion(preProcessors, running);
  +        setRunningVersion(controllers,running);
           sampler.setRunningVersion(running);
       }
           
  @@ -115,6 +119,7 @@
           recoverRunningVersion(responseModifiers);
           recoverRunningVersion(postProcessors);
           recoverRunningVersion(preProcessors);
  +        recoverRunningVersion(controllers);
           sampler.recoverRunningVersion();
       }
   
  
  
  
  1.39      +10 -4     jakarta-jmeter/src/core/org/apache/jmeter/threads/TestCompiler.java
  
  Index: TestCompiler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/TestCompiler.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- TestCompiler.java	14 Feb 2004 03:34:29 -0000	1.38
  +++ TestCompiler.java	21 May 2004 16:58:26 -0000	1.39
  @@ -205,6 +205,7 @@
       {
           List configs = new LinkedList();
           List modifiers = new LinkedList();
  +        List controllers = new LinkedList();
           List responseModifiers = new LinkedList();
           List listeners = new LinkedList();
           List timers = new LinkedList();
  @@ -243,6 +244,10 @@
                   {
                       tempPre.add(item);
                   }
  +                if(item instanceof Controller)
  +                {
  +                   controllers.add(item);
  +                }
               }
               pres.addAll(0,tempPre);
               posts.addAll(0,tempPost);
  @@ -257,7 +262,8 @@
                   timers,
                   assertions,
                   posts,
  -                pres);
  +                pres,
  +                controllers);
           pack.setSampler(sam);
           pack.setRunningVersion(true);
           samplerConfigMap.put(sam, pack);
  
  
  
  1.19      +3 -3      jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java
  
  Index: JMeterVersion.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- JMeterVersion.java	20 May 2004 19:18:40 -0000	1.18
  +++ JMeterVersion.java	21 May 2004 16:58:26 -0000	1.19
  @@ -41,7 +41,7 @@
   	 * pattern: VERSION = <quote>.*<quote>
   	 * 
   	 */
  -	static final String VERSION = "2.0.20040520";
  +	static final String VERSION = "2.0.20040521";
   
       private JMeterVersion() // Not instantiable
       {
  
  
  
  1.1                  jakarta-jmeter/src/jorphan/org/apache/jorphan/util/Converter.java
  
  Index: Converter.java
  ===================================================================
  /*
   * Copyright 2003-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *   http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   * 
  */
  package org.apache.jorphan.util;
  
  import java.net.URLEncoder;
  import java.text.DateFormat;
  import java.text.DecimalFormat;
  import java.text.NumberFormat;
  import java.text.ParseException;
  import java.text.SimpleDateFormat;
  import java.util.Calendar;
  import java.util.Date;
  import java.util.GregorianCalendar;
  import java.util.StringTokenizer;
  
  /**
   * @author Michael Stover
   */
  public class Converter
  {
      /**
       * Convert the given value object to an object of the given type
       * @param value
       * @param toType
       * @return
       * Object
       */
      public static Object convert(Object value,Class toType)
      {
          if(value == null)
          {
              return null;
          }
          else if(toType.isAssignableFrom(value.getClass()))
          {
              return value;
          }
          else if(toType.equals(float.class) || toType.equals(Float.class))
          {
              return new Float(getFloat(value));
          }
          else if(toType.equals(double.class) || toType.equals(Double.class))
          {
              return new Double(getDouble(value));
          }
          else if(toType.equals(String.class))
          {
              return getString(value);
          }
          else if(toType.equals(int.class) || toType.equals(Integer.class))
          {
              return new Integer(getInt(value));
          }
          else if(toType.equals(long.class) || toType.equals(Long.class))
          {
              return new Long(getLong(value));
          }
          else if(toType.equals(boolean.class) || toType.equals(Boolean.class))
          {
              return new Boolean(getBoolean(value));
          }
          else if(toType.equals(java.util.Date.class))
          {
              return getDate(value);
          }
          else if(toType.equals(Calendar.class))
          {
              return getCalendar(value);
          }
          else if(toType.equals(Class.class))
          {
             try
           {
              return Class.forName(value.toString());
           }
           catch(Exception e)
           {
              //don't do anything
           }
          }
          return value;
      }
  
      /**
       * Converts the given object to a calendar object.  Defaults to the current date if the given object can't be converted.
       * @param date
       * @return
       * Calendar
       */
      public static Calendar getCalendar(Object date, Calendar defaultValue)
      {
          Calendar cal = new GregorianCalendar();
          if (date != null && date instanceof java.util.Date)
          {
              cal.setTime((java.util.Date) date);
              return cal;
          }
          else if (date != null)
          {
              DateFormat formatter = DateFormat.getDateInstance(DateFormat.SHORT);
              java.util.Date d = null;
              try
              {
                  d = formatter.parse((String) date.toString());
              }
              catch (ParseException e)
              {
                  formatter = DateFormat.getDateInstance(DateFormat.MEDIUM);
                  try
                  {
                      d = formatter.parse((String) date);
                  }
                  catch (ParseException e1)
                  {
                      formatter = DateFormat.getDateInstance(DateFormat.LONG);
                      try
                      {
                          d = formatter.parse((String) date);
                      }
                      catch (ParseException e2)
                      {
                          formatter = DateFormat.getDateInstance(DateFormat.FULL);
                          try
                          {
                              d = formatter.parse((String) date);
                          }
                          catch (ParseException e3)
                          {
                              return defaultValue;
                          }
                      }
                  }
              }
              cal.setTime(d);
          }
          else
          {
             cal = defaultValue;
          }
          return cal;
      }
  
      public static Calendar getCalendar(Object o)
      {
          return getCalendar(o, new GregorianCalendar());
      }
      
      public static Date getDate(Object date)
      {
          return getDate(date,Calendar.getInstance().getTime());
      }
      
      public static String urlEncode(Object toEncode)
      {
         return URLEncoder.encode(getString(toEncode));
      }
  
      public static Date getDate(Object date, Date defaultValue)
      {
          Date val = null;
          if (date != null && date instanceof java.util.Date)
          {
              return (Date)date;
          }
          else if (date != null)
          {
              DateFormat formatter = DateFormat.getDateInstance(DateFormat.SHORT);
              java.util.Date d = null;
              try
              {
                  val = formatter.parse(date.toString());
              }
              catch (ParseException e)
              {
                  formatter = DateFormat.getDateInstance(DateFormat.MEDIUM);
                  try
                  {
                      val = formatter.parse((String) date);
                  }
                  catch (ParseException e1)
                  {
                      formatter = DateFormat.getDateInstance(DateFormat.LONG);
                      try
                      {
                          val = formatter.parse((String) date);
                      }
                      catch (ParseException e2)
                      {
                          formatter = DateFormat.getDateInstance(DateFormat.FULL);
                          try
                          {
                              val = formatter.parse((String) date);
                          }
                          catch (ParseException e3)
                          {
                              return defaultValue;
                          }
                      }
                  }
              }
          }
          else
          {
              return defaultValue;
          }
          return val;
      }
      
      public String formatNumber(float num,String pattern)
      {
         NumberFormat format = new DecimalFormat(pattern);
         return format.format((double)num);
      }
      
      public static double getDouble(Object o, double defaultValue)
      {
          try
          {
              if (o == null)
              {
                  return defaultValue;
              }
              if (o instanceof Number)
              {
                  return ((Number) o).doubleValue();
              }
              else
              {
                  return Double.parseDouble(o.toString());
              }
          }
          catch (NumberFormatException e)
          {
              return defaultValue;
          }
      }
  
      public static double getDouble(Object o)
      {
          return getDouble(o, 0);
      }
  
          public static float getFloat(Object o, float defaultValue)
          {
              try
              {
                  if (o == null)
                  {
                      return defaultValue;
                  }
                  if (o instanceof Number)
                  {
                      return ((Number) o).floatValue();
                  }
                  else
                  {
                      return Float.parseFloat(o.toString());
                  }
              }
              catch (NumberFormatException e)
              {
                  return defaultValue;
              }
          }
  
          public static float getFloat(Object o)
          {
              return getFloat(o, 0);
          }
          
          public static boolean getBoolean(Object o)
          {
             return getBoolean(o,false);
          }
          
          public static boolean getBoolean(Object o,boolean defaultValue)
          {
             if(o == null)
             {
                return defaultValue;
             }
             else if(o instanceof Boolean)
             {
                return ((Boolean)o).booleanValue();
             }
             else return new Boolean(o.toString()).booleanValue();
          }
  
          /**
           * Convert object to integer, return defaultValue if object is not convertible or is null.
           * @param o
           * @param defaultValue
           * @return
           * int
           */
          public static int getInt(Object o, int defaultValue)
          {
              try
              {
                  if (o == null)
                  {
                      return defaultValue;
                  }
                  if (o instanceof Number)
                  {
                      return ((Number) o).intValue();
                  }
                  else
                  {
                      return Integer.parseInt(o.toString());
                  }
              }
              catch (NumberFormatException e)
              {
                  return defaultValue;
              }
          }
  
          /**
           * Converts object to an integer, defaults to 0 if object is not convertible or is null.
           * @param o
           * @return
           * int
           */
          public static int getInt(Object o)
          {
              return getInt(o, 0);
          }
  
          /**
           * Converts object to a long, return defaultValue if object is not convertible or is null.
           * @param o
           * @param defaultValue
           * @return
           * long
           */
          public static long getLong(Object o, long defaultValue)
          {
              try
              {
                  if (o == null)
                  {
                      return defaultValue;
                  }
                  if (o instanceof Number)
                  {
                      return ((Number) o).longValue();
                  }
                  else
                  {
                      return Long.parseLong(o.toString());
                  }
              }
              catch (NumberFormatException e)
              {
                  return defaultValue;
              }
          }
  
          /**
           * Converts object to a long, defaults to 0 if object is not convertible or is null
           * @param o
           * @return
           * long
           */
          public static long getLong(Object o)
          {
              return getLong(o, 0);
          }
          
          public static String formatDate(Date date,String pattern)
          {
              if(date == null)
              {
                  return "";
              }
              SimpleDateFormat format = new SimpleDateFormat(pattern);
              return format.format(date);
          }
          
          public static String formatDate(java.sql.Date date,String pattern)
          {
             if(date == null)
             {
                 return "";
             }
             SimpleDateFormat format = new SimpleDateFormat(pattern);
             return format.format(date);
          }
          
          public static String formatDate(String date,String pattern)
          {
             return formatDate(getCalendar(date,null),pattern);
          }
          
          public static String formatDate(Calendar date,String pattern)
          {
             return formatCalendar(date,pattern);
          }
          
          public static String formatCalendar(Calendar date,String pattern)
  		{
          	if(date == null)
          	{
          		return "";
          	}
          	SimpleDateFormat format = new SimpleDateFormat(pattern);
          	return format.format(date.getTime());
          }
  
          /**
           * Converts object to a String, return defaultValue if object is null.
           * @param o
           * @param defaultValue
           * @return
           * String
           */
          public static String getString(Object o, String defaultValue)
          {
              if (o == null)
              {
                  return defaultValue;
              }
              return o.toString();
          }
          
          public static String insertLineBreaks(String v,String insertion)
  		{
          	if(v == null){
          		return "";
          	}
          	else
          	{
          		StringBuffer replacement = new StringBuffer();
          		StringTokenizer tokens = new StringTokenizer(v,"\n",true);
          		while(tokens.hasMoreTokens())
          		{
          			String token = tokens.nextToken();
          			if(token.compareTo("\n") == 0)
          			{
          				replacement.append(insertion);
          			}
          			else
          			{
          				replacement.append(token);
          			}
          		}
          		return replacement.toString();				
          	}
          }
  
          /**
           * Converts object to a String, defaults to empty string if object is null.
           * @param o
           * @return
           * String
           */
          public static String getString(Object o)
          {
              return getString(o, "");
          }
  
      }
  
  
  
  1.26      +2 -2      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
  
  Index: HttpRequestHdr.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- HttpRequestHdr.java	20 May 2004 19:18:41 -0000	1.25
  +++ HttpRequestHdr.java	21 May 2004 16:58:26 -0000	1.26
  @@ -190,7 +190,7 @@
           tempGui.modifyTestElement(result);
           result.setFollowRedirects(false);
           result.setUseKeepAlive(true);
  -        log.debug("getSampler: sampler path = " + result.getEncodedPath());
  +        log.debug("getSampler: sampler path = " + result.getPath());
           return result;
       }
       
  @@ -264,7 +264,7 @@
           {
               sampler.parseArguments(postData);
           }
  -        log.debug("sampler path = " + sampler.getEncodedPath());
  +        log.debug("sampler path = " + sampler.getPath());
           return sampler;
       }
       
  
  
  
  1.10      +2 -37     jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSampler.java
  
  Index: AccessLogSampler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSampler.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AccessLogSampler.java	20 May 2004 19:18:41 -0000	1.9
  +++ AccessLogSampler.java	21 May 2004 16:58:26 -0000	1.10
  @@ -139,41 +139,6 @@
   	public String getGeneratorClassName(){
   		return getPropertyAsString(GENERATOR_CLASS_NAME);
   	}
  -
  -	/**
  -	 * Set the generator for the Sampler to use
  -	 * @param gen
  -	 */	
  -	public void setGenerator(Generator gen){
  -		if (gen == null){
  -		} else {
  -			GENERATOR = gen;
  -		}
  -	}
  -
  -	/**
  -	 * Return the generator
  -	 * @return generator
  -	 */
  -	public Generator getGenerator(){
  -		return GENERATOR;
  -	}
  -	
  -	/**
  -	 * Set the parser for the sampler to use
  -	 * @param parser
  -	 */	
  -	public void setParser(LogParser parser){
  -		PARSER = parser;
  -	}
  -
  -	/**
  -	 * Return the parser
  -	 * @return parser
  -	 */
  -	public LogParser getParser(){
  -		return PARSER;	
  -	}
   	
   	/**
   	 * sample gets a new HTTPSampler from the generator and
  
  
  
  1.11      +19 -22    jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/LogFilter.java
  
  Index: LogFilter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/LogFilter.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- LogFilter.java	13 Mar 2004 19:49:14 -0000	1.10
  +++ LogFilter.java	21 May 2004 16:58:26 -0000	1.11
  @@ -21,9 +21,9 @@
   import java.util.ArrayList;
   
   import org.apache.jmeter.junit.JMeterTestCase;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.oro.text.regex.Pattern;
   import org.apache.oro.text.regex.Perl5Compiler;
  -import org.apache.oro.text.regex.Perl5Matcher;
   
   /**
    * Description:<br>
  @@ -109,8 +109,6 @@
   
       protected String NEWFILE = null;
   
  -    protected Perl5Matcher MATCHER = null;
  -
       /**
        * The default constructor is empty
        */
  @@ -252,10 +250,6 @@
               {
                   return filterPattern(path);
               }
  -            else if (this.CHANGEEXT)
  -            {
  -                return replaceExtension(path);
  -            }
               else
               {
                   return false;
  @@ -294,7 +288,7 @@
           }
           else if (this.INCFILE != null)
           {
  -            return incFile(file);
  +            return !incFile(file);
           }
           return false;
       }
  @@ -369,13 +363,9 @@
        */
       protected boolean filterPattern(String text)
       {
  -        if (MATCHER == null)
  -        {
  -            MATCHER = new Perl5Matcher();
  -        }
           if (this.INCPTRN != null)
           {
  -            return incPattern(text);
  +            return !incPattern(text);
           }
           else if (this.EXCPTRN != null)
           {
  @@ -396,7 +386,7 @@
           this.USEFILE = false;
           for (int idx = 0; idx < this.INCPATTERNS.size(); idx++)
           {
  -            if (MATCHER.contains(text, (Pattern) this.INCPATTERNS.get(idx)))
  +            if (JMeterUtils.getMatcher().contains(text, (Pattern) this.INCPATTERNS.get(idx)))
               {
                   this.USEFILE = true;
                   break;
  @@ -418,7 +408,7 @@
           boolean exc = false;
           for (int idx = 0; idx < this.EXCPATTERNS.size(); idx++)
           {
  -            if (MATCHER.contains(text, (Pattern) this.EXCPATTERNS.get(idx)))
  +            if (JMeterUtils.getMatcher().contains(text, (Pattern) this.EXCPATTERNS.get(idx)))
               {
                   exc = true;
                   this.USEFILE = false;
  @@ -470,7 +460,14 @@
       {
           if (this.CHANGEEXT)
           {
  -            return this.NEWFILE;
  +           if(replaceExtension(text))
  +           {
  +              return this.NEWFILE;
  +           }
  +           else
  +           {
  +              return text;
  +           }
           }
           else if (this.USEFILE)
           {
  @@ -492,8 +489,8 @@
       {
           try
           {
  -            Perl5Compiler comp = new Perl5Compiler();
  -            return comp.compile(pattern, Perl5Compiler.READ_ONLY_MASK);
  +            return JMeterUtils.getPatternCache().getPattern(pattern, Perl5Compiler.READ_ONLY_MASK |
  +                  Perl5Compiler.SINGLELINE_MASK);
           }
           catch (Exception exception)
           {
  @@ -622,7 +619,7 @@
   			String theFile = td.file;
   			boolean expect = td.exclpatt;
   
  -			testf.isFiltered(theFile);
  +			assertEquals(!expect,testf.isFiltered(theFile));
   			String line = testf.filter(theFile);
   			if (line != null)
   			{
  @@ -644,7 +641,7 @@
   			String theFile = td.file;
   			boolean expect = td.inclpatt;
   
  -			testf.isFiltered(theFile);
  +			assertEquals(!expect,testf.isFiltered(theFile));
   			String line = testf.filter(theFile);
   			if (line != null)
   			{
  
  
  
  1.12      +6 -6      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java
  
  Index: TCLogParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- TCLogParser.java	20 May 2004 19:18:41 -0000	1.11
  +++ TCLogParser.java	21 May 2004 16:58:26 -0000	1.12
  @@ -280,7 +280,7 @@
       {
           // we clean the line to get
           // rid of extra stuff
  -        line = this.cleanURL(line);
  +        String cleanedLine = this.cleanURL(line);
           // now we set request method
           this.GEN.setMethod(this.RMETHOD);
           if (FILTER != null)
  @@ -292,10 +292,10 @@
                   // we filter the line first, before we try
                   // to separate the URL into file and 
                   // parameters.
  -                line = FILTER.filter(line);
  +                line = FILTER.filter(cleanedLine);
                   if (line != null)
                   {
  -                    createUrl(line);
  +                    createUrl(cleanedLine);
                   }
               }
           }
  @@ -305,7 +305,7 @@
               COUNT++;
               // in the case when the filter is not set, we
               // parse all the lines
  -            createUrl(line);
  +            createUrl(cleanedLine);
           }
       }
   
  
  
  
  1.2       +3 -2      jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java
  
  Index: JDBCSamplerBeanInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JDBCSamplerBeanInfo.java	19 May 2004 20:15:43 -0000	1.1
  +++ JDBCSamplerBeanInfo.java	21 May 2004 16:58:26 -0000	1.2
  @@ -9,8 +9,7 @@
   import java.beans.PropertyDescriptor;
   
   import org.apache.jmeter.testbeans.BeanInfoSupport;
  -
  -import sun.beans.editors.StringEditor;
  +import org.apache.jmeter.testbeans.gui.TextAreaEditor;
   
   /**
    * @author mstover
  @@ -39,5 +38,7 @@
         p = property("query");
         p.setValue(NOT_UNDEFINED, Boolean.TRUE);
         p.setValue(DEFAULT, "");
  +      p.setPropertyEditorClass(TextAreaEditor.class);
  +      
      }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org