This is an automated email from the ASF dual-hosted git repository.

pmouawad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new 69ecfde  Bug 64547 - Report/Dashboard: Ensure graphs Response codes 
per second is not broken by empty response code in SampleResult
69ecfde is described below

commit 69ecfde59a12fcf1e333419af9958e935107b329
Author: pmouawad <[email protected]>
AuthorDate: Tue Jun 23 12:09:31 2020 +0200

    Bug 64547 - Report/Dashboard: Ensure graphs Response codes per second is
    not broken by empty response code in SampleResult
    
    Contributed by UbikLoadPack
---
 .../report/processor/graph/AbstractSeriesSelector.java    | 15 +++++++++++++++
 .../jmeter/report/processor/graph/CodeSeriesSelector.java |  5 +----
 .../jmeter/report/processor/graph/NameSeriesSelector.java |  4 +---
 .../report/processor/graph/StaticSeriesSelector.java      |  4 +---
 xdocs/changes.xml                                         |  2 ++
 5 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
index 52a4ffd..cbd991f 100644
--- 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
+++ 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
@@ -17,6 +17,10 @@
 
 package org.apache.jmeter.report.processor.graph;
 
+import java.util.Arrays;
+
+import org.apache.commons.lang3.StringUtils;
+
 /**
  * The class AbstractSeriesSelector provide an abstract base class for
  * GraphSeriesSelector.
@@ -56,4 +60,15 @@ public abstract class AbstractSeriesSelector implements 
GraphSeriesSelector {
         return allowsControllerDiscrimination;
     }
 
+    /**
+     * @param value String value
+     * @param defaultValue Default value to use if value is empty or null
+     * @return Iterable 
+     */
+    protected Iterable<String> withDefaultIfEmpty(String value, String 
defaultValue) {
+        if (StringUtils.isEmpty(value)) {
+            value = defaultValue;
+        }
+        return Arrays.asList(value);
+    }
 }
diff --git 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
index fbc706a..a959a3c 100644
--- 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
+++ 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
@@ -17,8 +17,6 @@
 
 package org.apache.jmeter.report.processor.graph;
 
-import java.util.Arrays;
-
 import org.apache.jmeter.report.core.Sample;
 
 /**
@@ -38,7 +36,6 @@ public class CodeSeriesSelector extends 
AbstractSeriesSelector {
      */
     @Override
     public Iterable<String> select(Sample sample) {
-        return Arrays.asList(sample.getResponseCode());
+        return withDefaultIfEmpty(sample.getResponseCode(), "EMPTY_RES_CODE"); 
//$NON-NLS-1$
     }
-
 }
diff --git 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
index 63de5e5..490c95b 100644
--- 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
+++ 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
@@ -17,8 +17,6 @@
 
 package org.apache.jmeter.report.processor.graph;
 
-import java.util.Arrays;
-
 import org.apache.jmeter.report.core.Sample;
 
 /**
@@ -44,7 +42,7 @@ public class NameSeriesSelector extends 
AbstractSeriesSelector {
      */
     @Override
     public Iterable<String> select(Sample sample) {
-        return Arrays.asList(sample.getName());
+        return withDefaultIfEmpty(sample.getName(), "EMPTY_SERIE_NAME"); 
//$NON-NLS-1$
     }
 
 }
diff --git 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
index 89f3360..1f94150 100644
--- 
a/src/core/src/main/java/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
+++ 
b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
@@ -17,8 +17,6 @@
 
 package org.apache.jmeter.report.processor.graph;
 
-import java.util.Arrays;
-
 import org.apache.jmeter.report.core.Sample;
 
 /**
@@ -58,7 +56,7 @@ public class StaticSeriesSelector extends 
AbstractSeriesSelector {
      */
     @Override
     public Iterable<String> select(Sample sample) {
-        return Arrays.asList(seriesName);
+        return withDefaultIfEmpty(sample.getName(), "EMPTY_SERIE_NAME"); 
//$NON-NLS-1$
     }
 
 }
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index e97ceef..ec78d78 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -159,6 +159,7 @@ Summary
 
 <h3>Report / Dashboard</h3>
 <ul>
+    <li><bug>64547</bug>Report/Dashboard: Ensure graphs Response codes per 
second is not broken by empty response code in SampleResult. Contributed by 
Ubik Load Pack (https://ubikloadpack.com)</li>
 </ul>
 
 <h3>Documentation</h3>
@@ -180,6 +181,7 @@ Summary
   <li>Michael Weidmann (https://github.com/michaelweidmann)</li>
   <li>Deng Liming (liming.d.pro at gmail.com>)</li>
   <li>jmetertea (https://github.com/jmetertea)</li>
+  <li><a href="https://ubikloadpack.com"; >Ubik Load Pack</a></li>
 </ul>
 <p>We also thank bug reporters who helped us improve JMeter.</p>
 <ul>

Reply via email to