1 package org.bremersee.spring.boot.autoconfigure.ldaptive;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.bremersee.ldaptive.LdaptiveObjectMapperModule;
6 import org.springframework.boot.autoconfigure.AutoConfiguration;
7 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
8 import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
9 import org.springframework.boot.context.event.ApplicationReadyEvent;
10 import org.springframework.boot.jackson.autoconfigure.JsonMapperBuilderCustomizer;
11 import org.springframework.context.event.EventListener;
12 import org.springframework.util.ClassUtils;
13 import tools.jackson.databind.json.JsonMapper.Builder;
14
15
16
17
18 @ConditionalOnWebApplication
19 @ConditionalOnClass(name = {
20 "org.bremersee.ldaptive.LdaptiveObjectMapperModule",
21 "org.springframework.boot.jackson.autoconfigure.JsonMapperBuilderCustomizer",
22 "tools.jackson.databind.json.JsonMapper"})
23 @AutoConfiguration
24 public class LdaptiveJackson2ObjectMapperBuilderCustomizer
25 implements JsonMapperBuilderCustomizer {
26
27 private static final Log log = LogFactory
28 .getLog(LdaptiveJackson2ObjectMapperBuilderCustomizer.class);
29
30
31
32
33 public LdaptiveJackson2ObjectMapperBuilderCustomizer() {
34 super();
35 }
36
37
38
39
40 @EventListener(ApplicationReadyEvent.class)
41 public void init() {
42 log.info(String.format("""
43
44 *********************************************************************************
45 * %s
46 *********************************************************************************""",
47 ClassUtils.getUserClass(getClass()).getSimpleName()));
48 }
49
50 @Override
51 public void customize(Builder jsonMapperBuilder) {
52 jsonMapperBuilder.addModules(new LdaptiveObjectMapperModule());
53 }
54 }