Author: sebb
Date: Fri Mar 25 03:12:10 2011
New Revision: 1085245

URL: http://svn.apache.org/viewvc?rev=1085245&view=rev
Log:
Bug 50962 - SizeAssertionGui validation prevents the use of variables for the 
size

Modified:
    
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
    
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java?rev=1085245&r1=1085244&r2=1085245&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
 (original)
+++ 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
 Fri Mar 25 03:12:10 2011
@@ -24,7 +24,6 @@ import java.text.MessageFormat;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.testelement.AbstractScopedAssertion;
 import org.apache.jmeter.testelement.property.IntegerProperty;
-import org.apache.jmeter.testelement.property.LongProperty;
 import org.apache.jmeter.util.JMeterUtils;
 
 //@see org.apache.jmeter.assertions.SizeAssertionTest for unit tests
@@ -90,8 +89,8 @@ public class SizeAssertion extends Abstr
     /**
      * Returns the size in bytes to be asserted.
      */
-    public long getAllowedSize() {
-        return getPropertyAsLong(SIZE_KEY);
+    public String getAllowedSize() {
+        return getPropertyAsString(SIZE_KEY);
     }
 
     
/***************************************************************************
@@ -114,23 +113,14 @@ public class SizeAssertion extends Abstr
     /**
      * Set the size that shall be asserted.
      * 
-     * @param size -
-     *            a number of bytes. Is not allowed to be negative. Use
-     *            Long.MAX_VALUE to indicate illegal or empty inputs. This will
-     *            result in not checking the assertion.
-     * 
-     * @throws IllegalArgumentException
-     *             If <code>size</code> is negative.
+     * @param size a number of bytes. 
      */
-    public void setAllowedSize(long size) throws IllegalArgumentException {
-        if (size < 0L) {
-            throw new 
IllegalArgumentException(JMeterUtils.getResString("argument_must_not_be_negative"));
 //$NON-NLS-1$
-        }
-        if (size == Long.MAX_VALUE) {
-            setProperty(new LongProperty(SIZE_KEY, 0));
-        } else {
-            setProperty(new LongProperty(SIZE_KEY, size));
-        }
+    public void setAllowedSize(String size) {
+            setProperty(SIZE_KEY, size);
+    }
+
+    public void setAllowedSize(long size) {
+        setProperty(SIZE_KEY, Long.toString(size));
     }
 
     /**
@@ -143,31 +133,32 @@ public class SizeAssertion extends Abstr
      */
     private String compareSize(long resultSize) {
         String comparatorErrorMessage;
+        long allowedSize = Long.parseLong(getAllowedSize());
         boolean result = false;
         int comp = getCompOper();
         switch (comp) {
         case EQUAL:
-            result = (resultSize == getAllowedSize());
+            result = (resultSize == allowedSize);
             comparatorErrorMessage = 
JMeterUtils.getResString("size_assertion_comparator_error_equal"); //$NON-NLS-1$
             break;
         case NOTEQUAL:
-            result = (resultSize != getAllowedSize());
+            result = (resultSize != allowedSize);
             comparatorErrorMessage = 
JMeterUtils.getResString("size_assertion_comparator_error_notequal"); 
//$NON-NLS-1$
             break;
         case GREATERTHAN:
-            result = (resultSize > getAllowedSize());
+            result = (resultSize > allowedSize);
             comparatorErrorMessage = 
JMeterUtils.getResString("size_assertion_comparator_error_greater"); 
//$NON-NLS-1$
             break;
         case LESSTHAN:
-            result = (resultSize < getAllowedSize());
+            result = (resultSize < allowedSize);
             comparatorErrorMessage = 
JMeterUtils.getResString("size_assertion_comparator_error_less"); //$NON-NLS-1$
             break;
         case GREATERTHANEQUAL:
-            result = (resultSize >= getAllowedSize());
+            result = (resultSize >= allowedSize);
             comparatorErrorMessage = 
JMeterUtils.getResString("size_assertion_comparator_error_greaterequal"); 
//$NON-NLS-1$
             break;
         case LESSTHANEQUAL:
-            result = (resultSize <= getAllowedSize());
+            result = (resultSize <= allowedSize);
             comparatorErrorMessage = 
JMeterUtils.getResString("size_assertion_comparator_error_lessequal"); 
//$NON-NLS-1$
             break;
         default:

Modified: 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java?rev=1085245&r1=1085244&r2=1085245&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
 (original)
+++ 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
 Fri Mar 25 03:12:10 2011
@@ -20,14 +20,10 @@ package org.apache.jmeter.assertions.gui
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.awt.event.FocusEvent;
-import java.awt.event.FocusListener;
-
 import javax.swing.BorderFactory;
 import javax.swing.Box;
 import javax.swing.ButtonGroup;
 import javax.swing.JLabel;
-import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 import javax.swing.JTextField;
@@ -40,7 +36,7 @@ import org.apache.jorphan.gui.layout.Ver
 /**
  * GUI for {@link SizeAssertion}
  */
-public class SizeAssertionGui extends AbstractAssertionGui implements 
FocusListener, ActionListener {
+public class SizeAssertionGui extends AbstractAssertionGui implements 
ActionListener {
 
     private static final long serialVersionUID = 240L;
 
@@ -72,15 +68,8 @@ public class SizeAssertionGui extends Ab
      */
     public void modifyTestElement(TestElement el) {
         configureTestElement(el);
-        String sizeString = size.getText();
-        long assertionSize = 0;
-        try {
-            assertionSize = Long.parseLong(sizeString);
-        } catch (NumberFormatException e) {
-            assertionSize = Long.MAX_VALUE;
-        }
         SizeAssertion assertion = (SizeAssertion) el;
-        assertion.setAllowedSize(assertionSize);
+        assertion.setAllowedSize(size.getText());
         assertion.setCompOper(getState());
         saveScopeSettings(assertion);
     }
@@ -106,7 +95,7 @@ public class SizeAssertionGui extends Ab
     public void configure(TestElement el) {
         super.configure(el);
         SizeAssertion assertion = (SizeAssertion) el;
-        size.setText(String.valueOf(assertion.getAllowedSize()));
+        size.setText(assertion.getAllowedSize());
         setState(assertion.getCompOper());
         showScopeSettings(assertion);
     }
@@ -157,8 +146,7 @@ public class SizeAssertionGui extends Ab
                 JMeterUtils.getResString("size_assertion_size_test"))); 
//$NON-NLS-1$
 
         sizePanel.add(new 
JLabel(JMeterUtils.getResString("size_assertion_label"))); //$NON-NLS-1$
-        size = new JTextField(5);
-        size.addFocusListener(this);
+        size = new JTextField(12);
         sizePanel.add(size);
 
         sizePanel.add(createComparatorButtonPanel());
@@ -200,30 +188,6 @@ public class SizeAssertionGui extends Ab
         return button;
     }
 
-    public void focusLost(FocusEvent e) {
-        boolean isInvalid = false;
-        String sizeString = size.getText();
-        if (sizeString != null) {
-            try {
-                long assertionSize = Long.parseLong(sizeString);
-                if (assertionSize < 0) {
-                    isInvalid = true;
-                }
-            } catch (NumberFormatException ex) {
-                isInvalid = true;
-            }
-            if (isInvalid) {
-                JOptionPane.showMessageDialog(null,
-                        
JMeterUtils.getResString("size_assertion_input_error"), //$NON-NLS-1$
-                        "Error",
-                        JOptionPane.ERROR_MESSAGE);
-            }
-        }
-    }
-
-    public void focusGained(FocusEvent e) {
-    }
-
     public void actionPerformed(ActionEvent e) {
         int comparator = Integer.parseInt(e.getActionCommand());
         execState = comparator;

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1085245&r1=1085244&r2=1085245&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Mar 25 03:12:10 2011
@@ -180,6 +180,7 @@ Fixed RMI startup to provide location of
 <h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
 <ul>
 <li>Bug 48015 - Proposal new icons for pre-processor, post-processor and 
assertion elements</li>
+<li>Bug 50962 - SizeAssertionGui validation prevents the use of variables for 
the size</li>
 </ul>
 
 <h3>Functions</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to