You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2015/08/07 13:00:28 UTC
svn commit: r1694653 -
/jackrabbit/oak/trunk/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java
Author: chetanm
Date: Fri Aug 7 11:00:28 2015
New Revision: 1694653
URL: http://svn.apache.org/r1694653
Log:
OAK-3194 - Provide a way for embedding application to control which all bundles are started
Modified:
jackrabbit/oak/trunk/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java
Modified: jackrabbit/oak/trunk/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java?rev=1694653&r1=1694652&r2=1694653&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java (original)
+++ jackrabbit/oak/trunk/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java Fri Aug 7 11:00:28 2015
@@ -74,6 +74,9 @@ import static com.google.common.base.Pre
*
* <dt>org.apache.jackrabbit.repository.home</dt>
* <dd>Used to specify the absolute path of the repository home directory</dd>
+ *
+ * <dt>org.apache.jackrabbit.oak.repository.bundleFilter</dt>
+ * <dd>Used to specify the bundle filter string which is passed to ClasspathScanner</dd>
* </dl>
*/
public class OakOSGiRepositoryFactory implements RepositoryFactory {
@@ -104,6 +107,9 @@ public class OakOSGiRepositoryFactory im
*/
public static final String REPOSITORY_CONFIG_FILE = "org.apache.jackrabbit.oak.repository.configFile";
+ public static final String REPOSITORY_BUNDLE_FILTER
+ = "org.apache.jackrabbit.oak.repository.bundleFilter";
+
/**
* Default timeout for repository creation
*/
@@ -179,7 +185,7 @@ public class OakOSGiRepositoryFactory im
PojoServiceRegistry registry = createServiceRegistry(config);
startConfigTracker(registry, config);
preProcessRegistry(registry);
- startBundles(registry);
+ startBundles(registry, (String)config.get(REPOSITORY_BUNDLE_FILTER));
postProcessRegistry(registry);
return registry;
@@ -278,9 +284,9 @@ public class OakOSGiRepositoryFactory im
}
- private void startBundles(PojoServiceRegistry registry) {
+ private void startBundles(PojoServiceRegistry registry, String bundleFilter) {
try {
- List<BundleDescriptor> descriptors = new ClasspathScanner().scanForBundles();
+ List<BundleDescriptor> descriptors = new ClasspathScanner().scanForBundles(bundleFilter);
descriptors = Lists.newArrayList(descriptors);
descriptors = processDescriptors(descriptors);
registry.startBundles(descriptors);