-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Implemented JSON schema generation. Resolves usnistgov/OSCAL#1145. Resolves usnistgov/OSCAL#1132. Resolves usnistgov/OSCAL#1131. Resolves usnistgov/OSCAL#1003. * Improved JSON schema generation. Worked out unicode support for JSON and XSD. Resolves usnistgov/OSCAL#1127. Resolves usnistgov/OSCAL#956. * Fixed bugs in DateAdapter causing dates without timezones to not parse or write properly. * Refactored and moved validation API to metaschema-model-common. * Fixed a bug in write operations causing some file contents to not be truncated when overwriting files. Added StandardOpenOption.TRUNCATE_EXISTING to write operations. * Fixed a bug in array writing for properties using in-json=ARRAY or SINGLETON_OR_ARRAY, that caused an error related to the closing array syntax. * Refactored Java class generation to provide more information to the caller about generated classes. * Added dynamic test support for Metaschema-based testing in a new module metaschema-testing. * Updated JSON parsing code to be more resilient. * Updated to new metaschema feature branch for major refactor. * Schema generation refactor, focusing on XML and JSON alignment. * Fixed some compiler, PMD, and checkstyle warnings. Making incremental progress towards getting these cleaned up. * Simplified and removed some unneeded interfaces and abstract classes. Reducing public/protected classes and methods. * Fixed bugs around inline type handling in schema generation. * Migrated the metaschema-java-binding-annotations module sources to metaschema-java-binding. * Completed full support for Metaschema information in bound Java classes. * Refactored function library, adding functions for abs, boolean, ceiling, compare, data, floor, and round. Identified all functions that need to be implemented eventually. * Added some Javadocs. * Fixing relative path in POM causing build errors in CI.
- Loading branch information
1 parent
14ad5b0
commit ee9dcc4
Showing
527 changed files
with
31,236 additions
and
10,792 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,3 +22,4 @@ release.properties | |
node_modules/ | ||
package.json | ||
package-lock.json | ||
/metaschema-schema-generator/test-schemagen |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,33 @@ | ||
# Metaschema Java Tools and Libraries | ||
|
||
Documentation for and implementations of the [Metaschema modeling language](https://github.com/usnistgov/metaschema) in Java. This Java metaschema toolchain provides support for Java code generation based on one or more Metaschema. | ||
Documentation for and implementations of the [Metaschema modeling language](https://github.com/usnistgov/metaschema) in Java. This Java metaschema toolchain provides support for: | ||
|
||
- Java objects for loading and working with XML-based Metaschema constructs. This functionality is provided by the [Metaschema XML model](metaschema-model/). | ||
- Java bean code generation based on one or more Metaschema using Maven. This functionality is provided by the [Metaschema Maven plugin](metaschema-maven-plugin/). | ||
- A Java parser for reading and writing XML, JSON, or YAML into Java beans generated by this framework. This functionality is provided by the [Metaschema Java Binding Parser](metaschema-java-binding/). | ||
|
||
## Using as a Maven dependency | ||
|
||
This projects modules are published to [Maven Central](https://search.maven.org/search?q=g:gov.nist.secauto.metaschema). | ||
|
||
You can include these artifacts in your Maven POM as a dependency. | ||
|
||
## Building | ||
|
||
This project can be built with [Apache Maven](https://maven.apache.org/) version 3.8.4 or greater. | ||
|
||
The following instructions can be used to clone and build this project. | ||
|
||
1. Clone the GitHub repository. | ||
|
||
```bash | ||
git clone --recurse-submodules https://github.com/usnistgov/metaschema-java.git | ||
``` | ||
|
||
2. Build the project with Maven | ||
|
||
```bash | ||
mvn install | ||
``` | ||
|
||
|
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
<div xmlns="http://www.w3.org/1999/xhtml" class="xml-outline"> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
<div class="model-container"> | ||
<details class="OM-entry" open="open"> | ||
<summary> | ||
<span class="sq"><span class="nobr"><<a class="OM-name" href="../xml-reference/#/assessment-plan">assessment-plan</a></span> <span class="nobr" id="/assessment-plan/@uuid"><a class="OM-name" href="../xml-reference/#/assessment-plan/@uuid">uuid</a>="<span class="OM-datatype"><a href="/reference/datatypes/#uuid">uuid</a></span>"</span>><span class="show-closed"> … <span class="nobr"></assessment-plan></span></span></span><span class="sq cardinality"> <span class="OM-cardinality">[1]</span></span> | ||
</summary> | ||
</details> | ||
</div> | ||
</div> |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.