Thought to it but it breaks as much the model and fobids field addition later so chose the other option.
Le 24 avr. 2018 12:11, "Roberto Cortez" <[email protected]> a écrit : > Hi Romain, > I've tried it. It works great. Thank you. > I was just wondering if we would like to have a wrapper object with the > key that is actually the type and the actual object inside: > { "list" : [ { "color" : { "name" : "green", "r" : 255, > "g" : 123, "b" : 19 } }, { "person" : { "name" : "jdoe", > "fullname" : "John Doe", } }, { "pet" : { "name" : > "Pascal", } } ]} > It looks more clean to me. > Cheers,Roberto > > > > On Tuesday, April 24, 2018, 11:06:30 AM GMT+1, Romain Manni-Bucau < > [email protected]> wrote: > > 2018-04-24 11:46 GMT+02:00 Alessandro Moscatelli < > [email protected]>: > > > Shouldn’t the @Polymorphic.JsonId (defaulting to simple name if absent) > be > > the meta to use to know what you will deserialize ? > > > > Yes, that's what it is actually but how do you find it? > Scanning? means you are slow for no real gain + you can conflict between > libraries and models > > > > > > By the way, how the Polymorphic.JsonId will be serialized ? This is not > > specified in the index.md. > > > > {_type: <id>,_value: <value>} > > > > > > > > > > > > > > ________________________________ > > Da: Romain Manni-Bucau <[email protected]> > > Inviato: Tuesday, April 24, 2018 11:42:13 AM > > A: [email protected] > > Oggetto: Re: Arrays / Lists elements polymorphic support > > > > Not it wouldn't work since when you deserialize you don't have any meta > on > > what you will deserialize. > > > > There are alternative to this impl but this is the one requiring the > least > > configuration I think. > > > > > > Romain Manni-Bucau > > @rmannibucau <https://twitter.com/rmannibucau> | Blog > > <https://rmannibucau.metawerx.net/> | Old Blog > > <http://rmannibucau.wordpress.com> | Github <https://github.com/ > > rmannibucau> | > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > > <https://www.packtpub.com/application-development/java- > > ee-8-high-performance> > > > > 2018-04-24 11:39 GMT+02:00 Alessandro Moscatelli < > > [email protected]>: > > > > > I think I would be great if this could be part of the Jsonb spec. > > > I noticed the lack of real support for polymorphism. > > > > > > Regarding your impl : > > > > > > What if you need a Collection of polymorphic entities ? > > > Wouldn’t it be better to declare the > > > > > > @JsonbTypeSerializer(Polymorphic.Serializer.class) > > > @JsonbTypeDeserializer(Polymorphic.DeSerializer.class) > > > > > > Directly on the root entity instead of declare them on the field ? > > > Would it work ? > > > > > > AM > > > > > > Da: Romain Manni-Bucau<mailto:[email protected]> > > > Inviato: lunedì 23 aprile 2018 19:03 > > > A: [email protected]<mailto:[email protected]> > > > Oggetto: Re: Arrays / Lists elements polymorphic support > > > > > > Ok > > > > > > Will try to adapt the impl we had and push it later today or tmr and > ping > > > here for feedbacks > > > > > > Le 23 avr. 2018 18:46, "Jean-Louis MONTEIRO" <[email protected]> a > > écrit > > > : > > > > > > > That works for me. > > > > I agree that having that extension into a specific module is the way > to > > > go > > > > > > > > Le lun. 23 avr. 2018 à 18:44, Romain Manni-Bucau < > > [email protected]> > > > a > > > > écrit : > > > > > > > > > Maybe raise a spec issue since we tend to be jsonb driven now. > Would > > be > > > > > great to not have a custom api for the id mapping. > > > > > > > > > > In the mean time we can push a jsonb-extra with that impl > > > > > > > > > > Le 23 avr. 2018 18:39, "Jean-Louis MONTEIRO" <[email protected]> > a > > > > écrit > > > > > : > > > > > > > > > > > Hey Roberto, > > > > > > > > > > > > I think that would be a great feature. > > > > > > Already had this case in the past and looks like Jackson and Gson > > > > already > > > > > > have it. > > > > > > > > > > > > Gson subtypes on adapters. > > > > > > https://github.com/google/gson/blob/master/extras/src/ > > > > > > main/java/com/google/gson/typeadapters/ > > > RuntimeTypeAdapterFactory.java > > > > > > > > > > > > > > > > > > Jackson annotations with different strategies > > > > > > https://github.com/FasterXML/jackson-docs/wiki/ > > > > > > JacksonPolymorphicDeserialization > > > > > > > > > > > > We should consider adding this feature I believe. > > > > > > > > > > > > > > > > > > Le mer. 18 avr. 2018 à 19:42, Roberto Cortez > > > > <[email protected] > > > > > > > > > > > > a écrit : > > > > > > > > > > > > > Hi Romain, > > > > > > > Thanks for the quick response. > > > > > > > I'll have a look, > > > > > > > Cheers,Roberto > > > > > > > On Wednesday, April 18, 2018, 6:35:32 PM GMT+1, Romain > > > > Manni-Bucau > > > > > < > > > > > > > [email protected]> wrote: > > > > > > > > > > > > > > Hi Roberto > > > > > > > > > > > > > > Yes, an adapter is the way to go using our mapper or jsonb. > > > > > > > > > > > > > > There should be an "animal" test showing how to do that. Just > > dont > > > > > forget > > > > > > > to use class aliases or a whitelist logic to not open a > backdoor. > > > > > > > > > > > > > > Since the model doesnt match the java model im not a fan of > that > > > > > feature > > > > > > > being built out of the box. In xml it is more natural but in > json > > > you > > > > > can > > > > > > > do it without breaking the model. For me it means the model is > > > broken > > > > > and > > > > > > > must not be used as an input. > > > > > > > > > > > > > > Le 18 avr. 2018 19:31, "Roberto Cortez" > > > <[email protected] > > > > > > > > > > a > > > > > > > écrit : > > > > > > > > > > > > > > > Hi guys, > > > > > > > > I'm trying to serialize a list of elements of multiple types > > and > > > > then > > > > > > > > deserialize it again. It does require to somehow include the > > type > > > > in > > > > > > the > > > > > > > > serialization result to know to which type we should map to > > > > > > deserialize. > > > > > > > I > > > > > > > > think this could possible be done with an Adapter and playing > > > with > > > > > the > > > > > > > > JsonArray. > > > > > > > > I was just wondering if there any kind of out of the box > > support > > > > for > > > > > > > this. > > > > > > > > It doesn't seem so, at least I was not able to find. > > > > > > > > Jackson for instance, includes a set of annotations that > allow > > > you > > > > to > > > > > > do > > > > > > > > exactly this, without any extra / custom code. > > > > > > > > Any thoughts? > > > > > > > > Thank you. > > > > > > > > Cheers,Roberto > > > > > > > > > > > > > > > > > > > > > > >
