This is an automated email from the ASF dual-hosted git repository.
vladimirsitnikov 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 9d0961f093 fix: restore backward compatibility with JMeter < 5.6.2
9d0961f093 is described below
commit 9d0961f093d6e10255466224ba74042990aca085
Author: Vladimir Sitnikov <[email protected]>
AuthorDate: Thu Dec 7 13:54:22 2023 +0300
fix: restore backward compatibility with JMeter < 5.6.2
We should not have changed public methods to static, and we should
probably restore the API.
Unfortuantely, it would break those who already recompiled with 5.6.2,
however, I hope it it would be less harm to restore the API to the original
state.
This reverts some of the changes made in
12aefb0c70526a61f955ba1dad7fe3e99200b0b2
---
.../main/java/org/apache/jmeter/extractor/BoundaryExtractor.java | 9 +++++++--
.../org/apache/jmeter/protocol/http/control/AuthManager.java | 2 +-
.../org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java | 2 +-
.../apache/jmeter/protocol/java/sampler/JavaSamplerContext.java | 4 ++--
xdocs/changes.xml | 4 +++-
5 files changed, 14 insertions(+), 7 deletions(-)
diff --git
a/src/components/src/main/java/org/apache/jmeter/extractor/BoundaryExtractor.java
b/src/components/src/main/java/org/apache/jmeter/extractor/BoundaryExtractor.java
index f43ba726c0..1438293636 100644
---
a/src/components/src/main/java/org/apache/jmeter/extractor/BoundaryExtractor.java
+++
b/src/components/src/main/java/org/apache/jmeter/extractor/BoundaryExtractor.java
@@ -240,7 +240,7 @@ public class BoundaryExtractor extends
AbstractScopedTestElement implements Post
String leftBoundary, String rightBoundary, int matchNumber,
Stream<String> previousResults) {
boolean allItems = matchNumber <= 0;
return previousResults
- .flatMap(input -> extractAll(leftBoundary, rightBoundary,
input).stream())
+ .flatMap(input -> extract(leftBoundary, rightBoundary,
input).stream())
.skip(allItems ? 0L : matchNumber - 1)
.limit(allItems ? Long.MAX_VALUE : 1L)
.collect(Collectors.toList());
@@ -302,7 +302,12 @@ public class BoundaryExtractor extends
AbstractScopedTestElement implements Post
return Collections.unmodifiableList(matches);
}
- public static List<String> extractAll(
+ public List<String> extractAll(
+ String leftBoundary, String rightBoundary, String textToParse) {
+ return extract(leftBoundary, rightBoundary, textToParse);
+ }
+
+ private static List<String> extract(
String leftBoundary, String rightBoundary, String textToParse) {
return extract(leftBoundary, rightBoundary, -1, textToParse);
}
diff --git
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/AuthManager.java
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/AuthManager.java
index ea783cfb8e..20b41daccb 100644
---
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/AuthManager.java
+++
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/AuthManager.java
@@ -472,7 +472,7 @@ public class AuthManager extends ConfigTestElement
implements TestStateListener,
* @param credentialsProvider provider which should be set up
* @param localhost name of the workstation to be used for {@link
NTCredentials}
*/
- public static void setupCredentials(Authorization auth, URL url,
+ public void setupCredentials(Authorization auth, URL url,
HttpClientContext localContext,
CredentialsProvider credentialsProvider,
String localhost) {
diff --git
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
index b118ea659f..b10e5d27dd 100644
---
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
+++
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
@@ -302,7 +302,7 @@ public class HttpRequestHdr {
return contentType != null &&
contentType.startsWith(HTTPConstants.MULTIPART_FORM_DATA);
}
- public static MultipartUrlConfig getMultipartConfig(String contentType) {
+ public MultipartUrlConfig getMultipartConfig(String contentType) {
if(isMultipart(contentType)) {
// Get the boundary string for the multiparts from the content type
String boundaryString =
contentType.substring(contentType.toLowerCase(java.util.Locale.ENGLISH).indexOf("boundary=")
+ "boundary=".length());
diff --git
a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
index 44e2241f74..1fabe5e170 100644
---
a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
+++
b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
@@ -239,7 +239,7 @@ public class JavaSamplerContext {
* Returns {@link JMeterVariables} for the current thread.
* @return {@link JMeterVariables} for the current thread.
*/
- public static JMeterVariables getJMeterVariables() {
+ public final JMeterVariables getJMeterVariables() {
return JMeterContextService.getContext().getVariables();
}
@@ -247,7 +247,7 @@ public class JavaSamplerContext {
* Returns JMeter properties.
* @return {@link Properties} JMeter properties
*/
- public static Properties getJMeterProperties() {
+ public final Properties getJMeterProperties() {
return JMeterUtils.getJMeterProperties();
}
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index 81842e2e84..583f6eb0a4 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -68,7 +68,9 @@ Summary
<h3>General</h3>
<ul>
- <li><pr></pr><issue>6043</issue>Fix computation of <code>min</code> in
<code>Summary report</code> (regression since 5.6.0)</li>
+ <li>Restored binary API compatibility with pre-5.6.2: restore public methods
to non-static as they were before 5.6.2
<code>JavaSamplerContext.getJMeterVariables</code>,
+ <code>JavaSamplerContext.getJMeterProperties</code>,
<code>BoundaryExtractor.extractAll</code>,
+ <code>AuthManager.setupCredentials</code>,
<code>HttpRequestHdr.getMultipartConfig</code>, (regression since 5.6.2)</li>
</ul>
<!-- =================== Thanks =================== -->