mchades opened a new pull request, #13571:
URL: https://github.com/apache/gravitino/pull/13571
### What changes were proposed in this pull request?
- Add REST APIs to import and export Semantic Models as standalone Apache
Ossie YAML or JSON documents.
- Convert Ossie fields to the native Semantic Model definition and preserve
Gravitino properties through a reserved custom extension.
- Add the optional `ossie-version` property with the default value
`0.2.0.dev0`, while preserving any non-blank version specified by users.
- Validate document structure, source identifier shape, dialects, property
values, and conversion errors.
### Why are the changes needed?
This enables Semantic Models to be exchanged with Ossie-compatible tools
while reusing the existing Core create and load operations.
Fix: #13540
### Does this PR introduce _any_ user-facing change?
Yes.
- Adds `POST .../semantic-models/ossie` for importing Ossie documents.
- Adds `GET .../semantic-models/{semanticModel}/ossie?format=yaml|json` for
exporting Ossie documents.
- Adds the `ossie-version` Semantic Model property.
- Ossie sources remain `catalog.schema.entity`; the metalake continues to
come from the REST path.
### How was this patch tested?
- `./gradlew spotlessApply`
- Focused Core converter, property metadata, dispatcher, and Server REST
tests
- `./gradlew :api:check :core:check :server:check -PskipITs`
- `git diff --check`
Draft follow-up:
- Add OpenAPI documentation after #12627 introduces the base Semantic Model
OpenAPI specification.
--
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]