Author: catholicon
Date: Tue Apr 26 05:42:53 2016
New Revision: 1740950
URL: http://svn.apache.org/viewvc?rev=1740950&view=rev
Log:
OAK-4299: oak-run console should connect to repository in read-only mode by
default
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/console/Console.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=1740950&r1=1740949&r2=1740950&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
Tue Apr 26 05:42:53 2016
@@ -57,7 +57,7 @@ public class Console {
.withRequiredArg().ofType(Integer.class).defaultsTo(0);
OptionSpec quiet = parser.accepts("quiet", "be less chatty");
OptionSpec shell = parser.accepts("shell", "run the shell after
executing files");
- OptionSpec readOnly = parser.accepts("read-only", "connect to
repository in read-only mode");
+ OptionSpec readWrite = parser.accepts("read-write", "connect to
repository in read-write mode");
OptionSpec<String> fdsPathSpec = parser.accepts("fds-path", "Path to
FDS store").withOptionalArg().defaultsTo("");
OptionSpec help = parser.acceptsAll(asList("h", "?", "help"), "show
help").forHelp();
@@ -93,6 +93,8 @@ public class Console {
}
}
+ boolean readOnly = !options.has(readWrite);
+
NodeStoreFixture fixture;
if (nonOptions.get(0).startsWith(MongoURI.MONGODB_PREFIX)) {
MongoClientURI uri = new MongoClientURI(nonOptions.get(0));
@@ -102,13 +104,11 @@ public class Console {
}
MongoConnection mongo = new MongoConnection(uri.getURI());
- DocumentMK.Builder builder = new DocumentMK.Builder();
- if (blobStore != null) {
- builder.setBlobStore(blobStore);
- }
- builder.setMongoDB(mongo.getDB()).
+ DocumentMK.Builder builder = new DocumentMK.Builder()
+ .setBlobStore(blobStore)
+ .setMongoDB(mongo.getDB()).
setClusterId(clusterId.value(options));
- if (options.has(readOnly)) {
+ if (readOnly) {
builder.setReadOnlyMode();
}
DocumentNodeStore store = builder.getNodeStore();
@@ -116,12 +116,13 @@ public class Console {
} else if (nonOptions.get(0).startsWith("jdbc")) {
DataSource ds = RDBDataSourceFactory.forJdbcUrl(nonOptions.get(0),
rdbjdbcuser.value(options),
rdbjdbcpasswd.value(options));
- DocumentMK.Builder builder = new DocumentMK.Builder();
- if (blobStore != null) {
- builder.setBlobStore(blobStore);
- }
- builder.setRDBConnection(ds).
+ DocumentMK.Builder builder = new DocumentMK.Builder()
+ .setBlobStore(blobStore)
+ .setRDBConnection(ds).
setClusterId(clusterId.value(options));
+ if (readOnly) {
+ builder.setReadOnlyMode();
+ }
DocumentNodeStore store = builder.getNodeStore();
fixture = new MongoFixture(store);
} else {
@@ -130,7 +131,7 @@ public class Console {
fsBuilder.withBlobStore(blobStore);
}
FileStore store;
- if (options.has(readOnly)) {
+ if (readOnly) {
store = fsBuilder.buildReadOnly();
} else {
store = fsBuilder.build();
@@ -146,6 +147,10 @@ public class Console {
io.setVerbosity(IO.Verbosity.QUIET);
}
+ if (readOnly) {
+ io.out.println("Repository connected in read-only mode. Use
'--read-write' for write operations");
+ }
+
GroovyConsole console =
new GroovyConsole(ConsoleSession.create(fixture.getStore()),
new IO(), fixture);