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 js...@apache.org on 2004/01/04 13:08:48 UTC

cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui TestBeanGUI.java WrapperEditor.java

jsalvata    2004/01/04 04:08:48

  Modified:    src/core/org/apache/jmeter/testbeans/gui Tag:
                        testbeans_experimental_branch TestBeanGUI.java
                        WrapperEditor.java
  Log:
  Change handling of undefined properties so it really means
  undefined.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.5   +34 -7     jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/Attic/TestBeanGUI.java
  
  Index: TestBeanGUI.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/Attic/TestBeanGUI.java,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- TestBeanGUI.java	4 Jan 2004 11:39:50 -0000	1.1.2.4
  +++ TestBeanGUI.java	4 Jan 2004 12:08:47 -0000	1.1.2.5
  @@ -87,6 +87,7 @@
   import org.apache.jmeter.testbeans.TestBean;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.property.JMeterProperty;
  +import org.apache.jmeter.testelement.property.PropertyIterator;
   import org.apache.jmeter.timers.Timer;
   import org.apache.jmeter.visualizers.Visualizer;
   import org.apache.jorphan.logging.LoggingManager;
  @@ -241,15 +242,40 @@
       {
           super.configure(element);
           
  -        for (int i=0; i<descriptors.length; i++)
  +        for (PropertyIterator jprops= element.propertyIterator();
  +        		jprops.hasNext(); )
           {
  -            if (editors[i] == null) continue;
  -            String name= descriptors[i].getName(); 
  -            JMeterProperty value= element.getProperty(name);
  -            editors[i].setValue(value);
  +        	JMeterProperty jprop= jprops.next();
  +
  +			String name= jprop.getName(); 
  +        	int i= descriptorIndex(jprop.getName());
  +        	
  +        	if (i == -1) continue; // ignore auxiliary properties like gui_class 
  +            if (editors[i] == null) continue; // ignore non-editable properties
  +            
  +            editors[i].setValue(jprop);
           }
       }
   
  +	/**
  +	 * Find the index of the property of the given name.
  +	 * 
  +	 * @param name the name of the property
  +	 * @return the index of that property in the descriptors array, or -1 if 
  +	 * 			there's no property of this name.
  +	 */
  +	private int descriptorIndex(String name)
  +	{
  +		for (int i=0; i<descriptors.length; i++)
  +		{
  +			if (descriptors[i].getName().equals(name))
  +			{
  +				return i;
  +			}
  +		}
  +		return -1;
  +	}
  +	
       public TestElement createTestElement()
       {
           try
  @@ -281,7 +307,8 @@
               if (editors[i] == null) continue;
               JMeterProperty value=
                   (JMeterProperty)editors[i].getValue();
  -            element.setProperty(value);
  +            if (value != null) element.setProperty(value);
  +            else element.removeProperty(descriptors[i].getName());
           }
       }
   
  
  
  
  1.1.2.4   +9 -6      jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/Attic/WrapperEditor.java
  
  Index: WrapperEditor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testbeans/gui/Attic/WrapperEditor.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- WrapperEditor.java	4 Jan 2004 02:01:42 -0000	1.1.2.3
  +++ WrapperEditor.java	4 Jan 2004 12:08:47 -0000	1.1.2.4
  @@ -288,8 +288,14 @@
   			}
           }
   
  -		result= TestBean.wrapInProperty(value);
  -		result.setName(name);
  +		if (value == null)
  +		{
  +			result= null;
  +		}
  +		else {
  +			result= TestBean.wrapInProperty(value);
  +			result.setName(name);
  +		}
           
           if (log.isDebugEnabled())
           {
  @@ -319,9 +325,6 @@
   		}
   		if (value instanceof JMeterProperty)
   		{
  -			/*value= TestBean.unwrapProperty(
  -				(JMeterProperty)value,
  -				type);*/
   			value= ((JMeterProperty)value).getObjectValue();
   		}
   		if (editor.supportsCustomEditor())
  
  
  

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