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>