You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by vl...@apache.org on 2023/12/14 16:32:56 UTC
(jmeter) branch master updated: fix(deps): update com.fasterxml.jackson.core to v2.16.0
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 <bo...@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