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