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 se...@apache.org on 2008/10/25 16:43:15 UTC

svn commit: r707847 - in /jakarta/jmeter/trunk: src/core/org/apache/jmeter/testelement/AbstractTestElement.java src/core/org/apache/jmeter/testelement/TestElement.java xdocs/changes.xml

Author: sebb
Date: Sat Oct 25 07:43:15 2008
New Revision: 707847

URL: http://svn.apache.org/viewvc?rev=707847&view=rev
Log:
Add some new convenience property methods:
boolean with default, integer, integer with default

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java?rev=707847&r1=707846&r2=707847&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java Sat Oct 25 07:43:15 2008
@@ -28,6 +28,7 @@
 
 import org.apache.jmeter.testelement.property.BooleanProperty;
 import org.apache.jmeter.testelement.property.CollectionProperty;
+import org.apache.jmeter.testelement.property.IntegerProperty;
 import org.apache.jmeter.testelement.property.JMeterProperty;
 import org.apache.jmeter.testelement.property.MapProperty;
 import org.apache.jmeter.testelement.property.MultiProperty;
@@ -182,6 +183,11 @@
         return getProperty(key).getIntValue();
     }
 
+    public int getPropertyAsInt(String key, int defaultValue) {
+        JMeterProperty jmp = getProperty(key);
+        return jmp instanceof NullProperty ? defaultValue : jmp.getIntValue();
+    }
+
     public boolean getPropertyAsBoolean(String key) {
         return getProperty(key).getBooleanValue();
     }
@@ -285,7 +291,7 @@
     }
 
     public void setProperty(String name, boolean value) {
-        setProperty(new StringProperty(name, Boolean.toString(value)));
+        setProperty(new BooleanProperty(name, value));
     }
 
     /**
@@ -307,6 +313,29 @@
         }
     }
 
+    public void setProperty(String name, int value) {
+        setProperty(new IntegerProperty(name, value));
+    }
+
+    /**
+     * Create a boolean property - but only if it is not the default.
+     * This is intended for use when adding new properties to JMeter
+     * so that JMX files are not expanded unnecessarily.
+     *
+     * N.B. - must agree with the default applied when reading the property.
+     *
+     * @param name property name
+     * @param value current value
+     * @param dflt default
+     */
+    public void setProperty(String name, int value, int dflt) {
+        if (value == dflt) {
+            removeProperty(name);
+        } else {
+            setProperty(new IntegerProperty(name, value));
+        }
+    }
+
     public PropertyIterator propertyIterator() {
         return new PropertyIteratorImpl(propMap.values());
     }

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java?rev=707847&r1=707846&r2=707847&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java Sat Oct 25 07:43:15 2008
@@ -46,6 +46,10 @@
 
     public void setProperty(String key, boolean value, boolean dflt);
 
+    public void setProperty(String key, int value);
+
+    public void setProperty(String key, int value, int dflt);
+
     /**
      * Check if ENABLED property is present and true ; defaults to true
      *
@@ -87,6 +91,8 @@
 
     public int getPropertyAsInt(String key);
 
+    public int getPropertyAsInt(String key, int defaultValue);
+
     public float getPropertyAsFloat(String key);
 
     public double getPropertyAsDouble(String key);

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=707847&r1=707846&r2=707847&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Sat Oct 25 07:43:15 2008
@@ -94,10 +94,13 @@
 </p>
 
 <p>
-The TestElement interface has two new methods:
+The TestElement interface has some new methods:
 <ul>
 <li>void setProperty(String key, String value, String dflt)</li>
-<li>void setProperty(String key, boolean value, boolean dflt);</li>
+<li>void setProperty(String key, boolean value, boolean dflt)</li>
+<li>void setProperty(String key, int value)</li>
+<li>void setProperty(String key, int value, int dflt)</li>
+<li>int getPropertyAsInt(String key, int defaultValue)</li>
 </ul>
 These are implemented in the AbstractTestElement class which all elements should extend so this is unlikely to cause a problem.
 </p>



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