public void enable()

in jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java [129:183]


    public void enable() {
        _enabled = true;

        try {
            rewire();
        }
        catch (Exception e) {
            ArrayList<ServiceTuple<?>> providers = new ArrayList<>();
            ArrayList<ResourceProvider> services = new ArrayList<>();

            for (ServiceTuple<?> provider : _providers) {
                providers.add(provider);

                try {
                    doRewire(providers, services);
                }
                catch (Exception ex) {
                    providers.remove(provider);
                    _erroredProviders.add(provider);
                }
            }
            for (ResourceProvider service : _services) {
                services.add(service);

                try {
                    doRewire(providers, services);
                }
                catch (Exception ex) {
                    services.remove(service);
                    _erroredServices.add(service);
                }
            }

            _enabled = false;

            for (ServiceTuple<?> erroredProvider : _erroredProviders) {
                CachingServiceReference<?> cachingServiceReference =
                    erroredProvider.getCachingServiceReference();
                _providers.remove(erroredProvider);
                _ariesJaxrsServiceRuntime.addErroredExtension(
                    cachingServiceReference);
                _serviceReferenceRegistry.unregister(cachingServiceReference);
            }
            for (ResourceProvider erroredService : _erroredServices) {
                _services.remove(erroredService);
                _ariesJaxrsServiceRuntime.addErroredEndpoint(
                    ((ServiceReferenceResourceProvider)erroredService).
                        getImmutableServiceReference());
            }

            _enabled = true;

            rewire();
        }
    }