Skip to main content

nsx-metamodels


2024.2.0 (2024-04-19)

Added

  • Added TestModelBuilder#buildProgram(ElementSpec, ProgramTypeSpec), which allows you to define the programType for your test.

2024.1.1 (2024-03-27)

Fixed

  • Fixed NullPointerException in ExpandableElementComposite.isInstance() when ElementType is undefined.

2024.1.0 (2024-03-15)

Added

  • Added ExpanderRelocation. This allows you to rename an Expander and/or change the artifactPath. Features and harvest will be remapped to the new locations.

Fixed

  • Improved XSD's of Expanders, Features and ExpansionSteps by making several fields optional.

2024.0.4 (2024-01-11)

Added

  • Extendable composites will now be provisioned with empty lists for ModelExtensions that were not initialized. This prevents issues with null values when using composite.extensions['MyExtension']. Only works for ModelExtensions that are known to the DataRegistry.

Fixed

  • Moved reading of settings directories to ExtractResourcesStep, so it can be referenced in the expansionSettings.xml.
  • Fixed an issue where technologies in a TechnologyStack would not be merged with technologies from DataResources.

2024.0.3 (2024-01-10)

Fixed

  • Revert change in TechnologyLexicon which caused it to require a name, causing it to be ignored in some cases if it does not have a name.

2024.0.2 (2024-01-09)

Fixed

  • Fixed issue with model-extensions due to changes in the metamodel

2024.0.1 (2024-01-09)

Fixed

  • existsIn() and where() now resolve to false instead of throwing an exception if the property does not exist
  • Updated xsd's of Expander, Feature and AdditionalExpansionStep

2024.0.0 (2024-01-09)

Added

  • Added ElementTag, ElementTagType and ElementTagRule to elements.

Fixed

  • [NSX-403] Fixed issue with writing SimpleValueTypes, which could cause transmuters to fail.

2023.12.0 (2023-12-12)

Changed

  • PrimeDataLoader will now throw an Exception if the same expansion-resource is found twice in the classPath. These cases are probably caused by accidental inclusion of an expansionResource.xml in the wrong jar.

2023.11.1 (2023-12-06)

Merge with 2023.4.0.2


2023.11.0 (2023-12-06)

Added

  • Added System property expanders.model.force. When set to true, issues with OptionTypes will be ignored. This feature is provided to support expansion of an earlier project version, it should not be used in day-to-day use.
  • Added parameter manifestFile to ExpansionResourceManifestGenerator to export to a different file.
  • Added constructor to TestModelBuilder which takes a ModelLoaderFactory. This provides a way for expander test libraries to control how the ModelLoader is built.

2023.10.1 (2023-11-29)

Reverted

  • Returned isSimpleValueType() and asSimpleValueType() methods to ValueFieldTypeComposite, since it was already used in some expansion-resources.

2023.10.0 (2023-11-29)

Added

  • Added compatability to make abstract element types expandable.
  • Added implementation for abstract types to be an extension.
  • Added spec extension support for model extensions.
  • Added OptionType definitions for several metamodel options.
  • Added elementType reference to AdditionalExpansionStep. Resolved similarly to Expander.elementType.

Changed

  • Prime-core now targets java 17
  • Option hasParentElement is now an alias for meta.element.parent.
  • Expander composites now resolve both elementTypeName and elementType.
  • ValueType is now no longer sealed.
    • This removed the isSimpleValueType() and asSimpleValueType() methods from the ValueFieldTypeComposite.
    • ValueType can now be extended by other ontologies.

Fixed

  • ReferenceToParentRule now takes inherited attributes into account.

2023.9.6 (2023-11-22)

Fixed

  • The GenerateMetamodelApplication transmutation did not retain descriptions when converting attributes to fields.
  • Fixed an issue where options used within data-resources would not resolve correctly, causing warnings about alias and disappearing options.

2023.9.5 (2023-11-15)

Fixed

  • [VEGA-358] Added linkFieldTypes to prime-core, with correct dataType and updated description.

2023.9.4 (2023-11-15)

Erroneous release


2023.9.3 (2023-11-08)

Changed

  • Replaced metamodel-runtime library with includeClassPathDependencies functionality.

2023.9.2 (2023-10-23)

Fixed

  • Cleaned up elements and expansionControl ontologies to use them in the new micro-radiant expansion.

2023.9.1 (2023-10-11)

