meta-model-stack
4.12.4 (2023-01-04)
Fixed
- Fixed model extensions ignoring clean parameter
- Fixed bug causing aliased options to start duplicating on export
4.12.2 (2022-11-03)
Fixed
- Fixed issue with
setOption()
with unmodifiable lists by wrapping setElementOptions() in a new ArrayList
4.12.0 (2022-10-26)
Added
- Added
addAlternativeNames()
andmatches()
methods to ElementOption to support aliases in said class - Modified Composites to use
ElementOption::matches
to check for options
Moved
The following classes have been moved to metamodel-runtime
:
- net.democritus.projection.ElementOption
- net.democritus.projection.CompositeProjection
- net.democritus.projection.TreeProjection
Updated
- Updated nsx-runtime in expanded projects to 2022.4.0
4.11.7 (2022-10-19)
Fix possible NullPointerException in equals()
methods of CompositeProjections
4.11.6 (2022-10-18)
Re-release 4.11.5
4.11.4 (2022-10-17)
Fixed
- Fixed ext and gen sources files not being packaged in test-support jars
Updated
Updated dependencies:
- nsx-runtime v2021.3.1 -> v2022.3.0
- expanders v5.9.2 -> v5.14.1
- prime-core v2022.7.0 -> v2022.10.1
4.11.3 (2022-10-10)
Added
- Added support for deprecating Fields and Elements by adding the option
deprecated
. Deprecated fields will not be exported to XML.
4.11.2 (2022-10-06)
Fixed
- Made clean export more precise to better support model extensions. These extensions will now not be deleted on export.
- Fixed CompositeScanners running into null-pointers
4.11.1 (2022-10-05)
Fixed
- Fixed issue with ambiguous references to
MetadataPredicates#isPersistent()
4.11.0 (2022-10-05)
Added
- Added support for better ModelBuilder in tests
Fixed
- Added backwards compatible method in MetadataPredicates
4.10.0 (2022-09-29)
Added
- Added CompositeWithOptionComposites interface to manage OptionComposite fields
Fixed
- Fixed a possible NullPointerException in ElementNotFoundException
- Added filter to extensions in CompositeToTree to filter out generated elements
4.9.5 (2022-09-26)
Added
- Added
toString()
method to LookupRef classes to make it easier to debug MappingContexts - Added custom anchor to
CompositeFactory::addToMapping()
to support aliased optionTypes
4.9.3 (2022-09-22)
Fixed
- Prevent technologies on ProgramComposite from being overwritten if they were set before enrichment.
4.9.2 (2022-09-22)
Updated
Updated versions provided to metamodel projects
- Updated expanders to 5.14.0
- Updated expanders-maven-plugin to 2022.3.0
- Updated prime-data to 2022.3.0
- Updated nsx-runtime to 2022.3.0
4.9.1 (2022-09-21)
Fixed
Fixed some issues for standalone metamodel projects:
- Added prime-core as root dependency to provide MetaData and Option elements
- Added prime-test-support as dependency for onion-spec layer
- Add COMMON by default to each program to support basic expanders
Miscellaneous:
- Fix typo in optionTypes.xml
4.9.0 (2022-09-02)
Added
- Added write support for metamodel Components/Application
- Set MetamodelDependency module type as readonly
Fixed
- Fixed ElementStubInserter breaking on metamodels not using the stubs
4.8.0 (2022-08-10)
Fixed
- Fixed
meta.element.programType
withoutenableIoXml
expanding reader and writer classes which depended on XML classes.
Added
- Added
MetaData
element to attach metadata to model elements. - Added expander to expand XSD definitions for model elements.
Changed
- Elements where the metadata
origin
field has the valuegenerated
are now filtered when converting composites to trees.
4.7.3 (2022-05-16)
Fixed
- Export options as kernel (e.g. in component xml)
- Avoid duplication of options in CompositeToTree
Added
- Added cleanup of empty and undefined elements to TreeToXml
4.7.2 (2022-05-13)
Fixed
- Add import for specBuilders where the option element has a different package than the dataElement
4.7.1 (2022-05-13)
Fixed
- Added some conversion between specific options and generic options for backwards compatibility with options converters etc.
4.7.0 (2022-05-12)
Added
- Added options to all composites
- Options can be defined in the xml with an
<options>
tag, which contains elements where the tag-name matches the option type name and the content matches the value for an option.<options>
<my.option.type>My Option Value</my.option.type>
</options>
Changed
- Changed representation of numbers and booleans to use text-content e.g.
<isInfoField>true</isInfoField>
4.6.0 (2022-04-27)
Added
- Added applicationInstance option
meta.packaging.useClassPathDependencies
. This option drops the assembly configuration using fat jars and replaces it with ClassPathDependencies in the expansionResource.xml - note: this option requires expanders-maven-plugin version 2022.1.2 or up. If the option
meta.expanders-maven-plugin.version
is set, it will need to be updated.
Changed
- Changed imports for AttributeSpec with qualified references in the code to avoid naming conflicts. This may impact custom code in the SpecBuilders.
4.5.0 (2022-04-08)
Added
- Added ModelExecutionStack, which is used to keep the macro-state during model loading. Exceptions thrown during the model loading will be appended with information from the ModelExecutionStack.
4.4.1 (2022-04-06)
Fixed
- [CompositeScanner] Prevent failure on model-extensions that are not expanded with metamodel-stack 4.4.x
4.4.0 (2022-04-04)
Added
- Added CompositeScanner to traverse the Composite structure
- Added try-catch to enrichers to add more information
4.3.2 (2022-02-10)
Fixed
- [NSX-227] Order elements loaded from directories by name to have consistent ordering across all operating systems.
4.3.0 (2022-01-12)
Added
- Allow fields with
aggregation: composite
without having the reverse field defined
Fixed
XmlToTree.importX
,TreeToXml.exportX
,CompositeToTree.registerX
,CompositeRegistrar.registerX
,SpecBuilder.add/setX
andSpecExtender.add/setX
methods renamed to field name instead of target element to avoid collisions.- Fixed naming collisions when several composite fields refer to the same child element.
- Fixed 1-to-1 composite fields not using the field name to export to XML
4.2.0 (2021-12-16)
Changed
Prime-core dependency:
- Prime-core dependency version of metamodel projects is now based on the version of prime-metamodel or prime-core in the expansion-resources
- This version can still be overwritten with the option
meta.prime-core.version
- To remove prime-core dependencies, the option
meta.prime-core.dependency
needs to be added
Other dependencies:
- Prime-data and expanders dependencies will similarly be based on the versions during meta-expansion
- Nsx-runtime will be based on the version of the nsx-common library defined by prime-data
metamodel-data
expansion-resource contains all data-resources:
- Io-layers has been merged in
metamodel-data
- It also declares option-types for metamodel-stack