From 0d819baebaba2370ee99d22a7410ef8bbc511bd3 Mon Sep 17 00:00:00 2001 From: Andreas Keefer Date: Fri, 10 Feb 2023 08:31:23 +0100 Subject: [PATCH 1/2] make findAndRegisterModules skip-able by a custom impl --- .../au/com/origin/snapshots/SnapshotHeaders.java | 3 ++- .../serializers/v1/JacksonSnapshotSerializer.java | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java b/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java index bb9ab8a..9d14737 100644 --- a/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java +++ b/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java @@ -55,5 +55,6 @@ public Snapshot apply(Object object, SnapshotSerializerContext snapshotSerialize snapshotSerializerContext.getHeader().put("custom2", "anything2"); return super.apply(object, snapshotSerializerContext); } - }; + } + ; } diff --git a/java-snapshot-testing-plugin-jackson/src/main/java/au/com/origin/snapshots/jackson/serializers/v1/JacksonSnapshotSerializer.java b/java-snapshot-testing-plugin-jackson/src/main/java/au/com/origin/snapshots/jackson/serializers/v1/JacksonSnapshotSerializer.java index 9747128..dd42e02 100644 --- a/java-snapshot-testing-plugin-jackson/src/main/java/au/com/origin/snapshots/jackson/serializers/v1/JacksonSnapshotSerializer.java +++ b/java-snapshot-testing-plugin-jackson/src/main/java/au/com/origin/snapshots/jackson/serializers/v1/JacksonSnapshotSerializer.java @@ -49,7 +49,9 @@ public DefaultPrettyPrinter withSeparators(Separators separators) { this.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); this.setSerializationInclusion(JsonInclude.Include.NON_NULL); - this.findAndRegisterModules(); + if (shouldFindAndRegisterModules()) { + this.findAndRegisterModules(); + } this.setVisibility( this.getSerializationConfig() @@ -69,6 +71,14 @@ public DefaultPrettyPrinter withSeparators(Separators separators) { */ public void configure(ObjectMapper objectMapper) {} + /** + * Override to control the registration of all available jackson modules within the classpath + * which are locatable via JDK ServiceLoader facility, along with module-provided SPI. + */ + protected boolean shouldFindAndRegisterModules() { + return true; + } + @Override public Snapshot apply(Object object, SnapshotSerializerContext gen) { try { From 658047058c7c47170f48e2b5393ad5309d2ad5b7 Mon Sep 17 00:00:00 2001 From: Jack Matthews <6348088+jackmatt2@users.noreply.github.com> Date: Sun, 12 Feb 2023 13:25:36 +1100 Subject: [PATCH 2/2] Update SnapshotHeaders.java --- .../src/test/java/au/com/origin/snapshots/SnapshotHeaders.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java b/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java index 9d14737..bb9ab8a 100644 --- a/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java +++ b/java-snapshot-testing-core/src/test/java/au/com/origin/snapshots/SnapshotHeaders.java @@ -55,6 +55,5 @@ public Snapshot apply(Object object, SnapshotSerializerContext snapshotSerialize snapshotSerializerContext.getHeader().put("custom2", "anything2"); return super.apply(object, snapshotSerializerContext); } - } - ; + }; }