Revert

  • Revert removing SchemaOptionsCompleter. This change does not work with expander versions < 5.36.0.

2023.9.0 (2023-10-11)

Added

  • Added getAllAttributes() to ElementClass, which includes inherited attributes.
  • References and OppositeReferences of an ElementClass now include inherited properties.

Removed

  • Removed uses of deprecated methods in expander templates:
    • net.palver.util.StringUtil.join()
    • net.palver.util.StringUtil.split()

Fixed

  • Added option meta.component.imports to define which metamodel components are imported. These are then not expanded.

2023.8.0 (2023-09-22)

Removed

  • Removed SchemaOptionsCompleter, database option consolidation is handled in a ModelLoadingListener instead.

2023.7.1 (2023-09-22)

Fixed

  • Explicitly added JAVA_EE and JAKARTA_EE technologies, so Applications can be loaded even without the latest nsx-default-stack.

Added

  • Added ontologies to meta-metamodel expansion-resource.

2023.7.0 (2023-09-21)

Added

  • Added logic to provide JAKARTA_EE or JAVA_EE logic depending on the jeeVersion (resp. >=9 or <9) in TechnicalInfrastructure.

2023.6.1 (2023-09-09)

  • Re-release of 2023.6.0.

2023.6.0 (2023-09-07)

Added

  • Added ArtifactImportStrategy. This strategy can be referenced in expander mapping files to decide how imports are resolved.
  • Added TechnologyLexicon element, which contains a number of CoordinateRedirections. These are used to redirect imports in artifacts towards a new coordinate. E.g. when a library changes the packages of classes, this can be used to map them correctly.
  • Added attributes redundant, documentationLink and hidden to OptionType.

Changed

  • Cascading options are now resolved recursively. Before only options defined on Program and Module elements would cascade.

2023.5.4 (2023-08-11)

Added

  • Added config elementRole to meta-metamodel.

2023.5.3 (2023-07-13)

Changed

  • Updated nsx-runtime from 2023.4.0 to 2023.5.0

2023.5.2 (2023-06-29)

Added

  • Added TaskOutcome to prime-metamodel.

2023.5.1 (2023-06-29)

Fixed

  • Added missing meta-core dependency to prime-metamodel.

2023.5.0 (2023-06-28)

Added

  • Added missing optionTypes for valueType migration.

Added metadata to Composites of Module elements:

  • module.model.path: the location of the root file.
  • module.model.modelDirectory: the modelDirectory of the modules.
  • module.model.modelResource: present if they were loaded from a modelResource.

Changed

  • Replaced elements-metamodel with prime-metamodel, which now includes the elements and expansionControl ontologies. Before this version, elements-metamodel contained ontologies designed solely to model against. But prime-metamodel is now stable enough to use instead and is actually related to the content of prime-core.

2023.4.1 (2023-06-19)

Fixed

  • [metamodel-expanders] Removed rootDirectory configuration in expansionResource builds.
  • [metamodel-expanders] Added exclusion for prime-core in test-support jars.

Changed

  • Renamed DataClassShouldHaveIdentifier to DataClassShouldHaveIdentifierRule
  • Updated nsx-runtime from 2023.1.1 to 2023.3.0

2023.4.0.2 (2023-12-06)

[VEGA-354] Backport fix from 2023.11.0:

  • Added System property expanders.model.force. When set to true, issues with OptionTypes will be ignored. This feature is provided to support expansion of an earlier project version, it should not be used in day-to-day use.

2023.4.0.1 (2023-12-05)

nothing changed


2023.4.0 (2023-05-31)

Fixed

  • [important] Fixed a bug that causes options with alwaysEnabled and validUntil to be added, but also be checked for expiration. This combination can cause projects to not be able to expand after the deadline, regardless of setting.

Changed

  • Applied the flatten plugin to primeMetamodel and metaMetamodel projects to provide cleaner pom.xml files.

Removed

  • Removed logic that automatically added the option isStatusField to fields with the name status and type java.lang.String. The option now needs to be explicitly added.

Added

  • Added SCM information to deployed pom.xml artifacts.

2023.3.4 (2023-05-25)

Added

  • Added several validation rules for ontologies

