|
33 | 33 | import org.apache.hc.client5.http.classic.methods.HttpPost; |
34 | 34 | import org.apache.hc.core5.http.ContentType; |
35 | 35 | import org.apache.hc.core5.http.io.entity.StringEntity; |
36 | | -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; |
37 | 36 |
|
38 | 37 | /** Client to execute requests to the orchestration service. */ |
39 | 38 | @Slf4j |
40 | 39 | public class OrchestrationClient { |
41 | 40 | static final ObjectMapper JACKSON; |
42 | 41 |
|
43 | 42 | static { |
44 | | - JACKSON = |
45 | | - new Jackson2ObjectMapperBuilder() |
46 | | - .modules(new JavaTimeModule()) |
47 | | - .visibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE) |
48 | | - .visibility(PropertyAccessor.SETTER, JsonAutoDetect.Visibility.NONE) |
49 | | - .serializationInclusion(JsonInclude.Include.NON_NULL) |
50 | | - .mixIn(LLMModuleResult.class, JacksonMixins.LLMModuleResultMixIn.class) |
51 | | - .mixIn( |
52 | | - ModuleResultsOutputUnmaskingInner.class, |
53 | | - JacksonMixins.ModuleResultsOutputUnmaskingInnerMixIn.class) |
54 | | - .mixIn(FilterConfig.class, JacksonMixins.NoTypeInfoMixin.class) |
55 | | - .mixIn(MaskingProviderConfig.class, JacksonMixins.NoTypeInfoMixin.class) |
56 | | - .mixIn(TemplatingModuleConfig.class, JacksonMixins.NoTypeInfoMixin.class) |
57 | | - .build(); |
| 43 | + JACKSON = new ObjectMapper(); |
| 44 | + JACKSON.registerModule(new JavaTimeModule()); |
| 45 | + |
| 46 | + // Disable automatic detection of getters and setters |
| 47 | + JACKSON.setVisibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE); |
| 48 | + JACKSON.setVisibility(PropertyAccessor.SETTER, JsonAutoDetect.Visibility.NONE); |
| 49 | + |
| 50 | + // Only serialize non-null values |
| 51 | + JACKSON.setSerializationInclusion(JsonInclude.Include.NON_NULL); |
| 52 | + |
| 53 | + // Add mix-ins |
| 54 | + JACKSON.addMixIn(LLMModuleResult.class, JacksonMixins.LLMModuleResultMixIn.class); |
| 55 | + JACKSON.addMixIn( |
| 56 | + ModuleResultsOutputUnmaskingInner.class, |
| 57 | + JacksonMixins.ModuleResultsOutputUnmaskingInnerMixIn.class); |
| 58 | + JACKSON.addMixIn(FilterConfig.class, JacksonMixins.NoTypeInfoMixin.class); |
| 59 | + JACKSON.addMixIn(MaskingProviderConfig.class, JacksonMixins.NoTypeInfoMixin.class); |
| 60 | + JACKSON.addMixIn(TemplatingModuleConfig.class, JacksonMixins.NoTypeInfoMixin.class); |
58 | 61 | } |
59 | 62 |
|
60 | 63 | @Nonnull private final Supplier<AiCoreDeployment> deployment; |
|
0 commit comments