On Wed, Oct 21, 2020 at 9:31 AM rajnish <[email protected]> wrote:
>
> I raised the issue for this 
> https://github.com/FasterXML/jackson-module-jsonSchema/issues/141
>
>   Given that this change has not been picked up yet, I am trying to see if 
> any one wants to join hands on this change. I am planning to start work on 
> this. If anyone has made attempt in this regard, please let me know.
>
>    Following is summary of my evaluation so far.
>
> Breaking changes between 3 and upward are minimal. For example, required 
> field got changed from boolean to array at object type. Locally, when I 
> removed the required attribute from JsonSchema and put at ObjectSchema level, 
> parsing happened correctly.
>   Given that Json specs has tendency to break the compatibility, I recommend 
> to have types per schema version even if it means code duplication similar to 
> apache commons approach. This will ensure that each version implementation  
> stay independent and not causing regression in older implementation.
>
>   mbknor seems to have spent lot of time analyzing and trying to reuse 
> existing but finally gave up and wrote a totally different implementation
>  in scala  https://github.com/mbknor/mbknor-jackson-jsonSchema
>
> Based on his experience, I am recommending cloning the  spec 3 
> implementation, copy for new version and try not reusing types between the 
> version. We can refactor to use classes that has lot of logic so that those 
> stays common across different version.
>
> Please let me know if any one has other thoughts on how to add support for 
> new version.  I am open to any idea that can make supporting new spec version 
> seamless.

Sounds reasonable wrt not trying to maximize code reuse. It is
possible create a shared "common" package, if there is absolute need
-- or not -- there are examples of both:

* Hibernate datatype has 3 implementations, no shared code
* JAX-RS has multiple datatype backends, all of which share "base"
package (separate jar)

One other question I have is just about your usage; how do you use
this package? (just curious about common usage)

-+ Tatu +-

>
> -Rajnish
>
>
>
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "jackson-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jackson-dev/3f64c7cd-d10b-4c50-91d6-fbdb252456d3n%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jackson-dev/CAL4a10hRxzjQEij8_mefyC8%3D5X0NyJmZ9PUY28Vat0wsco8Dkg%40mail.gmail.com.

Reply via email to