1 package org
.argeo
.cms
.jcr
.internal
.osgi
;
3 import java
.util
.Dictionary
;
5 import org
.argeo
.cms
.jcr
.internal
.StatisticsThread
;
6 import org
.osgi
.framework
.BundleActivator
;
7 import org
.osgi
.framework
.BundleContext
;
9 public class CmsJcrActivator
implements BundleActivator
{
10 private static BundleContext bundleContext
;
12 // private List<Runnable> stopHooks = new ArrayList<>();
13 // private StatisticsThread kernelThread;
15 // private JackrabbitRepositoryContextsFactory repositoryServiceFactory;
16 // private CmsJcrDeployment jcrDeployment;
19 public void start(BundleContext context
) throws Exception
{
20 bundleContext
= context
;
23 // kernelThread = new StatisticsThread("CMS JCR statistics Thread");
24 // kernelThread.setContextClassLoader(getClass().getClassLoader());
25 // kernelThread.start();
28 // repositoryServiceFactory = new JackrabbitRepositoryContextsFactory();
29 //// stopHooks.add(() -> repositoryServiceFactory.shutdown());
30 // registerService(ManagedServiceFactory.class, repositoryServiceFactory,
31 // LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_REPOS_FACTORY_PID));
33 // JcrRepositoryFactory repositoryFactory = new JcrRepositoryFactory();
34 // registerService(RepositoryFactory.class, repositoryFactory, null);
37 // CmsJcrFsProvider cmsFsProvider = new CmsJcrFsProvider();
38 // ServiceLoader<FileSystemProvider> fspSl = ServiceLoader.load(FileSystemProvider.class);
39 // for (FileSystemProvider fsp : fspSl) {
40 // log.debug("FileSystemProvider " + fsp);
41 // if (fsp instanceof CmsFsProvider) {
42 // cmsFsProvider = (CmsFsProvider) fsp;
45 // for (FileSystemProvider fsp : FileSystemProvider.installedProviders()) {
46 // log.debug("Installed FileSystemProvider " + fsp);
48 // registerService(FileSystemProvider.class, cmsFsProvider,
49 // LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_FS_PROVIDER_PID));
51 // jcrDeployment = new CmsJcrDeployment();
52 // jcrDeployment.init();
56 public void stop(BundleContext context
) throws Exception
{
57 // if (jcrDeployment != null)
58 // jcrDeployment.destroy();
60 // if (repositoryServiceFactory != null)
61 // repositoryServiceFactory.shutdown();
63 // if (kernelThread != null)
64 // kernelThread.destroyAndJoin();
70 public static <T
> void registerService(Class
<T
> clss
, T service
, Dictionary
<String
, ?
> properties
) {
71 if (bundleContext
!= null) {
72 bundleContext
.registerService(clss
, service
, properties
);
78 public static BundleContext
getBundleContext() {
83 public static <T
> T
getService(Class
<T
> clss
) {
84 if (bundleContext
!= null) {
85 return bundleContext
.getService(bundleContext
.getServiceReference(clss
));