in jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java [248:273]
private OSGi<?> getAllServices() {
OSGi<CachingServiceReference<Object>> applicationsForWhiteboard =
(OSGi)getApplicationsForWhiteboard();
return
highestPer(
sr -> just(getServiceName(sr::getProperty)),
countChanges(
all(
getResourcesForWhiteboard(),
getApplicationExtensionsForWhiteboard(),
applicationsForWhiteboard
)
),
this::registerShadowedService,
this::unregisterShadowedService
).
effects(
_runtime::addServiceForName,
_runtime::removedServiceForName
).
distribute(
p -> ignore(applications((OSGi)p.filter(this::isApplication))),
p -> ignore(applicationResources(p.filter(this::isResource))),
p -> ignore(applicationExtensions(p.filter(this::isExtension)))
);
}