Skip to content

Commit

Permalink
fix reader deprecations
Browse files Browse the repository at this point in the history
  • Loading branch information
baev committed Nov 29, 2021
1 parent d27d555 commit a20b42a
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,21 @@

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;
import java.util.Objects;
import java.util.stream.Stream;

/**
* @author charlie (Dmitry Baev).
* @param <T> 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<T extends Enum<T>> extends StdDeserializer<T> {

private final Class<T> type;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand All @@ -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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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<Parameter.Mode> {
public ParameterModeDeserializer() {
super(Parameter.Mode.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<Stage> {
public StageDeserializer() {
super(Stage.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<Status> {
public StatusDeserializer() {
super(Status.class);
Expand Down

0 comments on commit a20b42a

Please sign in to comment.