From 97693d63beee3e7fbde84111f87ac852d7baf796 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Mon, 29 Nov 2021 15:01:23 +0300 Subject: [PATCH 1/3] fix reader deprecations --- .../allure/reader/AllureEnumDeserializer.java | 7 ++++++- .../reader/AllureObjectMapperFactory.java | 18 ++++++++---------- .../reader/ParameterModeDeserializer.java | 5 +++++ .../allure/reader/StageDeserializer.java | 5 +++++ .../allure/reader/StatusDeserializer.java | 5 +++++ 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java index 2e0be5da6..d385dd106 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java @@ -17,6 +17,8 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import java.io.IOException; @@ -24,9 +26,12 @@ import java.util.stream.Stream; /** - * @author charlie (Dmitry Baev). * @param the enum's type + * @author charlie (Dmitry Baev). + * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ +@Deprecated /* package-private */ abstract class AllureEnumDeserializer> extends StdDeserializer { private final Class type; diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java b/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java index acfade3ad..ad91d2899 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/AllureObjectMapperFactory.java @@ -18,10 +18,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; -import io.qameta.allure.model.Parameter; -import io.qameta.allure.model.Stage; -import io.qameta.allure.model.Status; +import com.fasterxml.jackson.databind.json.JsonMapper; /** * @author charlie (Dmitry Baev). @@ -33,14 +30,15 @@ private AllureObjectMapperFactory() { } public static ObjectMapper createMapper() { - return new ObjectMapper() + return JsonMapper.builder() .enable(MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME) .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS) + .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES) + .enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) - .registerModule(new SimpleModule() - .addDeserializer(Status.class, new StatusDeserializer()) - .addDeserializer(Stage.class, new StageDeserializer()) - .addDeserializer(Parameter.Mode.class, new ParameterModeDeserializer()) - ); + .disable(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES) + .disable(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES) + .disable(DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS) + .build(); } } diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java index 68a68cd84..6d4adf029 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java @@ -15,11 +15,16 @@ */ package io.qameta.allure.reader; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; import io.qameta.allure.model.Parameter; /** * @author charlie (Dmitry Baev). + * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ +@Deprecated public class ParameterModeDeserializer extends AllureEnumDeserializer { public ParameterModeDeserializer() { super(Parameter.Mode.class); diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java index f8de06408..802532a67 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java @@ -15,11 +15,16 @@ */ package io.qameta.allure.reader; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; import io.qameta.allure.model.Stage; /** * @author charlie (Dmitry Baev). + * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ +@Deprecated public class StageDeserializer extends AllureEnumDeserializer { public StageDeserializer() { super(Stage.class); diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java index 5b86f6b35..0ba2743e0 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java @@ -15,11 +15,16 @@ */ package io.qameta.allure.reader; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; import io.qameta.allure.model.Status; /** * @author charlie (Dmitry Baev). + * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ +@Deprecated public class StatusDeserializer extends AllureEnumDeserializer { public StatusDeserializer() { super(Status.class); From b13ee95eb91c7e403c27af83e6615258ca248382 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Tue, 30 Nov 2021 14:18:15 +0300 Subject: [PATCH 2/3] fix build --- .../io/qameta/allure/reader/AllureEnumDeserializer.java | 6 ++---- .../io/qameta/allure/reader/ParameterModeDeserializer.java | 6 ++---- .../java/io/qameta/allure/reader/StageDeserializer.java | 6 ++---- .../java/io/qameta/allure/reader/StatusDeserializer.java | 6 ++---- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java index d385dd106..cdb9f33fa 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java @@ -17,8 +17,6 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import java.io.IOException; @@ -28,8 +26,8 @@ /** * @param the enum's type * @author charlie (Dmitry Baev). - * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated /* package-private */ abstract class AllureEnumDeserializer> extends StdDeserializer { diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java index 6d4adf029..24c58a705 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java @@ -15,14 +15,12 @@ */ package io.qameta.allure.reader; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.MapperFeature; import io.qameta.allure.model.Parameter; /** * @author charlie (Dmitry Baev). - * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated public class ParameterModeDeserializer extends AllureEnumDeserializer { diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java index 802532a67..25d95c182 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java @@ -15,14 +15,12 @@ */ package io.qameta.allure.reader; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.MapperFeature; import io.qameta.allure.model.Stage; /** * @author charlie (Dmitry Baev). - * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated public class StageDeserializer extends AllureEnumDeserializer { diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java index 0ba2743e0..f5f297fb7 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java @@ -15,14 +15,12 @@ */ package io.qameta.allure.reader; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.MapperFeature; import io.qameta.allure.model.Status; /** * @author charlie (Dmitry Baev). - * @deprecated in favor of {@link MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated public class StatusDeserializer extends AllureEnumDeserializer { From 11bc4eec5c5194287a69efc3f424347b91fd959d Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Tue, 30 Nov 2021 14:46:23 +0300 Subject: [PATCH 3/3] fix it --- .../java/io/qameta/allure/reader/AllureEnumDeserializer.java | 2 +- .../java/io/qameta/allure/reader/ParameterModeDeserializer.java | 2 +- .../main/java/io/qameta/allure/reader/StageDeserializer.java | 2 +- .../main/java/io/qameta/allure/reader/StatusDeserializer.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java index cdb9f33fa..6508d198e 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/AllureEnumDeserializer.java @@ -27,7 +27,7 @@ * @param the enum's type * @author charlie (Dmitry Baev). * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated /* package-private */ abstract class AllureEnumDeserializer> extends StdDeserializer { diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java index 24c58a705..197a6c6d1 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/ParameterModeDeserializer.java @@ -20,7 +20,7 @@ /** * @author charlie (Dmitry Baev). * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated public class ParameterModeDeserializer extends AllureEnumDeserializer { diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java index 25d95c182..0bea2076c 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StageDeserializer.java @@ -20,7 +20,7 @@ /** * @author charlie (Dmitry Baev). * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated public class StageDeserializer extends AllureEnumDeserializer { diff --git a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java index f5f297fb7..eb499add8 100644 --- a/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java +++ b/allure-reader/src/main/java/io/qameta/allure/reader/StatusDeserializer.java @@ -20,7 +20,7 @@ /** * @author charlie (Dmitry Baev). * @deprecated in favor of {@link com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS} - * and {@link com.fasterxml.jackson.databind.DeserializationFeature.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} + * and {@link com.fasterxml.jackson.databind.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL} */ @Deprecated public class StatusDeserializer extends AllureEnumDeserializer {