]> git.argeo.org Git - lgpl/argeo-commons.git/blob - ScriptAppActivator.java
7b3c57e339e86f98201844f8a002d123746307bc
[lgpl/argeo-commons.git] / ScriptAppActivator.java
1 package org.argeo.cms.script;
2
3 import javax.jcr.Repository;
4
5 import org.osgi.framework.BundleActivator;
6 import org.osgi.framework.BundleContext;
7 import org.osgi.framework.FrameworkUtil;
8 import org.osgi.framework.ServiceReference;
9 import org.osgi.util.tracker.ServiceTracker;
10
11 public class ScriptAppActivator implements BundleActivator {
12 @Override
13 public void start(BundleContext context) throws Exception {
14 CmsScriptRwtApplication appConfig = new CmsScriptRwtApplication();
15 appConfig.init(context);
16 CmsScriptApp app = appConfig.getApp();
17 ServiceTracker<Repository, Repository> repoSt = new ServiceTracker<Repository, Repository>(context,
18 FrameworkUtil.createFilter("(&" + app.getRepo() + "(objectClass=javax.jcr.Repository))"), null) {
19
20 @Override
21 public Repository addingService(ServiceReference<Repository> reference) {
22 Repository repository = super.addingService(reference);
23 appConfig.setRepository(repository);
24 CmsScriptApp app = appConfig.getApp();
25 app.register(context, appConfig);
26 return repository;
27 }
28
29 };
30 repoSt.open();
31 }
32
33 @Override
34 public void stop(BundleContext context) throws Exception {
35 }
36
37 }