Components-based JCR configuration.
[lgpl/argeo-commons.git] / org.argeo.cms.jcr / src / org / argeo / cms / jcr / internal / osgi / CmsJcrActivator.java
index 1fb81b7170c53b145a34bfbc2282c9694fd8922b..57860d84f4cb3d030436b00d593883a2e8f58f19 100644 (file)
@@ -1,58 +1,40 @@
 package org.argeo.cms.jcr.internal.osgi;
 
-import java.nio.file.spi.FileSystemProvider;
-import java.util.ArrayList;
 import java.util.Dictionary;
-import java.util.List;
 
-import javax.jcr.RepositoryFactory;
-
-import org.argeo.api.NodeConstants;
-import org.argeo.cms.jcr.internal.CmsFsProvider;
 import org.argeo.cms.jcr.internal.StatisticsThread;
-import org.argeo.cms.jcr.internal.NodeRepositoryFactory;
-import org.argeo.cms.jcr.internal.RepositoryServiceFactory;
-import org.argeo.util.LangUtils;
-import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.service.cm.ManagedServiceFactory;
 
 public class CmsJcrActivator implements BundleActivator {
        private static BundleContext bundleContext;
-       static {
-               Bundle bundle = FrameworkUtil.getBundle(CmsJcrActivator.class);
-               if (bundle != null) {
-                       bundleContext = bundle.getBundleContext();
-               }
-       }
 
 //     private List<Runnable> stopHooks = new ArrayList<>();
        private StatisticsThread kernelThread;
 
-       private RepositoryServiceFactory repositoryServiceFactory;
-//     private JcrDeployment jcrDeployment;
+//     private JackrabbitRepositoryContextsFactory repositoryServiceFactory;
+//     private CmsJcrDeployment jcrDeployment;
 
        @Override
        public void start(BundleContext context) throws Exception {
+               bundleContext = context;
+               
                // kernel thread
                kernelThread = new StatisticsThread("Kernel Thread");
                kernelThread.setContextClassLoader(getClass().getClassLoader());
                kernelThread.start();
 
                // JCR
-               repositoryServiceFactory = new RepositoryServiceFactory();
-//             stopHooks.add(() -> repositoryServiceFactory.shutdown());
-               registerService(ManagedServiceFactory.class, repositoryServiceFactory,
-                               LangUtils.dict(Constants.SERVICE_PID, NodeConstants.NODE_REPOS_FACTORY_PID));
+//             repositoryServiceFactory = new JackrabbitRepositoryContextsFactory();
+////           stopHooks.add(() -> repositoryServiceFactory.shutdown());
+//             registerService(ManagedServiceFactory.class, repositoryServiceFactory,
+//                             LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_REPOS_FACTORY_PID));
 
-               NodeRepositoryFactory repositoryFactory = new NodeRepositoryFactory();
-               registerService(RepositoryFactory.class, repositoryFactory, null);
+//             JcrRepositoryFactory repositoryFactory = new JcrRepositoryFactory();
+//             registerService(RepositoryFactory.class, repositoryFactory, null);
 
                // File System
-               CmsFsProvider cmsFsProvider = new CmsFsProvider();
+//             CmsJcrFsProvider cmsFsProvider = new CmsJcrFsProvider();
 //             ServiceLoader<FileSystemProvider> fspSl = ServiceLoader.load(FileSystemProvider.class);
 //             for (FileSystemProvider fsp : fspSl) {
 //                     log.debug("FileSystemProvider " + fsp);
@@ -63,10 +45,10 @@ public class CmsJcrActivator implements BundleActivator {
 //             for (FileSystemProvider fsp : FileSystemProvider.installedProviders()) {
 //                     log.debug("Installed FileSystemProvider " + fsp);
 //             }
-               registerService(FileSystemProvider.class, cmsFsProvider,
-                               LangUtils.dict(Constants.SERVICE_PID, NodeConstants.NODE_FS_PROVIDER_PID));
+//             registerService(FileSystemProvider.class, cmsFsProvider,
+//                             LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_FS_PROVIDER_PID));
 
-//             jcrDeployment = new JcrDeployment();
+//             jcrDeployment = new CmsJcrDeployment();
 //             jcrDeployment.init();
        }
 
@@ -75,12 +57,13 @@ public class CmsJcrActivator implements BundleActivator {
 //             if (jcrDeployment != null)
 //                     jcrDeployment.destroy();
 
-               if (repositoryServiceFactory != null)
-                       repositoryServiceFactory.shutdown();
+//             if (repositoryServiceFactory != null)
+//                     repositoryServiceFactory.shutdown();
 
                if (kernelThread != null)
                        kernelThread.destroyAndJoin();
 
+               bundleContext = null;
        }
 
        @Deprecated