Author: rombert
Date: Wed Aug 30 10:12:08 2017
New Revision: 1806682
URL: http://svn.apache.org/viewvc?rev=1806682&view=rev
Log:
OAK-6563 - Session.hasCapability(...) should reflect read-only status of mounts
Simplify retrieval of MountInfoProvider from the Whiteboard,
thanks to Chetan for spotting and suggesting a fix.
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/repository/RepositoryImpl.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/repository/RepositoryImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/repository/RepositoryImpl.java?rev=1806682&r1=1806681&r2=1806682&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/repository/RepositoryImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/repository/RepositoryImpl.java
Wed Aug 30 10:12:08 2017
@@ -67,6 +67,7 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
import org.apache.jackrabbit.oak.spi.whiteboard.Tracker;
import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils;
import org.apache.jackrabbit.oak.stats.Clock;
import org.apache.jackrabbit.oak.stats.StatisticManager;
import org.apache.jackrabbit.oak.spi.descriptors.GenericDescriptors;
@@ -156,17 +157,7 @@ public class RepositoryImpl implements J
this.clock = new Clock.Fast(scheduledExecutor);
this.gcMonitorRegistration = whiteboard.register(GCMonitor.class,
gcMonitor, emptyMap());
this.fastQueryResultSize = fastQueryResultSize;
-
- Tracker<MountInfoProvider> tracker =
whiteboard.track(MountInfoProvider.class);
- List<MountInfoProvider> services = tracker.getServices();
- tracker.stop();
-
- if ( services.isEmpty() )
- this.mountInfoProvider = null;
- else if ( services.size() == 1 )
- this.mountInfoProvider = services.get(0);
- else
- throw new IllegalArgumentException("Found " + services.size() + "
MountInfoProvider references, expected at most 1.");
+ this.mountInfoProvider = WhiteboardUtils.getService(whiteboard,
MountInfoProvider.class);
}
//---------------------------------------------------------< Repository
>---