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