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 2014/06/12 13:12:27 UTC
svn commit: r1602121 -
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
Author: chetanm
Date: Thu Jun 12 11:12:27 2014
New Revision: 1602121
URL: http://svn.apache.org/r1602121
Log:
OAK-1462 - Aggregate Index isn't usable in an osgi environment
Updating to pick RepositoryInitializer from the service registry. This is required by tests to provide extra initial content
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java?rev=1602121&r1=1602120&r2=1602121&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java Thu Jun 12 11:12:27 2014
@@ -35,8 +35,10 @@ import org.apache.jackrabbit.oak.osgi.Os
import org.apache.jackrabbit.oak.plugins.commit.JcrConflictHandler;
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
import org.apache.jackrabbit.oak.plugins.observation.CommitRateLimiter;
+import org.apache.jackrabbit.oak.spi.lifecycle.RepositoryInitializer;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.jackrabbit.oak.spi.whiteboard.Tracker;
import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardEditorProvider;
import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardExecutor;
@@ -67,6 +69,8 @@ public class RepositoryManager {
private final WhiteboardExecutor executor = new WhiteboardExecutor();
+ private Tracker<RepositoryInitializer> initializers;
+
private Whiteboard whiteboard;
private ServiceRegistration registration;
@@ -107,6 +111,7 @@ public class RepositoryManager {
}
whiteboard = new OsgiWhiteboard(bundleContext);
+ initializers = whiteboard.track(RepositoryInitializer.class);
editorProvider.start(whiteboard);
indexEditorProvider.start(whiteboard);
indexProvider.start(whiteboard);
@@ -132,6 +137,7 @@ public class RepositoryManager {
registration.unregister();
}
+ initializers.stop();
executor.stop();
indexProvider.stop();
indexEditorProvider.stop();
@@ -150,6 +156,10 @@ public class RepositoryManager {
.withAsyncIndexing()
.with(executor);
+ for(RepositoryInitializer initializer : initializers.getServices()){
+ oak.with(initializer);
+ }
+
if (commitRateLimiter != null) {
oak.with(commitRateLimiter);
}