+ log.error("## FATAL: CMS activator failed", e);
+ }
+ }
+
+ private void initSecurity() {
+ if (System.getProperty(KernelConstants.JAAS_CONFIG_PROP) == null) {
+ String jaasConfig = KernelConstants.JAAS_CONFIG;
+ URL url = getClass().getClassLoader().getResource(jaasConfig);
+ // System.setProperty(KernelConstants.JAAS_CONFIG_PROP,
+ // url.toExternalForm());
+ KernelUtils.setJaasConfiguration(url);
+ }
+ // explicitly load JAAS configuration
+ Configuration.getConfiguration();
+
+ // ConditionalPermissionAdmin permissionAdmin = bc
+ // .getService(bc.getServiceReference(ConditionalPermissionAdmin.class));
+ // ConditionalPermissionUpdate update =
+ // permissionAdmin.newConditionalPermissionUpdate();
+ // // Self
+ // update.getConditionalPermissionInfos()
+ // .add(permissionAdmin.newConditionalPermissionInfo(null,
+ // new ConditionInfo[] {
+ // new ConditionInfo(BundleLocationCondition.class.getName(), new
+ // String[] { "*" }) },
+ // new PermissionInfo[] { new
+ // PermissionInfo(AllPermission.class.getName(), null, null) },
+ // ConditionalPermissionInfo.ALLOW));
+ //
+ }
+
+ private void initArgeoLogger() {
+ // Jetty
+ // disable integration of Jetty logging with SLF4J
+ // in order to avoid chicken and egg problems
+ // org.eclipse.jetty.util.log.Log.setLog(new StdErrLog());
+ // org.eclipse.jetty.util.log.Logger jettyLog =
+ // org.eclipse.jetty.util.log.Log.getLog();
+ // if (jettyLog != null) {
+ // jettyLog.warn("TEST JETTY LOG", new Object[0]);
+ // }
+
+ logger = new NodeLogger(logReaderService);
+ bc.registerService(ArgeoLogger.class, logger, null);
+ }
+
+ private void initNode() throws IOException {
+ // Node state
+ Path stateUuidPath = bc.getDataFile("stateUuid").toPath();
+ String stateUuid;
+ if (Files.exists(stateUuidPath)) {
+ stateUuid = Files.readAllLines(stateUuidPath).get(0);
+ } else {
+ stateUuid = bc.getProperty(Constants.FRAMEWORK_UUID);
+ Files.write(stateUuidPath, stateUuid.getBytes());