nrknithin commented on code in PR #6686:
URL: 
https://github.com/apache/incubator-kie-drools/pull/6686#discussion_r3225520412


##########
drools-model/drools-model-codegen/src/main/resources/class-templates/ruleunits/RestObjectMapperSpringTemplate.java:
##########
@@ -18,43 +18,56 @@
  */
 package $Package$;
 
-import java.util.List;
-
 import java.io.IOException;
 import java.util.List;
 
-import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.BeanProperty;
 import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.JsonDeserializer;
 import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.deser.ContextualDeserializer;
+import com.fasterxml.jackson.databind.module.SimpleModule;
 import com.fasterxml.jackson.databind.type.CollectionType;
 
 import org.drools.ruleunits.api.DataSource;
 import org.drools.ruleunits.api.DataStore;
 import org.drools.ruleunits.api.DataStream;
 import org.drools.ruleunits.api.SingletonStore;
 
-import 
org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
 import org.springframework.boot.SpringBootConfiguration;
+import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
-import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+import org.springframework.http.MediaType;
+import 
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 
+// TODO Jackson 3 migration: drop this shim when the Spring add-ons move to 
tools.jackson.databind.*.
 @SpringBootConfiguration
 public class RestObjectMapper {
 
+    public RestObjectMapper(ObjectMapper objectMapper) {
+        SimpleModule module = new SimpleModule();
+        module.addDeserializer(DataStream.class, new DataStreamDeserializer());
+        module.addDeserializer(DataStore.class, new DataStoreDeserializer());
+        module.addDeserializer(SingletonStore.class, new 
SingletonStoreDeserializer());
+        objectMapper.registerModule(module);
+    }
+
+    // TODO Jackson 3 migration: SB 4 no longer auto-registers a Jackson 2 
HTTP converter; register one

Review Comment:
   @yesamer Yes — the class is a Jackson 2 shim required while 
kogito-events-core autowires the Jackson 2 ObjectMapper on both the Quarkus and 
Spring Boot sides. Quarkus 3.33 still ships Jackson 2 (jackson-bom 2.21.1), so 
the Jackson 3 migration won't happen this cycle and likely not before the LTS 
after 3.33. The TODO is the removal trigger for that future cleanup.



##########
drools-model/drools-model-codegen/src/main/resources/class-templates/ruleunits/RestObjectMapperSpringTemplate.java:
##########
@@ -18,43 +18,56 @@
  */
 package $Package$;
 
-import java.util.List;
-
 import java.io.IOException;
 import java.util.List;
 
-import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.BeanProperty;
 import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.JsonDeserializer;
 import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.deser.ContextualDeserializer;
+import com.fasterxml.jackson.databind.module.SimpleModule;
 import com.fasterxml.jackson.databind.type.CollectionType;
 
 import org.drools.ruleunits.api.DataSource;
 import org.drools.ruleunits.api.DataStore;
 import org.drools.ruleunits.api.DataStream;
 import org.drools.ruleunits.api.SingletonStore;
 
-import 
org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
 import org.springframework.boot.SpringBootConfiguration;
+import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
-import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+import org.springframework.http.MediaType;
+import 
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 
+// TODO Jackson 3 migration: drop this shim when the Spring add-ons move to 
tools.jackson.databind.*.

Review Comment:
   @yesamer Yes — needed for the same reason as the TODO above. Quarkus 3.33 
still ships Jackson 2 (jackson-bom 2.21.1), so the trigger won't fire this 
cycle.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to