]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsInstance.java
1 package org
.argeo
.cms
.internal
.kernel
;
3 import javax
.jcr
.Repository
;
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
;
15 public class CmsInstance
implements NodeInstance
{
16 private final Log log
= LogFactory
.getLog(getClass());
17 private final BundleContext bc
= FrameworkUtil
.getBundle(getClass()).getBundleContext();
20 public CmsInstance() {
24 private void initTrackers() {
26 new ServiceTracker
<Repository
, Repository
>(bc
, Repository
.class, null) {
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");
34 return super.addingService(reference
);
39 public void shutdown() {