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/02/26 15:09:36 UTC

svn commit: r1293840 - /jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java

Author: pmouawad
Date: Sun Feb 26 14:09:36 2012
New Revision: 1293840

URL: http://svn.apache.org/viewvc?rev=1293840&view=rev
Log:
Use GUI method in SwingUtilities#invokeAndWait

Modified:
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java?rev=1293840&r1=1293839&r2=1293840&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java Sun Feb 26 14:09:36 2012
@@ -395,31 +395,43 @@ public class ProxyControl extends Generi
      * test tree. param serverResponse to be added to allow saving of the
      * server's response while recording. A future consideration.
      */
-    public synchronized void deliverSampler(HTTPSamplerBase sampler, TestElement[] subConfigs, SampleResult result) {
-        if (filterContentType(result) && filterUrl(sampler)) {
-            JMeterTreeNode myTarget = findTargetControllerNode();
-            @SuppressWarnings("unchecked") // OK, because find only returns correct element types
-            Collection<ConfigTestElement> defaultConfigurations = (Collection<ConfigTestElement>) findApplicableElements(myTarget, ConfigTestElement.class, false);
-            @SuppressWarnings("unchecked") // OK, because find only returns correct element types
-            Collection<Arguments> userDefinedVariables = (Collection<Arguments>) findApplicableElements(myTarget, Arguments.class, true);
-
-            removeValuesFromSampler(sampler, defaultConfigurations);
-            replaceValues(sampler, subConfigs, userDefinedVariables);
-            sampler.setAutoRedirects(samplerRedirectAutomatically);
-            sampler.setFollowRedirects(samplerFollowRedirects);
-            sampler.setUseKeepAlive(useKeepAlive);
-            sampler.setImageParser(samplerDownloadImages);
+    public synchronized void deliverSampler(final HTTPSamplerBase sampler, final TestElement[] subConfigs, final SampleResult result) {
+        try {
+            SwingUtilities.invokeAndWait(new Runnable() {
+                public void run() {
+                    if (filterContentType(result) && filterUrl(sampler)) {
+                        JMeterTreeNode myTarget = findTargetControllerNode();
+                        @SuppressWarnings("unchecked") // OK, because find only returns correct element types
+                        Collection<ConfigTestElement> defaultConfigurations = (Collection<ConfigTestElement>) findApplicableElements(myTarget, ConfigTestElement.class, false);
+                        @SuppressWarnings("unchecked") // OK, because find only returns correct element types
+                        Collection<Arguments> userDefinedVariables = (Collection<Arguments>) findApplicableElements(myTarget, Arguments.class, true);
+
+                        removeValuesFromSampler(sampler, defaultConfigurations);
+                        replaceValues(sampler, subConfigs, userDefinedVariables);
+                        sampler.setAutoRedirects(samplerRedirectAutomatically);
+                        sampler.setFollowRedirects(samplerFollowRedirects);
+                        sampler.setUseKeepAlive(useKeepAlive);
+                        sampler.setImageParser(samplerDownloadImages);
 
-            placeSampler(sampler, subConfigs, myTarget);
-        }
-        else {
-            if(log.isDebugEnabled()) {
-                log.debug("Sample excluded based on url or content-type: " + result.getUrlAsString() + " - " + result.getContentType());
-            }
-            result.setSampleLabel("["+result.getSampleLabel()+"]");
+                        placeSampler(sampler, subConfigs, myTarget);
+                    }
+                    else {
+                        if(log.isDebugEnabled()) {
+                            log.debug("Sample excluded based on url or content-type: " + result.getUrlAsString() + " - " + result.getContentType());
+                        }
+                        result.setSampleLabel("["+result.getSampleLabel()+"]");
+                    }
+                    // SampleEvent is not passed JMeterVariables, because they don't make sense for Proxy Recording
+                    notifySampleListeners(new SampleEvent(result, "WorkBench")); // TODO - is this the correct threadgroup name?
+                }
+            });
+        } catch (InterruptedException e) {
+            log.error("Program error", e);
+            throw new Error(e);
+        } catch (InvocationTargetException e) {
+            log.error("Program error", e);
+            throw new Error(e);
         }
-        // SampleEvent is not passed JMeterVariables, because they don't make sense for Proxy Recording
-        notifySampleListeners(new SampleEvent(result, "WorkBench")); // TODO - is this the correct threadgroup name?
     }
 
     public void stopProxy() {
@@ -553,7 +565,7 @@ public class ProxyControl extends Generi
         final GenericController sc = new GenericController();
         sc.setProperty(TestElement.GUI_CLASS, LOGIC_CONTROLLER_GUI);
         sc.setName("-------------------"); // $NON-NLS-1$
-        SwingUtilities.invokeAndWait(new Runnable() {
+        JMeterUtils.runSafe(new Runnable() {
 			public void run() {
 				try {
 					model.addComponent(sc, node);
@@ -582,7 +594,7 @@ public class ProxyControl extends Generi
     	final GenericController sc = new GenericController();
         sc.setProperty(TestElement.GUI_CLASS, LOGIC_CONTROLLER_GUI);
         sc.setName(name);
-        SwingUtilities.invokeAndWait(new Runnable() {
+        JMeterUtils.runSafe(new Runnable() {
 			public void run() {
 		        try {
 					model.addComponent(sc, node);
@@ -611,7 +623,7 @@ public class ProxyControl extends Generi
         final TransactionController sc = new TransactionController();
         sc.setProperty(TestElement.GUI_CLASS, TRANSACTION_CONTROLLER_GUI);
         sc.setName(name);
-        SwingUtilities.invokeAndWait(new Runnable() {
+        JMeterUtils.runSafe(new Runnable() {
 			public void run() {
 				 try {
 					model.addComponent(sc, node);
@@ -847,7 +859,7 @@ public class ProxyControl extends Generi
             final long deltaTFinal = deltaT;
             final boolean firstInBatchFinal = firstInBatch;
             final JMeterTreeNode myTargetFinal = myTarget;
-            SwingUtilities.invokeAndWait(new Runnable() {
+            JMeterUtils.runSafe(new Runnable() {
 				public void run() {
 					try {
 			            final JMeterTreeNode newNode = treeModel.addComponent(sampler, myTargetFinal);