Fixed

  • Fixed test model builder for ontologies (couldn't find ontology in expansionMetaModel)
  • Fixed ExtractClasspathResourcesStep for multiple DataResources with the same Classpath location (used in tests)

2023.3.3 (2023-05-23)

Changed

  • Changed PrimeDataLoader so that it loads DataResources directly from their source jar instead of the classpath. This prevents issues with DataResources that overlap in the classpath.

2023.3.2 (2023-05-17)

Changed

  • Moved ValueType prototype resolution to convertModel step. This should fix some warnings during expansion.

2023.3.1 (2023-05-11)

Added

  • Added warning for expanders when retrieving nativeTypes or restrictions when inheritance has not been resolved.

Fixed

  • Fixed an issue in SimpleValueTypeCompositeToTree when inheritance was not resolved (e.g. in Micro-Radiant)

2023.3.0 (2023-05-10)

Added

  • Added DataResource registration that does not require a _data.xml file, instead it looks for files with dataResource as root tag.
  • Added DataResourceValidator to validate data-resources.

Fixed

  • Fixed NullPointerException in TestModelBuilder#extendModel() if buildModel() was not used.

2023.2.3 (2023-04-20)

Removed

  • Removed options that expired on 2023-04-07:
    • legacy.valueFieldType.hashCodeMethod.disable

2023.2.2 (2023-04-20)

Fixed

  • Fixed issue in DelegatingDataResourceLoader that caused data to start leaking in tests./

2023.2.1 (2023-04-12)

Added

  • Fixed issue with implicit name finder

2023.2.0 (2023-04-12)

Added

  • Added ArtifactListener element. ArtifactListeners can be registered to add logic before/after writing each Artifact.
  • DataResources can now skip the elementTypeCanonicalName and instead define a type attribute on the root XML. The type should be the elementType reference (e.g. elements::Technology).

Fixed

  • Removed Time ValueType
  • Added Text ValueType for creating String types that have no limit

2023.1.2 (2023-03-31)

Added

  • Added CustomRestriction for ValueTypes
  • Added find logic in TestModelBuilder that uses CompositeScanners. This means buildModelAndFind() now supports elements that do not reference their composition parent in their functional key (globallyUnique)

Fixed

ValueTypes

  • Fixed SimpleValueType CompositeToTree so that inherited properties aren't exported.
  • Fixed an issue causing String SimpleValueType to be missing nativeTypes.

Metamodels

  • Fixed issues with elements that have a composition Reference to themselves.
  • Fixed import from directory causing elements from within the file to be overwritten

2023.1.1 (2023-03-20)

Fixed

  • Fix export of ValueField so that it only exports type if that was the original representation in the file
  • Fix NullPointerException in FieldCompositeEnricher

2023.1.0 (2023-03-20)

Added

Added ValueType to replace ValueFieldType

  • ValueType currently has a single subclass SimpleValueType
  • SimpleValueTypes have NativeTypes to represent specific types native to a technology
  • SimpleValueTypes also have Restrictions to represent constraints, such as string length etc.

ModelLoadingListeners ValueTypeToValueFieldTypeConverter and ValueFieldTypeToValueTypeConverter keep ValueFieldTypes and ValueTypes synchronized. This should keep both expanders based on ValueFieldTypes and on ValueTypes running.


2023.0.3 (2023-02-08)

Fixed

  • Updated model-transmutations v1.2.4-SNAPSHOT -> v1.4.0

2023.0.2 (2023-02-01)

  • Re-release 2023.0.1

2023.0.1 (2023-02-01)

Fixed

  • Recovered logic defining UniqueConstraint::name

2023.0.0 (2023-01-31)

  • merged prime-core 2022.11.x changes

2022.12.0-alpha-2 (2022-12-07)

Added

  • Added ElementType methods on TreeProjection
  • Added superType and isAbstract to ElementType Data Resources
  • Added oppositeField to LinkField

Fixed

  • Added missing implementation for newCompositeEnricher() on CompositeFactories
  • Implemented multi-level inheritance of attributes and references

2022.12.0-alpha-1 (2022-11-30)

Changed

  • merged prime-core, metamodel-stack and meta-metamodel into nsx-metamodels repository
  • merged several metamodel-stack expansion-resources into metamodel-expanders

Added

  • Added support for inheritance in metamodels. You can assign a superClass for each ElementClass. That superClass needs to have isAbstract enabled
  • Added isSealed. Sealed ElementClasses can be inherited from, but only from within the same Ontology.

Removed

  • Removed id field from Composites and Trees
  • Removed element-stubs expansion-resource