[
https://issues.apache.org/jira/browse/AVRO-3666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17833874#comment-17833874
]
ASF subversion and git services commented on AVRO-3666:
-------------------------------------------------------
Commit 876eae32dbcf353313e85e926a7c0e11170985a2 in avro's branch
refs/heads/main from Oscar Westra van Holthe - Kind
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=876eae32d ]
AVRO-3666 [Java] Use the new schema parser (#2642)
* AVRO-3666: Redo schema parsing code
This undoes the split schema parsing to allow forward references, which
is to be handles by the SchemaParser & ParseContext classes. It uses the
new ParseContext for the classic schema parser to accommodate this.
Next step: use the new SchemaParser and resolve unresolved / forward
references after parsing. This will also resolve "forward" references
that were parsed in subsequent files.
* AVRO-3666: Resolve references after parsing
By resolving references after parsing, we allow both forward references
within a file as between subsequent files.
This change also includes using the new SchemaParser everywhere, as
using it is the best way to flush out bugs.
* AVRO-3666: Remove wrong test
* AVRO-1535: Fix aliases as well
* AVRO-3666: Re-enable disabled test
Also includes changes necessary to debug.
* AVRO-3666: Fix RAT exclusion
The wrong exclusion was removed.
* AVRO-3666: Remove unused field
* AVRO-3666: Introduce SchemaParser.ParseResult
This ensures the SchemaParser never returns unresolved schemata.
* AVRO-3666: Use SchemaParser for documentation
* AVRO-3666: Refactor after review
* AVRO-3666: Fix javadoc
* AVRO-3666: Fix merge bug
* AVRO-3666: Fix CodeQL warnings
* AVRO-3666: Increase test coverage
* AVRO-3666: Fix tests
* AVRO-3666: Refactor schema parsing for readability
The JSON schema parser is quite complex (it is a large method). This
change splits it in multiple methods, naming the various stages.
* AVRO-3666: rename method to avoid confusion
* AVRO-3666: Reduce PR size
This change reduces the PR size, but does require some extra work after
merging: the new SchemaParser class is hardly used, and the (now)
obsolete Schema.Parser class is used heavily.
* AVRO-3666: Reduce PR size more
* AVRO-3666: Reduce PR size again
* AVRO-3666: Spotless
* Update lang/java/avro/src/main/java/org/apache/avro/Schema.java
Co-authored-by: Fokko Driesprong <[email protected]>
* AVRO-3666: Spotless
---------
Co-authored-by: Fokko Driesprong <[email protected]>
> New schema parser for all supported schema formats
> --------------------------------------------------
>
> Key: AVRO-3666
> URL: https://issues.apache.org/jira/browse/AVRO-3666
> Project: Apache Avro
> Issue Type: New Feature
> Components: java
> Reporter: Oscar Westra van Holthe - Kind
> Assignee: Oscar Westra van Holthe - Kind
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 5h 50m
> Remaining Estimate: 0h
>
> As the new IDL syntax also supports schema files, it's time to refactor
> schema parsing in Java to support all schema formats.
> The goals:
> * Parse JSON schemata with the same results
> * Parse IDL schemata in the same way
> * Use a pluggable API that supports other schema formats as well
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)