List of usage examples for com.fasterxml.jackson.databind.module SimpleAbstractTypeResolver addMapping
public <T> SimpleAbstractTypeResolver addMapping(Class<T> superType, Class<? extends T> subType)
From source file:org.springframework.cloud.dataflow.server.stream.SkipperStreamDeployer.java
public static List<AppStatus> deserializeAppStatus(String platformStatus) { try {/*from w w w. j a v a 2s . 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>(); } }