in jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java [194:223]
private OSGi<?> applicationExtensions(
OSGi<CachingServiceReference<Object>> extensions) {
return
onlyValid(
onlySupportedInterfaces(
extensions,
_runtime::addInvalidExtension,
_runtime::removeInvalidExtension),
_runtime::addInvalidExtension,
_runtime::removeInvalidExtension).
flatMap(extensionReference ->
chooseApplication(
extensionReference,
_runtime::addApplicationDependentExtension,
_runtime::removeApplicationDependentExtension).
flatMap(registrator ->
waitForExtensionDependencies(
extensionReference,
registrator,
er ->
_runtime.addDependentExtensionInApplication(
registrator.getProperties(), er),
er ->
_runtime.removeDependentExtensionFromApplication(
registrator.getProperties(), er)).
then(
safeRegisterExtension(extensionReference, registrator)
)));
}