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);
+ // if (log.isDebugEnabled())
+ // log.debug("Standalone repo cn: " + cn);
+ // }
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);
+ log.debug("Found realm: " + realm);
hasDomain = true;
}
}
- if (!hasDomain) {
- loadNoIpaJaasConfiguration();
+ if (hasDomain) {
+ loadIpaJaasConfiguration();
}
} catch (Exception e) {
throw new CmsException("Cannot initialize config", e);
}.open();
}
- private void loadNoIpaJaasConfiguration() {
+ private void loadIpaJaasConfiguration() {
if (System.getProperty(KernelConstants.JAAS_CONFIG_PROP) == null) {
- String jaasConfig = KernelConstants.JAAS_CONFIG_NOIPA;
+ String jaasConfig = KernelConstants.JAAS_CONFIG_IPA;
URL url = getClass().getClassLoader().getResource(jaasConfig);
KernelUtils.setJaasConfiguration(url);
- if (log.isDebugEnabled())
- log.debug("Set no-IPA JAAS configuration.");
+ log.debug("Set IPA JAAS configuration.");
}
}
long initDuration = System.currentTimeMillis() - begin;
if (log.isTraceEnabled())
log.trace("Kernel initialization took " + initDuration + "ms");
- directorsCut(initDuration);
+ tributeToFreeSoftware(initDuration);
}
}
- final private void directorsCut(long initDuration) {
- // final long ms = 128l + (long) (Math.random() * 128d);
- long ms = initDuration / 100;
- log.info("Spend " + ms + "ms" + " reflecting on the progress brought to mankind" + " by Free Software...");
- long beginNano = System.nanoTime();
- try {
- Thread.sleep(ms, 0);
- } catch (InterruptedException e) {
- // silent
+ final private void tributeToFreeSoftware(long initDuration) {
+ if (log.isTraceEnabled()) {
+ long ms = initDuration / 100;
+ log.trace("Spend " + ms + "ms" + " reflecting on the progress brought to mankind" + " by Free Software...");
+ long beginNano = System.nanoTime();
+ try {
+ Thread.sleep(ms, 0);
+ } catch (InterruptedException e) {
+ // silent
+ }
+ long durationNano = System.nanoTime() - beginNano;
+ final double M = 1000d * 1000d;
+ double sleepAccuracy = ((double) durationNano) / (ms * M);
+ log.trace("Sleep accuracy: " + String.format("%.2f", 100 - (sleepAccuracy * 100 - 100)) + " %");
}
- long durationNano = System.nanoTime() - beginNano;
- final double M = 1000d * 1000d;
- double sleepAccuracy = ((double) durationNano) / (ms * M);
- if (log.isDebugEnabled())
- log.debug("Sleep accuracy: " + String.format("%.2f", 100 - (sleepAccuracy * 100 - 100)) + " %");
}
private void prepareNodeRepository(Repository deployedNodeRepository) {
}
List<BundleCapability> capabilities = wiring.getCapabilities(CMS_DATA_MODEL_NAMESPACE);
for (BundleCapability capability : capabilities) {
- registerCnd(adminSession, capability, processed);
+ registerDataModelCapability(adminSession, capability, processed);
}
}
- private void registerCnd(Session adminSession, BundleCapability capability, Set<String> processed) {
+ private void registerDataModelCapability(Session adminSession, BundleCapability capability, Set<String> processed) {
Map<String, Object> attrs = capability.getAttributes();
String name = (String) attrs.get(DataModelNamespace.CAPABILITY_NAME_ATTRIBUTE);
if (processed.contains(name)) {
log.trace("Data model " + name + " has already been processed");
return;
}
+
+ // CND
String path = (String) attrs.get(DataModelNamespace.CAPABILITY_CND_ATTRIBUTE);
- URL url = capability.getRevision().getBundle().getResource(path);
- try (Reader reader = new InputStreamReader(url.openStream())) {
- CndImporter.registerNodeTypes(reader, adminSession, true);
- processed.add(name);
- if (log.isDebugEnabled())
- log.debug("Registered CND " + url);
- } catch (Exception e) {
- throw new CmsException("Cannot import CND " + url, e);
+ if (path != null) {
+ URL url = capability.getRevision().getBundle().getResource(path);
+ if (url == null)
+ throw new CmsException("No data model '" + name + "' found under path " + path);
+ try (Reader reader = new InputStreamReader(url.openStream())) {
+ CndImporter.registerNodeTypes(reader, adminSession, true);
+ processed.add(name);
+ if (log.isDebugEnabled())
+ log.debug("Registered CND " + url);
+ } catch (Exception e) {
+ throw new CmsException("Cannot import CND " + url, e);
+ }
}
if (!asBoolean((String) attrs.get(DataModelNamespace.CAPABILITY_ABSTRACT_ATTRIBUTE))) {