in src/main/java/org/apache/sling/launchpad/installer/impl/ServicesListener.java [86:103]
public synchronized void notifyChange() {
// check if all services are available
final OsgiInstaller installer = (OsgiInstaller)this.installerListener.getService();
final LaunchpadContentProvider lcp = (LaunchpadContentProvider)this.providerListener.getService();
final StartupHandler handler = (StartupHandler)this.startupListener.getService();
final SlingSettingsService settings = (SlingSettingsService)this.settingsListener.getService();
if ( installer != null && lcp != null && handler != null && settings != null ) {
if ( !this.installed ) {
this.installed = true;
this.launchpadListener = new LaunchpadListener(handler);
final Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put(Constants.SERVICE_DESCRIPTION, "Apache Sling Launchpad Startup Listener");
props.put(Constants.SERVICE_VENDOR, "The Apache Software Foundation");
this.launchpadListenerReg = this.bundleContext.registerService(InstallationListener.class.getName(), launchpadListener, props);
LaunchpadConfigInstaller.install(installer, lcp, settings.getRunModes());
}
}
}