public void activate()

in src/main/java/org/apache/sling/bundleresource/impl/BundleResourceWebConsolePlugin.java [147:183]


    public void activate(BundleContext context) {
        providerTracker =
                new ServiceTracker<ResourceProvider, ResourceProvider>(
                        context, ResourceProvider.class.getName(), null) {

                    @Override
                    public ResourceProvider addingService(final ServiceReference<ResourceProvider> reference) {
                        ResourceProvider service = null;
                        if (reference.getProperty(BundleResourceProvider.PROP_BUNDLE) != null) {
                            service = super.addingService(reference);
                            if (service instanceof BundleResourceProvider) {
                                provider.add((BundleResourceProvider) service);
                            }
                        }
                        return service;
                    }

                    @Override
                    public void removedService(
                            final ServiceReference<ResourceProvider> reference, final ResourceProvider service) {
                        if (service instanceof BundleResourceProvider) {
                            provider.remove(service);
                        }
                        super.removedService(reference, service);
                    }
                };
        providerTracker.open();

        Dictionary<String, Object> props = new Hashtable<>();
        props.put(Constants.SERVICE_DESCRIPTION, "Web Console Plugin for Bundle Resource Providers");
        props.put(Constants.SERVICE_VENDOR, "The Apache Software Foundation");
        props.put("felix.webconsole.label", LABEL);
        props.put("felix.webconsole.title", "Bundle Resource Provider");
        props.put("felix.webconsole.category", "Sling");

        serviceRegistration = context.registerService(Servlet.class, this, props);
    }