[OSSIE][DATABRICKS] Add Java Converter and Reformat - #333
Open
Haoranli503 wants to merge 4 commits into
Open
Conversation
…icks) Bidirectional, offline converter between Apache Ossie semantic models and Databricks Unity Catalog Metric Views (YAML v1.1), filling the DATABRICKS spoke already listed in converters/README.md. Packaged like the sibling spokes: pyproject.toml (apache-ossie-databricks), an ossie_databricks package under src/, ASF license headers, and a tests/ suite (example-based + Hypothesis property-based round-trip; 74 tests). PyYAML is the only runtime dependency. Co-authored-by: jackstein21 <82542300+jackstein21@users.noreply.github.com>
Move the Python converter under converters/databricks/python/ (content unchanged) and add a Maven Java module -- library, CLI (OssieDatabricksConverter), JUnit tests, and fixtures under java/, package org.apache.ossie.converter.databricks -- as the maintained implementation. Add a root README describing the two-language layout, and a Java build job (mvn -B verify, JDK 21) in converter-databricks-ci.yml, mirroring the polaris converter. Signed-off-by: Haoran Li <haoran.li@databricks.com>
Replace the Python README's forward-looking 'Future effort' section with a deprecation note: the Java converter under java/ is the maintained implementation; the Python copy is kept for reference and no longer actively extended. Signed-off-by: Haoran Li <haoran.li@databricks.com>
Keep this branch's converter-databricks-ci.yml (adds the java build job) and converters/databricks/README.md (layout overview); the python README lives under python/.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Java implementation of the Databricks converter alongside the existing Python
reference, and restructures
converters/databricks/to host both languages. The Java library isthe implementation maintained going forward; the Python converter becomes a reference copy slated
for deprecation.
Conversion is unchanged in spirit: pure YAML text in, YAML text out, reading and writing the two
formats as parsed maps and lists. The Java and Python implementations target the same Databricks
Unity Catalog Metric View YAML v1.1 contract, and the checked-in fixtures pin the expected output
for both directions (
export: Ossie -> Metric View,import: Metric View -> Ossie).Changes:
src/,tests/,pyproject.toml,README.md,uv.lock) moves underconverters/databricks/python/with no content changes,making room for the Java tree.
java/— the bidirectional converter as a Maven module: library, anOssieDatabricksConvertercommand-line tool, JUnit 5 tests, and YAML fixtures. Packageorg.apache.ossie.converter.databricks, following the conventions of the existingpolarisandsalesforceJava converters (parentorg.apache:apache:39; deps SnakeYAML / Jackson / JUnit 5;apache-rat-pluginlicense audit; shade plugin for the executable CLI jar).README.mddescribing the two-language layout and pointing at eachimplementation's own README.
.github/workflows/converter-databricks-ci.yml) — point the Python job at the newpython/working directory, and add a Java job (mvn -B verify, Temurin JDK 21) mirroringconverter-polaris-ci.yml.Related Issues
Checklist
Specification
core-spec/and follow the existing structureOntology
ontology/are consistent with spec changesConverters
converters/is updated to reflect spec or ontology changesValidation
validation/are updated if the spec changedDocumentation
docs/is updated to reflect any user-facing changesCONTRIBUTING.mdis updated if the contribution process changedExamples
examples/are added or updated for any new spec constructs or converter supportTests
pytest/ CI green)Compliance