Author: pmouawad
Date: Thu Jan 26 20:17:54 2017
New Revision: 1780469

URL: http://svn.apache.org/viewvc?rev=1780469&view=rev
Log:
Bug 60654 - Validation Feature : Be able to ignore BackendListener
Based on https://github.com/apache/jmeter/pull/258 from Maxime Chassagneux
Bugzilla Id: 60654

Added:
    jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/
    jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java   
(with props)
Modified:
    jmeter/trunk/bin/jmeter.properties
    
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
    
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/properties_reference.xml

Modified: jmeter/trunk/bin/jmeter.properties
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- jmeter/trunk/bin/jmeter.properties (original)
+++ jmeter/trunk/bin/jmeter.properties Thu Jan 26 20:17:54 2017
@@ -1290,6 +1290,9 @@ system.properties=system.properties
 # Number of threads to use to validate a Thread Group
 #testplan_validation.nb_threads_per_thread_group=1
 
+# Ignore BackendListener when validating the thread group of plan
+#testplan_validation.ignore_backends=true
+
 # Ignore timers when validating the thread group of plan
 #testplan_validation.ignore_timers=true
 

Modified: 
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- 
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
 (original)
+++ 
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
 Thu Jan 26 20:17:54 2017
@@ -48,7 +48,8 @@ import org.apache.log.Logger;
  * @since 2.13
  */
 public class BackendListener extends AbstractTestElement
-    implements Serializable, SampleListener, TestStateListener, NoThreadClone, 
Remoteable  {
+    implements Backend, Serializable, SampleListener, 
+        TestStateListener, NoThreadClone, Remoteable {
 
     /**
      * 

Modified: 
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- 
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
 (original)
+++ 
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
 Thu Jan 26 20:17:54 2017
@@ -24,6 +24,7 @@ import org.apache.jmeter.threads.Abstrac
 import org.apache.jmeter.threads.ThreadGroup;
 import org.apache.jmeter.timers.Timer;
 import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jmeter.visualizers.backend.Backend;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.log.Logger;
 
@@ -39,12 +40,18 @@ public class TreeClonerForValidation ext
      * Number of Threads to configure when running a Thread Group during a 
validation
      */
     protected static final int VALIDATION_NUMBER_OF_THREADS = 
JMeterUtils.getPropDefault("testplan_validation.nb_threads_per_thread_group", 
1); //$NON-NLS-1$
+
     /**
      * Ignore or not timers during a Thread Group validation
      */
     protected static final boolean VALIDATION_IGNORE_TIMERS = 
JMeterUtils.getPropDefault("testplan_validation.ignore_timers", true); 
//$NON-NLS-1$
 
     /**
+     * Ignore or not Backend during a Thread Group validation
+     */
+    protected static final boolean VALIDATION_IGNORE_BACKENDS = 
JMeterUtils.getPropDefault("testplan_validation.ignore_backends", true); 
//$NON-NLS-1$
+
+    /**
      * Number of iterations to run during a Thread Group validation
      */
     protected static final int VALIDATION_ITERATIONS = 
JMeterUtils.getPropDefault("testplan_validation.number_iterations", 1); 
//$NON-NLS-1$
@@ -70,8 +77,9 @@ public class TreeClonerForValidation ext
      */
     @Override
     protected Object addNodeToTree(Object node) {
-        if(VALIDATION_IGNORE_TIMERS && node instanceof Timer) {
-            return node; // don't add the timer
+        if((VALIDATION_IGNORE_TIMERS && node instanceof Timer) || 
+                (VALIDATION_IGNORE_BACKENDS && node instanceof Backend)) {
+            return node; // don't add timer or backend
         } else {
             Object clonedNode = super.addNodeToTree(node);
             if(clonedNode instanceof org.apache.jmeter.threads.ThreadGroup) {

Added: jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java?rev=1780469&view=auto
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java 
(added)
+++ jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java 
Thu Jan 26 20:17:54 2017
@@ -0,0 +1,11 @@
+package org.apache.jmeter.visualizers.backend;
+
+import java.io.Serializable;
+
+/**
+ * Identifies Backend components
+ * @since 3.2
+ */
+public interface Backend extends Serializable {
+    // NOOP
+}

Propchange: 
jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Thu Jan 26 20:17:54 2017
@@ -161,6 +161,7 @@ JMeter now requires Java 8. Ensure you u
     <li><bug>60595</bug>Add a SplashScreen at the start of JMeter GUI. 
Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
     <li><bug>55258</bug>Drop "Close" icon from toolbar and add "New" to menu. 
Partly based on contribution from Sanduni Kanishka 
(https://github.com/SanduniKanishka)</li>
     <li><bug>59995</bug>Allow user to change font size with 2 new menu items 
and use <code>jmeter.hidpi.scale.factor</code> for scaling fonts. Contributed 
by Ubik Load Pack (support at ubikloadpack.com)</li>
+    <li><bug>60654</bug>Validation Feature : Be able to ignore 
BackendListener. Contributed by Maxime Chassagneux (maxime.chassagneux at 
gmail.com).</li>
 </ul>
 
 <ch_section>Non-functional changes</ch_section>

Modified: jmeter/trunk/xdocs/usermanual/properties_reference.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/properties_reference.xml?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/properties_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/properties_reference.xml Thu Jan 26 20:17:54 
2017
@@ -1781,6 +1781,10 @@ log_level.org.apache.http.client=DEBUG
     Ignore timers when validating the thread group of plan.<br/>
     Defaults to: <code>true</code>
 </property>
+<property name="testplan_validation.ignore_backends">
+    Ignore BackendListener when validating the thread group of plan.<br/>
+    Defaults to: <code>true</code>
+</property>
 <property name="testplan_validation.number_iterations">
     Number of iterations to use to validate a Thread Group.<br/>
     Defaults to: <code>1</code>


Reply via email to