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 =================== -->

Reply via email to