Background
Currently the DecorationConfigurationSource aggregates the decorations that do not have a corresponding definition provider available into a map of danglingDecorators.
However, there is a consistency between the APIs exposed:
- getAllProviders() and getAllMetadata() aggregate not only the definition providers from different configuration sources but also include the dangling definition decorators.
- Meanwhile getProvider(...) API searches for the requested DefinitionProvider only in the underlying ConfigurationSources
This inconsistent behaviour bubbles up higher in the API chain, due to NoSuchDefinitionException leading to End of the World behaviour in the exposed REST APIs.
|