public void notifyChange()

in src/main/java/org/apache/sling/extensions/webconsolesecurityprovider/internal/ServicesListener.java [146:169]


    public void notifyChange() {
        // check if all services are available
        synchronized (lock) {
            final Object authSupport = this.authSupportListener.getService();
            final Object authenticator = this.authListener.getService();
            final Object repository = this.repositoryListener.getService();

            final State targetState = this.getTargetState(authSupport != null && authenticator != null, repository != null);
            if ( this.registrationState != targetState ) {
                if ( targetState != State.PROVIDER_JCR ) {
                    this.unregisterProviderJcr();
                }
                if ( targetState != State.PROVIDER_SLING ) {
                    this.unregisterProviderSling();
                }
                if ( targetState == State.PROVIDER_JCR ) {
                    this.registerProviderJcr(repository);
                } else if ( targetState == State.PROVIDER_SLING ) {
                    this.registerProviderSling(authSupport, authenticator);
                }
                this.registrationState = targetState;
            }
        }
    }