in recipe/src/main/java/org/jclouds/karaf/recipe/Activator.java [34:55]
public void start(BundleContext context) throws Exception {
recipeProviderTracker = new ServiceTracker(context, RecipeProvider.class.getName(), null) {
@Override
public Object addingService(ServiceReference reference) {
Object obj = super.addingService(reference);
if (RecipeProvider.class.isAssignableFrom(obj.getClass())) {
recipeManager.bind((RecipeProvider) obj);
}
return obj;
}
@Override
public void removedService(ServiceReference reference, Object service) {
if (RecipeProvider.class.isAssignableFrom(service.getClass())) {
recipeManager.unibind((RecipeProvider) service);
}
super.removedService(reference, service);
}
};
recipeProviderTracker.open();
recipeManagerRegistration = context.registerService(RecipeManager.class.getName(), recipeManager, null);
}