As a developer working with the OSCAL server,
I want to refactor the implementation to use the native metaschema-java APIs directly instead of CLI commands,
So that we can improve performance, reliability, and enable more advanced metaschema operations.
Goals
Background
Currently, the system uses CLI commands for metaschema operations, which has limitations:
Requires log4j logging to be at info level
Needs to write output to files before reading back
Limited to CLI capabilities
Additional overhead from CLI process management
Acceptance Criteria
Replace CLI command executions with direct calls to metaschema-java APIs:
Core API
Databind API
Schemagen API
Maintain existing functionality while using native APIs:
Schema generation
Data validation
Model transformation
Remove dependencies on:
CLI command execution
Temporary file operations for CLI I/O
Log4j level requirements
Update tests to verify equivalent functionality using native APIs
Document any API-specific configuration or setup requirements
Technical Notes
This refactor should be treated as an incremental step toward a more comprehensive REST API
Consider maintaining CLI parity for certain operations where it provides specific benefits
Future scope may include expanded capabilities for generic storage and registration of metaschema models
Out of Scope
Full REST API implementation
Changes to existing endpoint interfaces
Additional features beyond current CLI capabilities
Implementation Phases
Initial API integration for core operations
Removal of CLI dependencies
Performance optimization
Documentation updates
Definition of Done
All CLI commands replaced with native API calls
Tests passing with equivalent coverage
Dependencies
Metaschema documentation regarding best practices of schemagen and databind
Acceptance Criteria
[ ] All website and readme documentation affected by the changes in this issue have been updated.
[ ] A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
[ ] The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.
User Story
As a developer working with the OSCAL server,
I want to refactor the implementation to use the native metaschema-java APIs directly instead of CLI commands,
So that we can improve performance, reliability, and enable more advanced metaschema operations.
Goals
Background
Currently, the system uses CLI commands for metaschema operations, which has limitations:
Acceptance Criteria
Replace CLI command executions with direct calls to metaschema-java APIs:
Maintain existing functionality while using native APIs:
Remove dependencies on:
Update tests to verify equivalent functionality using native APIs
Document any API-specific configuration or setup requirements
Technical Notes
Out of Scope
Implementation Phases
Definition of Done
Dependencies
Metaschema documentation regarding best practices of schemagen and databind
Acceptance Criteria
Revisions
No response