下面列出了com.fasterxml.jackson.core.Version#unknownVersion ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private Module getDeserializersModule(GlobalEnvironment environment, ObjectMapper mapper) {
return new Module() {
@Override
public String getModuleName() {
return "graphql-spqr-deserializers";
}
@Override
public Version version() {
return Version.unknownVersion();
}
@Override
public void setupModule(SetupContext setupContext) {
setupContext.addDeserializers(new ConvertingDeserializers(environment, mapper));
}
};
}
@Bean
public ObjectMapper jsonObjectMapper() {
final ObjectMapper jsonMapper = new ObjectMapper();
jsonMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
jsonMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
jsonMapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
jsonMapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);
jsonMapper.configure(MapperFeature.DEFAULT_VIEW_INCLUSION, false);
final SimpleModule module = new SimpleModule("FieldsMapping", Version.unknownVersion());
module.setSerializerModifier(new BeanSerializerModifier() {
@Override
public JsonSerializer<?> modifyMapSerializer(final SerializationConfig config, final MapType valueType,
final BeanDescription beanDesc, final JsonSerializer<?> serializer) {
if (FieldsMap.class.isAssignableFrom(valueType.getRawClass())) {
return new FieldsMapMixInLikeSerializer();
} else {
return super.modifyMapSerializer(config, valueType, beanDesc, serializer);
}
}
});
jsonMapper.registerModule(module);
return jsonMapper;
}
public static List<AppStatus> deserializeAppStatus(String platformStatus) {
try {
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<>();
}
catch (Exception e) {
logger.error("Could not parse Skipper Platform Status JSON [" + platformStatus + "]. " +
"Exception message = " + e.getMessage());
return new ArrayList<>();
}
}
@Test
public void testEncodeAndDecodeRegisterSerializerDirectlyToModule() {
JsonObjectMapper mapper = new JsonObjectMapper();
// first add serializer then register module
SimpleModule module = new SimpleModule("cemo", Version.unknownVersion());
module.addSerializer(Point.class, new PointSerializer());
mapper.registerModule(module);
transcoder = new JsonTranscoder(mapper);
Point p = new Point(40, 50);
CachedObject co = transcoder.encode(p);
assertNotNull(co);
assertNotNull(co.getData());
assertEquals("{\"v\":\"40x50\"}", new String(co.getData()));
}
public static ObjectMapper mapperWith(JsonSerializer<?>...extraSerialisers) {
ObjectMapper mapper = new ObjectMapper();
SimpleModule simpleModule = new SimpleModule("SimpleModule", Version.unknownVersion());
simpleModule.addSerializer(new ReflectiveRecordSerialiser());
simpleModule.addSerializer(new StreamSerialiser());
Stream.of(extraSerialisers).forEach(simpleModule::addSerializer);
mapper.registerModules(simpleModule);
return mapper;
}
@Bean
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper getObjectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
SimpleModule simpleModule = new SimpleModule("SimpleModule",
Version.unknownVersion());
simpleModule.addSerializer(JsonResult.class, new CustomJsonResultSerializer());
objectMapper.registerModule(simpleModule);
return objectMapper;
}
AvroObjectModule() {
super(
AvroObject.class.getSimpleName(),
Version.unknownVersion(),
Map.of(AvroObject.class, new AvroObjectDeserializer()),
List.of(new AvroObjectSerializer())
);
}
/**
* Method used by <code>PackageVersion</code> classes to decode version injected by Maven build.
*/
public static Version parseVersion(String s, String groupId, String artifactId)
{
if (s != null && (s = s.trim()).length() > 0) {
String[] parts = V_SEP.split(s);
return new Version(parseVersionPart(parts[0]),
(parts.length > 1) ? parseVersionPart(parts[1]) : 0,
(parts.length > 2) ? parseVersionPart(parts[2]) : 0,
(parts.length > 3) ? parts[3] : null,
groupId, artifactId);
}
return Version.unknownVersion();
}
/**
* Create module from existing registry
*/
private static Module module(final CodecRegistry registry) {
Objects.requireNonNull(registry, "registry");
return new Module() {
@Override
public String getModuleName() {
return JacksonCodecs.class.getSimpleName();
}
@Override
public Version version() {
return Version.unknownVersion();
}
@Override
public void setupModule(SetupContext context) {
context.addSerializers(serializers(registry));
context.addDeserializers(deserializers(registry));
}
@Override
public Object getTypeId() {
// return null so multiple modules can be registered
// with same ObjectMapper instance
return null;
}
};
}
private void updateTopology(String oldVersion) {
Version v = Version.unknownVersion();
if (oldVersion != null) {
v = VersionUtil.parseVersion(oldVersion, null, null);
}
if (v.isUnknownVersion() || v.compareTo(new Version(1, 5, 0, null, null, null)) < 0) {
if (this.sqlDialect.supportsDeferrableForeignKey()) {
upgradeForeignKeysToDeferrable();
}
}
if (v.isUnknownVersion() || v.compareTo(new Version(2, 0, 0, null, null, null)) < 0) {
addPartitionSupportToSqlgSchema();
}
}
@Override
public Version version() {
return Version.unknownVersion();
}
public RemoteLoggingJacksonModule() {
super( "RemoteLogging", Version.unknownVersion() );
}
public BitlibJsonModule() {
super("BitLibJsonModule", Version.unknownVersion(), DESERIALIZERS, SERIALIZERS);
}
@Override
public Version version() {
return Version.unknownVersion();
}
public BitlibJsonModule() {
super("BitLibJsonModule", Version.unknownVersion(), DESERIALIZERS, SERIALIZERS);
}
@Override
public Version version() {
return Version.unknownVersion();
}
@Override
public Version version() {
return Version.unknownVersion();
}
@Override
public Version version() {
return Version.unknownVersion();
}
@Override
public Version version() {
return Version.unknownVersion();
}
@Override
public Version version() {
return Version.unknownVersion();
}