opwvhk opened a new pull request, #1954:
URL: https://github.com/apache/avro/pull/1954

   ## What is the purpose of the change
   
   Add a schema parser to handle both the current JSON based format and the 
(new syntax for the) IDL format transparently.
   
   Depends on AVRO-3403 and AVRO-3404 (PR #1588 and #1589 respectively)
   
   ## Verifying this change
   
   This change added tests and can be verified by doing a full Maven build.
   
   The important parts to review are:
   - `UtfTextUtils`: schemas are assumed to be UTF encoded text, and this class 
handled encoding detection between UTF-8 (the default/fallback), UTF-16, and 
UTF-32. This ensures that this functionality is not just for JSON parsing; I 
took the idea from the Jackson code.
   - `NameContext`: there were at least 3 different ways to handle sets of 
named schemas, which got in the way of the named schemas known to the new 
parser. This consolidates that.
   - `JsonSchemaParser`, the fallback parser, defers to the now deprecated 
`Schema.Parser`. Though this still needs to be refactored, I didn't to make it 
easier to verify JSON parsing is not affected.
   
   To make reviewing easier, review per commit. The last commit introduced a 
lot of similar changes.
   
   
   ## Documentation
   
   - This PR introduces a new feature
   - Implicit documentation in Getting Started (Java) has been updated.
   - Better documentation is in the javadoc of the SchemaParser class and 
referenced classes.
   


-- 
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]

Reply via email to