-import org.osgi.framework.ServiceReference;
-
-public abstract class AbstractBindingAwareProvider implements BindingAwareProvider, BundleActivator {
-
- @Override
- public final void start(BundleContext context) throws Exception {
- ServiceReference<BindingAwareBroker> brokerRef = context.getServiceReference(BindingAwareBroker.class);
- BindingAwareBroker broker = context.getService(brokerRef);
-
- ProviderContext ctx = broker.registerProvider(this, context);
- registerRpcImplementations(ctx);
- registerFunctionality(ctx);
-
- startImpl(context);
- }
-
- private void registerFunctionality(ProviderContext ctx) {
- Collection<? extends ProviderFunctionality> functionality = this.getFunctionality();
- if(functionality == null || functionality.isEmpty()) {
- return;
- }
- for (ProviderFunctionality providerFunctionality : functionality) {
- ctx.registerFunctionality(providerFunctionality);
- }
-
- }