domino-jackson icon indicating copy to clipboard operation
domino-jackson copied to clipboard

Exception during Serializer generation

Open FrankHossfeld opened this issue 3 years ago • 2 comments

Using a POJO as key of a Map will crash the generation.

ERROR] error while creating source file org.dominokit.jackson.processor.TypeRegistry$TypeDeserializerNotFoundException: de.gishmo.bug.test.dto.PoJoA
  	at org.dominokit.jackson.processor.TypeRegistry.getKeyDeserializer(TypeRegistry.java:827)
  	at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getBasicKeyDeserializer(FieldDeserializersChainBuilder.java:167)
  	at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getKeyDeserializer(FieldDeserializersChainBuilder.java:162)
  	at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getMapDeserializer(FieldDeserializersChainBuilder.java:153)
  	at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:91)
  	at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:80)
  	at org.dominokit.jackson.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:102)
  	at org.dominokit.jackson.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:63)
  	at org.dominokit.jackson.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:581)

The attach small project produces the exception. just ran mvn clean package

test-rest.zip

FrankHossfeld avatar Jun 23 '21 13:06 FrankHossfeld

So this is actually an issue domino-jackson rather than in domino-rest and in domino-jackson there is a fixed set of mappers types for map keys.

https://github.com/DominoKit/domino-jackson/blob/3f925e9a28d146b93e520f44de21f47ded9ec51e/domino-jackson-processor/src/main/java/org/dominokit/jackson/processor/TypeRegistry.java#L515

But maybe this can be implemented to allow custom (de)serializers.

vegegoku avatar Jun 24 '21 11:06 vegegoku

Well, of course, that would be cool. On the other hand, I think this is quite a unusual case ...

FrankHossfeld avatar Jun 24 '21 11:06 FrankHossfeld