]> git.argeo.org Git - gpl/argeo-jcr.git/blob - org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/osgi/CmsJcrActivator.java
Adapt to changes in Argeo TP
[gpl/argeo-jcr.git] / org.argeo.cms.jcr / src / org / argeo / cms / jcr / internal / osgi / CmsJcrActivator.java
1 package org.argeo.cms.jcr.internal.osgi;
2
3 import java.util.Dictionary;
4
5 import org.argeo.cms.jcr.internal.StatisticsThread;
6 import org.osgi.framework.BundleActivator;
7 import org.osgi.framework.BundleContext;
8
9 public class CmsJcrActivator implements BundleActivator {
10 private static BundleContext bundleContext;
11
12 // private List<Runnable> stopHooks = new ArrayList<>();
13 private StatisticsThread kernelThread;
14
15 // private JackrabbitRepositoryContextsFactory repositoryServiceFactory;
16 // private CmsJcrDeployment jcrDeployment;
17
18 @Override
19 public void start(BundleContext context) throws Exception {
20 bundleContext = context;
21
22 // kernel thread
23 kernelThread = new StatisticsThread("Kernel Thread");
24 kernelThread.setContextClassLoader(getClass().getClassLoader());
25 kernelThread.start();
26
27 // JCR
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));
32
33 // JcrRepositoryFactory repositoryFactory = new JcrRepositoryFactory();
34 // registerService(RepositoryFactory.class, repositoryFactory, null);
35
36 // File System
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;
43 // }
44 // }
45 // for (FileSystemProvider fsp : FileSystemProvider.installedProviders()) {
46 // log.debug("Installed FileSystemProvider " + fsp);
47 // }
48 // registerService(FileSystemProvider.class, cmsFsProvider,
49 // LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_FS_PROVIDER_PID));
50
51 // jcrDeployment = new CmsJcrDeployment();
52 // jcrDeployment.init();
53 }
54
55 @Override
56 public void stop(BundleContext context) throws Exception {
57 // if (jcrDeployment != null)
58 // jcrDeployment.destroy();
59
60 // if (repositoryServiceFactory != null)
61 // repositoryServiceFactory.shutdown();
62
63 if (kernelThread != null)
64 kernelThread.destroyAndJoin();
65
66 bundleContext = null;
67 }
68
69 @Deprecated
70 public static <T> void registerService(Class<T> clss, T service, Dictionary<String, ?> properties) {
71 if (bundleContext != null) {
72 bundleContext.registerService(clss, service, properties);
73 }
74
75 }
76
77 @Deprecated
78 public static BundleContext getBundleContext() {
79 return bundleContext;
80 }
81
82 @Deprecated
83 public static <T> T getService(Class<T> clss) {
84 if (bundleContext != null) {
85 return bundleContext.getService(bundleContext.getServiceReference(clss));
86 } else {
87 return null;
88 }
89 }
90
91 }