public void activate()

in src/main/java/org/apache/sling/bundleresource/impl/BundleResourceWebConsolePlugin.java [151:188]


    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);
    }