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 <[email protected]>
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