substrait-io / substrait-java

Apache License 2.0
75 stars 72 forks source link

feat: support proto <-> pojo custom type conversion #144

Closed vbarua closed 1 year ago

vbarua commented 1 year ago

Adds machinery for reading type extensions and handling their conversion in POJOs to proto form and back.

All changes were motivated by the example in TestTypeRoundtrip, which:

The majority of changes stem come from:

There a number of classes w/ TODOs to apply renames and/or moves. I held off on applying them in this PR to keep the diff smaller and also check w/ the community to see if they were reasonable before investing time in them.

vbarua commented 1 year ago

CI is failing TestTypeParser tests, however when I run ./gradlew clean test I don't see any failures. Thoughts?

> Task :core:test

TestTypeParser > parameterizedSimple() FAILED
    java.lang.NullPointerException at TestTypeParser.java:76

TestTypeParser > derivationSimple() FAILED
    java.lang.NullPointerException at TestTypeParser.java:76

TestTypeParser > compound() FAILED
    java.lang.NullPointerException at TestTypeParser.java:95

TestTypeParser > parameterizedCompound() FAILED
    java.lang.NullPointerException at TestTypeParser.java:95

TestTypeParser > basic() FAILED
    java.lang.NullPointerException at TestTypeParser.java:76

TestTypeParser > derivationParameterized() FAILED
    java.lang.NullPointerException at TestTypeParser.java:115

TestTypeParser > derivationCompound() FAILED
    java.lang.NullPointerException at TestTypeParser.java:95

TestTypeParser > parameterizedParameterized() FAILED
    java.lang.NullPointerException at TestTypeParser.java:115
vbarua commented 1 year ago

Running tests using ./gradlew clean test --no-build-cache let me identify the CI issue. Fixed in b6ecf312cde386aa7261baa85868bb877fe7bc3c