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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to