+ new ServiceTracker<ConfigurationAdmin, ConfigurationAdmin>(bc, ConfigurationAdmin.class, null) {
+ @Override
+ public ConfigurationAdmin addingService(ServiceReference<ConfigurationAdmin> reference) {
+ ConfigurationAdmin configurationAdmin = bc.getService(reference);
+ deployConfig = new DeployConfig(configurationAdmin, cleanState);
+ httpExpected = deployConfig.getProps(KernelConstants.JETTY_FACTORY_PID, "default") != null;
+ try {
+ Configuration[] configs = configurationAdmin
+ .listConfigurations("(service.factoryPid=" + NodeConstants.NODE_REPOS_FACTORY_PID + ")");
+ for (Configuration config : configs) {
+ Object cn = config.getProperties().get(NodeConstants.CN);
+ log.debug("Standalone repo cn: " + cn);
+ }
+ configs = configurationAdmin
+ .listConfigurations("(service.factoryPid=" + NodeConstants.NODE_USER_ADMIN_PID + ")");
+
+ boolean hasDomain = false;
+ for (Configuration config : configs) {
+ Object realm = config.getProperties().get(UserAdminConf.realm.name());
+ if (realm != null) {
+ log.debug("Realm: " + realm);
+ hasDomain = true;
+ }
+ }
+ if (!hasDomain) {
+ loadNoIpaJaasConfiguration();
+ }
+ } catch (Exception e) {
+ throw new CmsException("Cannot initialize config", e);
+ }
+ return super.addingService(reference);
+ }
+ }.open();
+ }
+
+ private void loadNoIpaJaasConfiguration() {
+ if (System.getProperty(KernelConstants.JAAS_CONFIG_PROP) == null) {
+ String jaasConfig = KernelConstants.JAAS_CONFIG_NOIPA;
+ URL url = getClass().getClassLoader().getResource(jaasConfig);
+ KernelUtils.setJaasConfiguration(url);
+ if (log.isDebugEnabled())
+ log.debug("Set no-IPA JAAS configuration.");
+ }