use of com.fasterxml.jackson.datatype.jsr310.JavaTimeModule in project ninja by ninjaframework.
the class ObjectMapperProvider method get.
@Override
public ObjectMapper get() {
ObjectMapper objectMapper = new ObjectMapper();
// Afterburner optimizes performance of Pojo to Json mapper
objectMapper.registerModule(new AfterburnerModule());
// Java 8 data type
objectMapper.registerModule(new JavaTimeModule());
objectMapper.registerModule(new Jdk8Module());
// Joda
objectMapper.registerModule(new JodaModule());
return objectMapper;
}
use of com.fasterxml.jackson.datatype.jsr310.JavaTimeModule in project webpieces by deanhiller.
the class ObjectMapperProvider method get.
public ObjectMapper get() {
ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false).configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false).registerModule(new JavaTimeModule()).registerModule(new ParameterNamesModule(JsonCreator.Mode.PROPERTIES));
if (config.isConvertNullToEmptyStr()) {
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.configOverride(String.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
}
return mapper;
}
use of com.fasterxml.jackson.datatype.jsr310.JavaTimeModule in project immutables by immutables.
the class IdAnnotationModuleTest method mappers.
static List<ObjectMapper> mappers() {
ObjectMapper template = new ObjectMapper().registerModule(new Jdk8Module()).registerModule(new GuavaModule()).registerModule(new JavaTimeModule());
ObjectMapper mapper1 = template.copy().registerModule(new IdAnnotationModule());
ObjectMapper mapper2 = template.copy().registerModule(IdAnnotationModule.fromPredicate(m -> ((AnnotatedElement) m).isAnnotationPresent(Criteria.Id.class)));
ObjectMapper mapper3 = template.copy().registerModule(IdAnnotationModule.fromAnnotation(Criteria.Id.class));
return Arrays.asList(mapper1, mapper2, mapper3);
}
use of com.fasterxml.jackson.datatype.jsr310.JavaTimeModule in project swagger-core by swagger-api.
the class ObjectMapperFactory method create.
private static ObjectMapper create(JsonFactory jsonFactory, boolean openapi31) {
ObjectMapper mapper = jsonFactory == null ? new ObjectMapper() : new ObjectMapper(jsonFactory);
if (!openapi31) {
// handle ref schema serialization skipping all other props
mapper.registerModule(new SimpleModule() {
@Override
public void setupModule(SetupContext context) {
super.setupModule(context);
context.addBeanSerializerModifier(new BeanSerializerModifier() {
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription desc, JsonSerializer<?> serializer) {
if (Schema.class.isAssignableFrom(desc.getBeanClass())) {
return new SchemaSerializer((JsonSerializer<Object>) serializer);
} else if (MediaType.class.isAssignableFrom(desc.getBeanClass())) {
return new MediaTypeSerializer((JsonSerializer<Object>) serializer);
}
return serializer;
}
});
}
});
} else {
mapper.registerModule(new SimpleModule() {
@Override
public void setupModule(SetupContext context) {
super.setupModule(context);
context.addBeanSerializerModifier(new BeanSerializerModifier() {
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription desc, JsonSerializer<?> serializer) {
if (Schema.class.isAssignableFrom(desc.getBeanClass())) {
return new Schema31Serializer((JsonSerializer<Object>) serializer);
} else if (MediaType.class.isAssignableFrom(desc.getBeanClass())) {
return new MediaTypeSerializer((JsonSerializer<Object>) serializer);
}
return serializer;
}
});
}
});
}
if (!openapi31) {
Module deserializerModule = new DeserializationModule();
mapper.registerModule(deserializerModule);
} else {
Module deserializerModule = new DeserializationModule31();
mapper.registerModule(deserializerModule);
}
mapper.registerModule(new JavaTimeModule());
Map<Class<?>, Class<?>> sourceMixins = new LinkedHashMap<>();
sourceMixins.put(ApiResponses.class, ExtensionsMixin.class);
sourceMixins.put(Contact.class, ExtensionsMixin.class);
sourceMixins.put(Encoding.class, ExtensionsMixin.class);
sourceMixins.put(EncodingProperty.class, ExtensionsMixin.class);
sourceMixins.put(Example.class, ExampleMixin.class);
sourceMixins.put(ExternalDocumentation.class, ExtensionsMixin.class);
sourceMixins.put(Link.class, ExtensionsMixin.class);
sourceMixins.put(LinkParameter.class, ExtensionsMixin.class);
sourceMixins.put(MediaType.class, MediaTypeMixin.class);
sourceMixins.put(OAuthFlow.class, ExtensionsMixin.class);
sourceMixins.put(OAuthFlows.class, ExtensionsMixin.class);
sourceMixins.put(Operation.class, OperationMixin.class);
sourceMixins.put(PathItem.class, ExtensionsMixin.class);
sourceMixins.put(Paths.class, ExtensionsMixin.class);
sourceMixins.put(Scopes.class, ExtensionsMixin.class);
sourceMixins.put(Server.class, ExtensionsMixin.class);
sourceMixins.put(ServerVariable.class, ExtensionsMixin.class);
sourceMixins.put(ServerVariables.class, ExtensionsMixin.class);
sourceMixins.put(Tag.class, ExtensionsMixin.class);
sourceMixins.put(XML.class, ExtensionsMixin.class);
sourceMixins.put(ApiResponse.class, ExtensionsMixin.class);
sourceMixins.put(Parameter.class, ExtensionsMixin.class);
sourceMixins.put(RequestBody.class, ExtensionsMixin.class);
sourceMixins.put(Header.class, ExtensionsMixin.class);
sourceMixins.put(SecurityScheme.class, ExtensionsMixin.class);
sourceMixins.put(Callback.class, ExtensionsMixin.class);
if (!openapi31) {
sourceMixins.put(Schema.class, SchemaMixin.class);
sourceMixins.put(DateSchema.class, DateSchemaMixin.class);
sourceMixins.put(Components.class, ComponentsMixin.class);
sourceMixins.put(Info.class, InfoMixin.class);
sourceMixins.put(License.class, LicenseMixin.class);
sourceMixins.put(OpenAPI.class, OpenAPIMixin.class);
sourceMixins.put(Discriminator.class, DiscriminatorMixin.class);
} else {
sourceMixins.put(Info.class, ExtensionsMixin.class);
sourceMixins.put(Schema.class, Schema31Mixin.class);
sourceMixins.put(Components.class, Components31Mixin.class);
sourceMixins.put(OpenAPI.class, OpenAPI31Mixin.class);
sourceMixins.put(DateSchema.class, DateSchemaMixin.class);
sourceMixins.put(Discriminator.class, Discriminator31Mixin.class);
}
mapper.setMixIns(sourceMixins);
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
mapper.configure(SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN, true);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return mapper;
}
use of com.fasterxml.jackson.datatype.jsr310.JavaTimeModule in project azure-iot-sdk-java by Azure.
the class MainApiVerticle method start.
@SuppressWarnings("deprecation")
@Override
public void start(Future<Void> startFuture) throws Exception {
Json.mapper.registerModule(new JavaTimeModule());
FileSystem vertxFileSystem = vertx.fileSystem();
vertxFileSystem.readFile("swagger.json", readFile -> {
if (readFile.succeeded()) {
Swagger swagger = new SwaggerParser().parse(readFile.result().toString(StandardCharsets.UTF_8));
Router swaggerRouter = SwaggerRouter.swaggerRouter(router, swagger, vertx.eventBus(), new OperationIdServiceIdResolver(), t -> new DeliveryOptions().setSendTimeout(90000));
deployVerticles(startFuture);
vertx.createHttpServer().requestHandler(swaggerRouter::accept).listen(8080);
startFuture.complete();
} else {
startFuture.fail(readFile.cause());
}
});
}
Aggregations