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 311342a7bc fix(deps): update com.fasterxml.jackson.core to v2.16.0
311342a7bc is described below

commit 311342a7bc24f537d65bd0c82dd509c0340b4a7e
Author: Mend Renovate <b...@renovateapp.com>
AuthorDate: Fri Dec 8 04:49:02 2023 +0000

    fix(deps): update com.fasterxml.jackson.core to v2.16.0
    
    Fixes https://github.com/apache/jmeter/pull/6124
---
 src/bom-thirdparty/build.gradle.kts                       |  6 +++---
 .../jmeter/assertions/jmespath/JMESPathAssertion.java     |  7 ++++++-
 .../jmeter/extractor/json/jmespath/JMESPathExtractor.java |  7 ++++++-
 .../extractor/json/render/RenderAsJmesPathRenderer.java   |  7 ++++++-
 .../org/apache/jmeter/report/dashboard/JsonExporter.java  |  9 +++++++--
 .../apache/jmeter/protocol/bolt/sampler/BoltSampler.java  | 10 ++++++++--
 .../jmeter/protocol/http/proxy/DefaultSamplerCreator.java |  7 ++++++-
 .../protocol/http/util/GraphQLRequestParamUtils.java      | 12 +++++++++---
 .../protocol/http/util/TestGraphQLRequestParamUtils.java  | 15 ++++++++++-----
 9 files changed, 61 insertions(+), 19 deletions(-)

