Example usage for com.fasterxml.jackson.databind.module SimpleAbstractTypeResolver SimpleAbstractTypeResolver

List of usage examples for com.fasterxml.jackson.databind.module SimpleAbstractTypeResolver SimpleAbstractTypeResolver

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.module SimpleAbstractTypeResolver SimpleAbstractTypeResolver.

Prototype

SimpleAbstractTypeResolver

Source Link

Usage

From source file:ws.salient.aws.databind.AmazonModule.java

@Override
public void setupModule(SetupContext context) {
    context.addAbstractTypeResolver(//from  ww w  . j  av a 2  s. c o  m
            new SimpleAbstractTypeResolver().addMapping(AWSCredentials.class, BasicAWSCredentials.class));
    context.setMixInAnnotations(BasicAWSCredentials.class, BasicAWSCredentialsMixIn.class);
    context.setMixInAnnotations(AmazonWebServiceRequest.class, AmazonWebServiceRequestMixIn.class);
    context.setMixInAnnotations(AmazonWebServiceResponse.class, AmazonWebServiceResponseMixIn.class);
    // AWS Lambda
    context.setMixInAnnotations(LambdaFunctionException.class, LambdaFunctionExceptionMixIn.class);

}

From source file:org.springframework.cloud.dataflow.server.stream.SkipperStreamDeployer.java

public static List<AppStatus> deserializeAppStatus(String platformStatus) {
    try {/*w ww . j  ava2s  .c  o  m*/
        if (platformStatus != null) {
            ObjectMapper mapper = new ObjectMapper();
            mapper.addMixIn(AppStatus.class, AppStatusMixin.class);
            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            SimpleModule module = new SimpleModule("CustomModel", Version.unknownVersion());
            SimpleAbstractTypeResolver resolver = new SimpleAbstractTypeResolver();
            resolver.addMapping(AppInstanceStatus.class, AppInstanceStatusImpl.class);
            module.setAbstractTypes(resolver);
            mapper.registerModule(module);
            TypeReference<List<AppStatus>> typeRef = new TypeReference<List<AppStatus>>() {
            };
            return mapper.readValue(platformStatus, typeRef);
        }
        return new ArrayList<AppStatus>();
    } catch (Exception e) {
        logger.error("Could not parse Skipper Platform Status JSON [" + platformStatus + "]. "
                + "Exception message = " + e.getMessage());
        return new ArrayList<AppStatus>();
    }
}