+
+ // home
+ prepareDataModel(KernelUtils.openAdminSession(deployedNodeRepository));
+ }
+
+ private void prepareHomeRepository(Repository deployedRepository) {
+ Hashtable<String, String> regProps = new Hashtable<String, String>();
+ regProps.put(NodeConstants.CN, NodeConstants.HOME);
+ regProps.put(LEGACY_JCR_REPOSITORY_ALIAS, NodeConstants.HOME);
+ homeRepository = new HomeRepository(deployedRepository);
+ // register
+ bc.registerService(Repository.class, homeRepository, regProps);
+
+ new ServiceTracker<CallbackHandler, CallbackHandler>(bc, CallbackHandler.class, null) {
+
+ @Override
+ public CallbackHandler addingService(ServiceReference<CallbackHandler> reference) {
+ NodeKeyRing nodeKeyring = new NodeKeyRing(homeRepository);
+ CallbackHandler callbackHandler = bc.getService(reference);
+ nodeKeyring.setDefaultCallbackHandler(callbackHandler);
+ bc.registerService(LangUtils.names(CryptoKeyring.class, ManagedService.class), nodeKeyring,
+ LangUtils.dico(Constants.SERVICE_PID, NodeConstants.NODE_KEYRING_PID));
+ return callbackHandler;
+ }
+
+ }.open();