1 package org
.argeo
.jackrabbit
;
3 import java
.util
.Properties
;
5 import javax
.jcr
.Repository
;
7 import org
.osgi
.framework
.BundleContext
;
10 * OSGi-aware Jackrabbit repository factory which can retrieve/publish
11 * {@link Repository} as OSGi services.
13 public class OsgiJackrabbitRepositoryFactory
extends
14 JackrabbitRepositoryFactory
{
15 // private final static Log log = LogFactory
16 // .getLog(OsgiJackrabbitRepositoryFactory.class);
17 private BundleContext bundleContext
;
19 protected void publish(String alias
, Repository repository
,
20 Properties properties
) {
21 if (bundleContext
!= null) {
22 // do not modify reference
23 Properties props
= new Properties(properties
);
24 props
.setProperty(JCR_REPOSITORY_ALIAS
, alias
);
25 bundleContext
.registerService(Repository
.class.getName(),
30 public void setBundleContext(BundleContext bundleContext
) {
31 this.bundleContext
= bundleContext
;