]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsInstance.java
Don't use context user to generate path.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / CmsInstance.java
1 package org.argeo.cms.internal.kernel;
2
3 import javax.jcr.Repository;
4
5 import org.apache.commons.logging.Log;
6 import org.apache.commons.logging.LogFactory;
7 import org.argeo.jcr.ArgeoJcrConstants;
8 import org.argeo.node.NodeConstants;
9 import org.argeo.node.NodeInstance;
10 import org.osgi.framework.BundleContext;
11 import org.osgi.framework.FrameworkUtil;
12 import org.osgi.framework.ServiceReference;
13 import org.osgi.util.tracker.ServiceTracker;
14
15 public class CmsInstance implements NodeInstance {
16 private final Log log = LogFactory.getLog(getClass());
17 private final BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext();
18
19
20 public CmsInstance() {
21 initTrackers();
22 }
23
24 private void initTrackers() {
25 // node repository
26 new ServiceTracker<Repository, Repository>(bc, Repository.class, null) {
27 @Override
28 public Repository addingService(ServiceReference<Repository> reference) {
29 Object cn = reference.getProperty(NodeConstants.CN);
30 if (cn != null && cn.equals(ArgeoJcrConstants.ALIAS_NODE)) {
31 if (log.isDebugEnabled())
32 log.debug("Node repository is available");
33 }
34 return super.addingService(reference);
35 }
36 }.open();
37 }
38
39 public void shutdown() {
40
41 }
42
43 }