Skip to content

Commit cdce964

Browse files
committed
fixed compatibility with older Jackson versions
1 parent 9266dd2 commit cdce964

File tree

6 files changed

+10
-9
lines changed

6 files changed

+10
-9
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -535,8 +535,8 @@ workflows:
535535
matrix:
536536
parameters:
537537
args:
538-
- '-Dadb.jackson.version=2.18.0'
539-
- '-Dadb.jackson.version=2.17.2'
538+
- '-Dadb.jackson.version=2.18.2'
539+
- '-Dadb.jackson.version=2.17.3'
540540
- '-Dadb.jackson.version=2.16.2'
541541
- '-Dadb.jackson.version=2.15.4'
542542
- '-Dadb.jackson.version=2.14.3'

core/src/main/java/com/arangodb/internal/serde/InternalDeserializers.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public RawJson deserialize(JsonParser p, DeserializationContext ctxt) throws IOE
3535
return RawJson.of(new String(SerdeUtils.extractBytes(p), StandardCharsets.UTF_8));
3636
} else {
3737
StringWriter w = new StringWriter();
38-
try (JsonGenerator gen = SerdeUtils.INSTANCE.getJsonMapper().createGenerator(w)) {
38+
try (JsonGenerator gen = SerdeUtils.INSTANCE.getJsonMapper().getFactory().createGenerator(w)) {
3939
gen.copyCurrentStructure(p);
4040
gen.flush();
4141
}

core/src/main/java/com/arangodb/internal/serde/InternalSerdeImpl.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public byte[] extract(final byte[] content, final String jsonPointer) {
8484
throw new ArangoDBException("Unsupported JSON pointer: " + jsonPointer);
8585
}
8686
String[] parts = jsonPointer.substring(1).split("/");
87-
try (JsonParser parser = mapper.createParser(content)) {
87+
try (JsonParser parser = mapper.getFactory().createParser(content)) {
8888
int match = 0;
8989
int level = 0;
9090
JsonToken token = parser.nextToken();
@@ -144,7 +144,7 @@ public byte[] serializeUserData(Object value) {
144144
@Override
145145
public byte[] serializeCollectionUserData(Iterable<?> value) {
146146
ByteArrayOutputStream os = new ByteArrayOutputStream();
147-
try (JsonGenerator gen = mapper.createGenerator(os)) {
147+
try (JsonGenerator gen = mapper.getFactory().createGenerator(os)) {
148148
gen.writeStartArray();
149149
for (Object o : value) {
150150
gen.writeRawValue(new RawUserDataValue(serializeUserData(o)));
@@ -195,7 +195,7 @@ public <T> T deserializeUserData(JsonParser parser, JavaType clazz) {
195195

196196
@Override
197197
public boolean isDocument(byte[] content) {
198-
try (JsonParser p = mapper.createParser(content)) {
198+
try (JsonParser p = mapper.getFactory().createParser(content)) {
199199
if (p.nextToken() != JsonToken.START_OBJECT) {
200200
return false;
201201
}

core/src/main/java/com/arangodb/internal/serde/InternalSerializers.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void serialize(RawJson value, JsonGenerator gen, SerializerProvider seria
2727
if (JsonFactory.FORMAT_NAME_JSON.equals(gen.getCodec().getFactory().getFormatName())) {
2828
gen.writeRawValue(new RawUserDataValue(value.get().getBytes(StandardCharsets.UTF_8)));
2929
} else {
30-
try (JsonParser parser = SerdeUtils.INSTANCE.getJsonMapper().createParser(value.get())) {
30+
try (JsonParser parser = SerdeUtils.INSTANCE.getJsonMapper().getFactory().createParser(value.get())) {
3131
parser.nextToken();
3232
gen.copyCurrentStructure(parser);
3333
}

core/src/main/java/com/arangodb/internal/serde/SerdeUtils.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,13 @@ public String writeJson(final JsonNode data) {
9999
* @param parser JsonParser with current token pointing to the node to extract
100100
* @return byte array
101101
*/
102+
@SuppressWarnings("deprecation")
102103
public static byte[] extractBytes(JsonParser parser) throws IOException {
103104
JsonToken t = parser.currentToken();
104105
if (t.isStructEnd() || t == JsonToken.FIELD_NAME) {
105106
throw new ArangoDBException("Unexpected token: " + t);
106107
}
107-
byte[] data = (byte[]) parser.getTokenLocation().contentReference().getRawContent();
108+
byte[] data = (byte[]) parser.getTokenLocation().getSourceRef();
108109
int start = (int) parser.getTokenLocation().getByteOffset();
109110
int end = (int) parser.getCurrentLocation().getByteOffset();
110111
if (t.isStructStart()) {

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
<dependency>
9494
<groupId>com.fasterxml.jackson</groupId>
9595
<artifactId>jackson-bom</artifactId>
96-
<version>2.18.0</version>
96+
<version>2.18.2</version>
9797
<scope>import</scope>
9898
<type>pom</type>
9999
</dependency>

0 commit comments

Comments
 (0)