Skip to content

Commit

Permalink
[Bug #6] Fix an issue when deferring to base Jackson serializer.
Browse files Browse the repository at this point in the history
JB4JSON-LD serializer was incorrectly being called after the base one.
  • Loading branch information
ledsoft committed Feb 23, 2023
1 parent 86ce3b0 commit 5f0c434
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
Expand Up @@ -44,9 +44,10 @@ public void serialize(T value, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException {
if (shouldUseBaseSerializer(value)) {
baseSerializer.serialize(value, jsonGenerator, serializerProvider);
} else {
final JsonLdSerializer serializer = createSerializer(jsonGenerator);
serializer.serialize(value);
}
final JsonLdSerializer serializer = createSerializer(jsonGenerator);
serializer.serialize(value);
}

private boolean shouldUseBaseSerializer(T value) {
Expand Down
Expand Up @@ -277,4 +277,13 @@ void serializationReusesContextForCollection() throws Exception {
assertThat(map, hasKey(JsonLd.CONTEXT));
assertThat(map, hasKey(JsonLd.GRAPH));
}

@Test
void serializationOfCollectionOfNonEntitiesFallsBackToBaseJacksonSerializer() throws Exception {
final List<URI> values = Arrays.asList(Generator.generateUri(), Generator.generateUri());
final String result = objectMapper.writeValueAsString(values);
final ObjectMapper baseObjectMapper = new ObjectMapper();
final String baseJson = baseObjectMapper.writeValueAsString(values);
assertEquals(baseJson, result);
}
}

0 comments on commit 5f0c434

Please sign in to comment.