]> git.argeo.org Git - lgpl/argeo-commons.git/blob - server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/OsgiJackrabbitRepositoryFactory.java
Improve logging
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / jackrabbit / OsgiJackrabbitRepositoryFactory.java
1 package org.argeo.jackrabbit;
2
3 import java.util.Properties;
4
5 import javax.jcr.Repository;
6
7 import org.osgi.framework.BundleContext;
8
9 /**
10 * OSGi-aware Jackrabbit repository factory which can retrieve/publish
11 * {@link Repository} as OSGi services.
12 */
13 public class OsgiJackrabbitRepositoryFactory extends
14 JackrabbitRepositoryFactory {
15 // private final static Log log = LogFactory
16 // .getLog(OsgiJackrabbitRepositoryFactory.class);
17 private BundleContext bundleContext;
18
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(),
26 repository, props);
27 }
28 }
29
30 public void setBundleContext(BundleContext bundleContext) {
31 this.bundleContext = bundleContext;
32 }
33
34 }