You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2012/07/22 00:15:57 UTC

svn commit: r1364181 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java xdocs/changes.xml xdocs/usermanual/component_reference.xml

Author: pmouawad
Date: Sat Jul 21 22:15:56 2012
New Revision: 1364181

URL: http://svn.apache.org/viewvc?rev=1364181&view=rev
Log:
Bug 53318 - Add Embedded URL Filter to HTTP Request Defaults Control 
Bugzilla Id: 53318

Modified:
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java?rev=1364181&r1=1364180&r2=1364181&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java Sat Jul 21 22:15:56 2012
@@ -32,12 +32,14 @@ import org.apache.commons.lang.StringUti
 import org.apache.jmeter.config.ConfigTestElement;
 import org.apache.jmeter.config.gui.AbstractConfigGui;
 import org.apache.jmeter.gui.util.HorizontalPanel;
+import org.apache.jmeter.gui.util.VerticalPanel;
 import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
 import org.apache.jmeter.testelement.AbstractTestElement;
 import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.testelement.property.BooleanProperty;
 import org.apache.jmeter.testelement.property.StringProperty;
 import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.gui.JLabeledTextField;
 
 public class HttpDefaultsGui extends AbstractConfigGui {
 
@@ -51,6 +53,8 @@ public class HttpDefaultsGui extends Abs
 
     private UrlConfigGui urlConfig;
 
+    private JLabeledTextField embeddedRE; // regular expression used to match against embedded resource URLs
+
     public HttpDefaultsGui() {
         super();
         init();
@@ -83,9 +87,16 @@ public class HttpDefaultsGui extends Abs
         if (imageParser.isSelected()) {
             config.setProperty(new BooleanProperty(HTTPSamplerBase.IMAGE_PARSER, true));
             enableConcurrentDwn(true);
+            if(!StringUtils.isEmpty(embeddedRE.getText())) {
+                config.setProperty(new StringProperty(HTTPSamplerBase.EMBEDDED_URL_RE, embeddedRE.getText()));            
+            } else {
+                config.removeProperty(HTTPSamplerBase.EMBEDDED_URL_RE);
+            }
         } else {
             config.removeProperty(HTTPSamplerBase.IMAGE_PARSER);
+            config.removeProperty(HTTPSamplerBase.EMBEDDED_URL_RE);
             enableConcurrentDwn(false);
+            
         }
         if (concurrentDwn.isSelected()) {
             config.setProperty(new BooleanProperty(HTTPSamplerBase.CONCURRENT_DWN, true));
@@ -113,6 +124,7 @@ public class HttpDefaultsGui extends Abs
         imageParser.setSelected(false);
         concurrentDwn.setSelected(false);
         concurrentPool.setText(String.valueOf(HTTPSamplerBase.CONCURRENT_POOL_SIZE));
+        embeddedRE.setText(""); // $NON-NLS-1$
     }
 
     @Override
@@ -122,6 +134,7 @@ public class HttpDefaultsGui extends Abs
         imageParser.setSelected(((AbstractTestElement) el).getPropertyAsBoolean(HTTPSamplerBase.IMAGE_PARSER));
         concurrentDwn.setSelected(((AbstractTestElement) el).getPropertyAsBoolean(HTTPSamplerBase.CONCURRENT_DWN));
         concurrentPool.setText(((AbstractTestElement) el).getPropertyAsString(HTTPSamplerBase.CONCURRENT_POOL));
+        embeddedRE.setText(((AbstractTestElement) el).getPropertyAsString(HTTPSamplerBase.EMBEDDED_URL_RE, ""));
     }
 
     private void init() {
@@ -134,7 +147,7 @@ public class HttpDefaultsGui extends Abs
         add(urlConfig, BorderLayout.CENTER);
 
         // OPTIONAL TASKS
-        final JPanel optionalTasksPanel = new HorizontalPanel();
+        final JPanel optionalTasksPanel = new VerticalPanel();
         optionalTasksPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), JMeterUtils
                 .getResString("optional_tasks"))); // $NON-NLS-1$
 
@@ -160,6 +173,12 @@ public class HttpDefaultsGui extends Abs
         checkBoxPanel.add(concurrentDwn);
         checkBoxPanel.add(concurrentPool);
         optionalTasksPanel.add(checkBoxPanel);
+        
+        // Embedded URL match regex
+        embeddedRE = new JLabeledTextField(JMeterUtils.getResString("web_testing_embedded_url_pattern"),30); // $NON-NLS-1$
+        optionalTasksPanel.add(embeddedRE);
+
+        
         add(optionalTasksPanel, BorderLayout.SOUTH);
     }
 
@@ -171,12 +190,14 @@ public class HttpDefaultsGui extends Abs
     private void enableConcurrentDwn(final boolean enable) {
         if (enable) {
             concurrentDwn.setEnabled(true);
+            embeddedRE.setEnabled(true);
             if (concurrentDwn.isSelected()) {
                 concurrentPool.setEnabled(true);
             }
         } else {
             concurrentDwn.setEnabled(false);
             concurrentPool.setEnabled(false);
+            embeddedRE.setEnabled(false);
         }
     }
 

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1364181&r1=1364180&r2=1364181&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sat Jul 21 22:15:56 2012
@@ -123,6 +123,7 @@ JSR223 Test Elements using Script file a
 <h3>Other samplers</h3>
 <ul>
 <li><bugzilla>55310</bugzilla> - TestAction should implement Interruptible</li>
+<li><bugzilla>53318</bugzilla> - Add Embedded URL Filter to HTTP Request Defaults Control </li>
 </ul>
 
 <h3>Controllers</h3>

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1364181&r1=1364180&r2=1364181&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Jul 21 22:15:56 2012
@@ -3363,6 +3363,11 @@ and send HTTP/HTTPS requests for all ima
         </property>
         <property name="Use concurrent pool" required="No">Use a pool of concurrent connections to get embedded resources.</property>
         <property name="Size" required="No">Pool size for concurrent connections used to get embedded resources.</property>
+        <property name="Embedded URLs must match:" required="No">
+        If present, this must be a regular expression that is used to match against any embedded URLs found.
+        So if you only want to download embedded resources from http://example.com/, use the expression:
+        http://example\.com/.*
+        </property>
 </properties>
 <note>
 Note: radio buttons only have two states - on or off.