-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Code refactoring and cleanup for 1.0.0 release #204
Merged
david-waltermire
merged 42 commits into
usnistgov:develop
from
david-waltermire:feature-reorganize-modules-for-1.0
Sep 26, 2023
Merged
Code refactoring and cleanup for 1.0.0 release #204
david-waltermire
merged 42 commits into
usnistgov:develop
from
david-waltermire:feature-reorganize-modules-for-1.0
Sep 26, 2023
Conversation
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
c3d6207
to
6caba4f
Compare
This was referenced Aug 4, 2023
ec667c2
to
7f70809
Compare
62355f3
to
6eccab1
Compare
This was
linked to
issues
Aug 14, 2023
7f70809
to
a2488ad
Compare
6eccab1
to
98c0b29
Compare
dd454d0
to
8c9f969
Compare
eaaf338
to
0628bf3
Compare
d2b5e22
to
0c4f8ac
Compare
20c118d
to
6d55436
Compare
0c4f8ac
to
ebdc62e
Compare
Relocated metaschema-model-common to metaschema-core. Relocated metaschema-model to metaschema-core.
Refactored error handling for step-related Metapath expressions to ensure the provided context node item is non-null and a document. This also lays ground work for null node contexts in Metapath expressions that do not require a focused node.
…viors: - IDocumentNodeItem instances will never have a value (i.e. getValue == null) - Root metapaths (i.e. `/`) must be executed against an IDocumentNodeItem or an error should be raised.
…gation and to limit class responsibility.
Added some Javadoc comments.
Added a new mock model builder (MockedModelTestSupport) to facilitate creation of unit tests around using a mocked Metaschema model.
…o focus, as well as cases where the focus is not a node item. Improved memory footprint for Axis expressions, which now use static objects for evaluation. Refactored the Step and ParentItem ASTs to use the new Axis support.
… modules to the "databind" module.
…er class. This resulted in a cleaner set of bound definition/property classes. Also optimized deserialization to return the Object value directly, instead of first creating an unneeded node item.
Some Javadoc improvements. Refactored code generation, moving code generation methods into a dedicated class, DefaultMetaschemaClassFactory.java. Refactored code generation production classes to simplify and reduce the number of classes.
… refactoring of XML parsing code. Created more javadocs. Completed some code reformatting.
Refactored JSON parser tests. Eliminated a significant number of compile, PMD, and Spotbugs warnings.
…mat specific classes (i.e. MetaschemaJsonWriter, MetaschemaXmlWriter). Adjusted problem handlers to use interface defaults and a common implementation of default handling for missing instances. Renamed MetaschemaXmlParser to MetaschemaXmlReader, MetaschemaJsonParser to MetaschemaJsonReader, and MetaschemaXmlGenerator to MetaschemaXmlWriter.
Adjusted IDataTypeHandler creation to avoid extra method callbacks. Reduced unnecessary overridden methods.
Cleaned up unneed classes and methods. Reduced PMD warnings. Created Javadocs.
…ollection of instances are now lazy generated and cached, improving read and write performance for commonly accessed Metaschema-based JSON objects.
Refactored binding context to allow for dynamic class generation, compilation, and loading. Removed DynamicBindingContext.java, which is no longer needed. Cleaned up unused dependencies. Added Javadoc comments.
Moved metaschema-schema-generator to schemagen.
Deleted unused submodule.
…urce loading and compilation issues due to module restrictions. Generate test classes in a temp directory.
…ue (generate-sources).
0489712
to
bc1d0b6
Compare
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.
Committer Notes
This PR contains refactored code to prepare for a 1.0 codebase.
The following refactoring work is included.
metaschema-model-common
andmetaschema-model
into acore
module.gov.nist.secauto.metaschema.core
pom.xml
entriesmetaschema-java-codegen
andmetaschema-java-binding
into adatabind
module.gov.nist.secauto.metaschema.databind
pom.xml
entriesmodule-info.java
declarations for modules. This will help to better identify and separate the stable API from implementation classes.core
databind
metaschema-schema-generator
Many of these changes are breaking changes for users of the API, which is why these changes are targeting a major release.
All Submissions:
Changes to Core Features: