Description
An extension point should be created in org.teiid.designer.extension that permits metamodel plugins to indicate their metamodel can be extended using the model extension framework. Extensions for each metamodel plugin that can be extended should also be written. This extension point should be loaded by the ExtensionPlugin at startup. The ExtensionPlugin should then register these metamodels with the ModelExtensionRegistry. The registry should add supporting method(s) required by the framework. For instance, when creating or validating a ModelExtensionDefinition (MED), the MED's extended metamodel should be checked to make sure it is authorized to be extended. An existing extension point is used for registering MEDs at startup. This new extension point should be loaded first so that the extended metamodel can be checked when registering/creating the built-in MEDs.