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 2017/06/02 11:39:31 UTC
svn commit: r1797375 - in
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak:
console/Console.java console/ConsoleSession.java
run/cli/NodeStoreFixtureProvider.java
Author: chetanm
Date: Fri Jun 2 11:39:31 2017
New Revision: 1797375
URL: http://svn.apache.org/viewvc?rev=1797375&view=rev
Log:
OAK-6081 - Indexing tooling via oak-run
Expose MongoConnection and DataSource instance to Whiteboard associated
with the NodeStoreFixtureProvider
Also expose the whiteboard to the console session
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/Console.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/ConsoleSession.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/Console.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/Console.java?rev=1797375&r1=1797374&r2=1797375&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/Console.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/Console.java Fri Jun 2 11:39:31 2017
@@ -61,7 +61,7 @@ public class Console {
}
GroovyConsole console =
- new GroovyConsole(ConsoleSession.create(fixture.getStore()), new IO(), fixture);
+ new GroovyConsole(ConsoleSession.create(fixture.getStore(), fixture.getWhiteboard()), new IO(), fixture);
int code = 0;
if(!scriptArgs.isEmpty()){
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/ConsoleSession.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/ConsoleSession.java?rev=1797375&r1=1797374&r2=1797375&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/ConsoleSession.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/ConsoleSession.java Fri Jun 2 11:39:31 2017
@@ -26,22 +26,25 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import com.google.common.collect.Maps;
+import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
/**
* Light weight session to a NodeStore, holding context information.
*/
-public abstract class ConsoleSession {
+public class ConsoleSession {
private final Map<String, Object> context = Maps.newHashMap();
private final NodeStore store;
+ private final Whiteboard whiteboard;
- private ConsoleSession(NodeStore store) {
+ private ConsoleSession(NodeStore store, Whiteboard whiteboard) {
this.store = store;
+ this.whiteboard = whiteboard;
}
- public static ConsoleSession create(NodeStore store) {
- return new DefaultSession(store);
+ public static ConsoleSession create(NodeStore store, Whiteboard whiteboard) {
+ return new ConsoleSession(store, whiteboard);
}
/**
@@ -113,6 +116,10 @@ public abstract class ConsoleSession {
return store;
}
+ public Whiteboard getWhiteboard() {
+ return whiteboard;
+ }
+
/**
* The node state for the current working path. Possibly non-existent.
*
@@ -155,11 +162,4 @@ public abstract class ConsoleSession {
public void refresh() {
context.put("root", store.getRoot());
}
-
- private static final class DefaultSession extends ConsoleSession {
-
- DefaultSession(NodeStore store) {
- super(store);
- }
- }
}
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java?rev=1797375&r1=1797374&r2=1797375&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java Fri Jun 2 11:39:31 2017
@@ -19,7 +19,6 @@
package org.apache.jackrabbit.oak.run.cli;
-import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.net.UnknownHostException;
@@ -70,12 +69,12 @@ public class NodeStoreFixtureProvider {
closer.register(blobFixture);
}
- StatisticsProvider statisticsProvider = createStatsProvider(options, closer);
+ StatisticsProvider statisticsProvider = createStatsProvider(options, wb, closer);
wb.register(StatisticsProvider.class, statisticsProvider, Collections.emptyMap());
NodeStore store;
if (commonOpts.isMongo() || commonOpts.isRDB()) {
- store = configureDocumentMk(options, blobStore, statisticsProvider, closer, readOnly);
+ store = configureDocumentMk(options, blobStore, statisticsProvider, closer, wb, readOnly);
} else {
store = configureSegment(options, blobStore, statisticsProvider, closer, readOnly);
}
@@ -87,7 +86,7 @@ public class NodeStoreFixtureProvider {
BlobStore blobStore,
StatisticsProvider statisticsProvider,
Closer closer,
- boolean readOnly) throws UnknownHostException {
+ Whiteboard wb, boolean readOnly) throws UnknownHostException {
DocumentMK.Builder builder = new DocumentMK.Builder();
if (blobStore != null) {
@@ -130,12 +129,14 @@ public class NodeStoreFixtureProvider {
System.exit(1);
}
MongoConnection mongo = new MongoConnection(uri.getURI());
+ wb.register(MongoConnection.class, mongo, Collections.emptyMap());
closer.register(mongo::close);
builder.setMongoDB(mongo.getDB());
} else if (commonOpts.isRDB()) {
RDBStoreOptions rdbOpts = options.getOptionBean(RDBStoreOptions.class);
DataSource ds = RDBDataSourceFactory.forJdbcUrl(commonOpts.getStoreArg(),
rdbOpts.getUser(), rdbOpts.getPassword());
+ wb.register(DataSource.class, ds, Collections.emptyMap());
builder.setRDBConnection(ds);
}
@@ -170,13 +171,14 @@ public class NodeStoreFixtureProvider {
return nodeStore;
}
- private static StatisticsProvider createStatsProvider(Options options, Closer closer) {
+ private static StatisticsProvider createStatsProvider(Options options, Whiteboard wb, Closer closer) {
if (options.getCommonOpts().isMetricsEnabled()) {
ScheduledExecutorService executorService =
MoreExecutors.getExitingScheduledExecutorService(new ScheduledThreadPoolExecutor(1));
MetricStatisticsProvider statsProvider = new MetricStatisticsProvider(getPlatformMBeanServer(), executorService);
closer.register(statsProvider);
closer.register(() -> reportMetrics(statsProvider));
+ wb.register(MetricRegistry.class, statsProvider.getRegistry(), Collections.emptyMap());
return statsProvider;
}
return StatisticsProvider.NOOP;