diff --git a/src/bom-thirdparty/build.gradle.kts 
b/src/bom-thirdparty/build.gradle.kts
index fcbd93af63..d80302d4c5 100644
--- a/src/bom-thirdparty/build.gradle.kts
+++ b/src/bom-thirdparty/build.gradle.kts
@@ -42,9 +42,9 @@ dependencies {
 
         api("bsf:bsf:2.4.0")
         api("cglib:cglib-nodep:3.3.0")
-        api("com.fasterxml.jackson.core:jackson-annotations:2.15.2")
-        api("com.fasterxml.jackson.core:jackson-core:2.15.2")
-        api("com.fasterxml.jackson.core:jackson-databind:2.15.2")
+        api("com.fasterxml.jackson.core:jackson-annotations:2.16.0")
+        api("com.fasterxml.jackson.core:jackson-core:2.16.0")
+        api("com.fasterxml.jackson.core:jackson-databind:2.16.0")
         api("com.fifesoft:rsyntaxtextarea:3.3.4")
         api("com.formdev:svgSalamander:1.1.4")
         api("com.github.ben-manes.caffeine:caffeine:2.9.3")
diff --git 
a/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/JMESPathAssertion.java
 
b/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/JMESPathAssertion.java
index 780ea8ce79..c6b615dd65 100644
--- 
a/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/JMESPathAssertion.java
+++ 
b/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/JMESPathAssertion.java
@@ -32,8 +32,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.fasterxml.jackson.databind.node.NullNode;
 
 import io.burt.jmespath.Expression;
@@ -56,7 +58,10 @@ public class JMESPathAssertion extends AbstractTestElement 
implements Serializab
     private static final String EXPECT_NULL = "EXPECT_NULL";
     private static final String INVERT = "INVERT";
     private static final String ISREGEX = "ISREGEX";
-    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+    static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build();
 
     private static final boolean USE_JAVA_REGEX = !JMeterUtils.getPropDefault(
             "jmeter.regex.engine", "oro").equalsIgnoreCase("oro");
diff --git 
a/src/components/src/main/java/org/apache/jmeter/extractor/json/jmespath/JMESPathExtractor.java
 
b/src/components/src/main/java/org/apache/jmeter/extractor/json/jmespath/JMESPathExtractor.java
index 0001124d81..85650c9c9a 100644
--- 
a/src/components/src/main/java/org/apache/jmeter/extractor/json/jmespath/JMESPathExtractor.java
+++ 
b/src/components/src/main/java/org/apache/jmeter/extractor/json/jmespath/JMESPathExtractor.java
@@ -37,8 +37,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 
 import io.burt.jmespath.Expression;
@@ -59,7 +61,10 @@ public class JMESPathExtractor extends 
AbstractScopedTestElement
     private static final String DEFAULT_VALUE = "JMESExtractor.defaultValue"; 
// $NON-NLS-1$
     private static final String MATCH_NUMBER = "JMESExtractor.matchNumber"; // 
$NON-NLS-1$
     private static final String REF_MATCH_NR = "_matchNr"; // $NON-NLS-1$
-    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+    static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build();
 
     @Override
     public void process() {
diff --git 
a/src/components/src/main/java/org/apache/jmeter/extractor/json/render/RenderAsJmesPathRenderer.java
 
b/src/components/src/main/java/org/apache/jmeter/extractor/json/render/RenderAsJmesPathRenderer.java
index 45e1241d3c..5545cdb5d1 100644
--- 
a/src/components/src/main/java/org/apache/jmeter/extractor/json/render/RenderAsJmesPathRenderer.java
+++ 
b/src/components/src/main/java/org/apache/jmeter/extractor/json/render/RenderAsJmesPathRenderer.java
@@ -24,8 +24,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.google.auto.service.AutoService;
 
@@ -36,7 +38,10 @@ import com.google.auto.service.AutoService;
 @AutoService(ResultRenderer.class)
 public class RenderAsJmesPathRenderer extends AbstractRenderAsJsonRenderer {
     private static final Logger log = 
LoggerFactory.getLogger(RenderAsJmesPathRenderer.class);
-    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+    static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build();
 
     @Override
     protected String getTabLabel() {
diff --git 
a/src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonExporter.java 
b/src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonExporter.java
index 9ad3a0a435..c942ee45ea 100644
--- 
a/src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonExporter.java
+++ 
b/src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonExporter.java
@@ -39,8 +39,9 @@ import org.apache.jorphan.util.JOrphanUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.ObjectWriter;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 
 /**
  * Implementation of {@link DataExporter} that exports statistics to JSON
@@ -52,7 +53,11 @@ public class JsonExporter extends AbstractDataExporter {
     public static final String OUTPUT_FILENAME = "statistics.json";
     private static final FileFilter JSON_FILE_FILTER =
             file -> file.isFile() && file.getName().equals(OUTPUT_FILENAME);
-    private final static ObjectWriter OBJECT_WRITER = new 
ObjectMapper().writerWithDefaultPrettyPrinter();
+    private final static ObjectWriter OBJECT_WRITER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build()
+            .writerWithDefaultPrettyPrinter();
 
 
     public JsonExporter() {
diff --git 
a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
 
b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
index d01cedbbef..78f2a41338 100644
--- 
a/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
+++ 
b/src/protocol/bolt/src/main/java/org/apache/jmeter/protocol/bolt/sampler/BoltSampler.java
@@ -45,9 +45,10 @@ import org.neo4j.driver.TransactionConfig;
 import org.neo4j.driver.exceptions.Neo4jException;
 import org.neo4j.driver.summary.ResultSummary;
 
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectReader;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 
 @TestElementMetadata(labelResource = "displayName")
 public class BoltSampler extends AbstractBoltTestElement implements Sampler, 
TestBean, ConfigMergabilityIndicator {
@@ -57,7 +58,12 @@ public class BoltSampler extends AbstractBoltTestElement 
implements Sampler, Tes
 
     // Enables to initialize object mapper on demand
     private static class Holder {
-        private static final ObjectReader OBJECT_READER = new 
ObjectMapper().readerFor(new TypeReference<HashMap<String, Object>>() {});
+        private static final ObjectReader OBJECT_READER = JsonMapper.builder()
+                // See https://github.com/FasterXML/jackson-core/issues/991
+                .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+                .build()
+                .readerFor(new TypeReference<HashMap<String, Object>>() {
+                });
     }
 
     @Override
diff --git 
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
 
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
index fc075cc310..aa2fd9516d 100644
--- 
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
+++ 
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
@@ -58,7 +58,9 @@ import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.DefaultHandler;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.google.auto.service.AutoService;
 
 /**
@@ -76,7 +78,10 @@ public class DefaultSamplerCreator extends 
AbstractSamplerCreator {
     private static final int SAMPLER_NAME_NAMING_MODE_SUFFIX = 2; // 
$NON-NLS-1$
     private static final int SAMPLER_NAME_NAMING_MODE_FORMATTER = 3; // 
$NON_NLS-1$
 
-    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+    private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build();
     /**
      *
      */
diff --git 
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/GraphQLRequestParamUtils.java
 
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/GraphQLRequestParamUtils.java
index 00673bf4ab..f64ba78099 100644
--- 
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/GraphQLRequestParamUtils.java
+++ 
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/GraphQLRequestParamUtils.java
@@ -36,8 +36,10 @@ import org.apache.jmeter.testelement.property.JMeterProperty;
 import com.fasterxml.jackson.core.JsonFactory;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.fasterxml.jackson.databind.node.JsonNodeType;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
@@ -56,6 +58,11 @@ public final class GraphQLRequestParamUtils {
 
     private static final JsonFactory jsonFactory = new JsonFactory();
 
+    private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build();
+
     private GraphQLRequestParamUtils() {
     }
 
@@ -133,11 +140,10 @@ public final class GraphQLRequestParamUtils {
         final String encoding = StringUtils.isNotEmpty(contentEncoding) ? 
contentEncoding
                 : EncoderCache.URL_ARGUMENT_ENCODING;
 
-        final ObjectMapper mapper = new ObjectMapper();
         ObjectNode data;
 
         try (InputStreamReader reader = new InputStreamReader(new 
ByteArrayInputStream(postData), encoding)) {
-            data = mapper.readValue(reader, ObjectNode.class);
+            data = OBJECT_MAPPER.readValue(reader, ObjectNode.class);
         } catch (IOException e) {
             throw new IllegalArgumentException("Invalid json data: " + 
e.getLocalizedMessage(), e);
         }
@@ -166,7 +172,7 @@ public final class GraphQLRequestParamUtils {
             final JsonNodeType nodeType = variablesNode.getNodeType();
             if (nodeType != JsonNodeType.NULL) {
                 if (nodeType == JsonNodeType.OBJECT) {
-                    variables = mapper.writeValueAsString(variablesNode);
+                    variables = 
OBJECT_MAPPER.writeValueAsString(variablesNode);
                 } else {
                     throw new IllegalArgumentException("Not a valid object 
node for GraphQL variables.");
                 }
diff --git 
a/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestGraphQLRequestParamUtils.java
 
b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestGraphQLRequestParamUtils.java
index be7b075eed..5ad929b5c1 100644
--- 
a/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestGraphQLRequestParamUtils.java
+++ 
b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestGraphQLRequestParamUtils.java
@@ -36,8 +36,10 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.jupiter.params.provider.ValueSource;
 
+import com.fasterxml.jackson.core.StreamReadFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 
 class TestGraphQLRequestParamUtils {
 
@@ -73,7 +75,10 @@ class TestGraphQLRequestParamUtils {
             + "\"query\":\"" + StringUtils.replace(QUERY.trim(), "\n", "\\n") 
+ "\""
             + "}";
 
-    private static final ObjectMapper objectMapper = new ObjectMapper();
+    private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder()
+            // See https://github.com/FasterXML/jackson-core/issues/991
+            .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
+            .build();;
 
     private GraphQLRequestParams params;
 
@@ -101,8 +106,8 @@ class TestGraphQLRequestParamUtils {
     }
 
     static Stream<org.junit.jupiter.params.provider.Arguments> 
postBodyFieldNameAndJsonNodes() throws Exception {
-        final JsonNode expectedPostBodyJson = 
objectMapper.readTree(EXPECTED_POST_BODY);
-        final JsonNode actualPostBodyJson = objectMapper.readTree(
+        final JsonNode expectedPostBodyJson = 
OBJECT_MAPPER.readTree(EXPECTED_POST_BODY);
+        final JsonNode actualPostBodyJson = OBJECT_MAPPER.readTree(
                 GraphQLRequestParamUtils.toPostBodyString(new 
GraphQLRequestParams(OPERATION_NAME, QUERY, VARIABLES)));
         return Stream.of(
                 arguments(GraphQLRequestParamUtils.OPERATION_NAME_FIELD, 
expectedPostBodyJson, actualPostBodyJson),
@@ -124,8 +129,8 @@ class TestGraphQLRequestParamUtils {
 
     @Test
     void testVariablesToGetParamValue() throws Exception {
-        assertEquals(objectMapper.readTree(EXPECTED_VARIABLES_GET_PARAM_VALUE),
-                
objectMapper.readTree(GraphQLRequestParamUtils.variablesToGetParamValue(params.getVariables())));
+        
assertEquals(OBJECT_MAPPER.readTree(EXPECTED_VARIABLES_GET_PARAM_VALUE),
+                
OBJECT_MAPPER.readTree(GraphQLRequestParamUtils.variablesToGetParamValue(params.getVariables())));
     }
 
     @Test

Reply via email to