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/05/16 14:55:45 UTC
svn commit: r1795320 - in
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli:
BlobStoreFixtureProvider.java BlobStoreOptions.java
Author: chetanm
Date: Tue May 16 14:55:45 2017
New Revision: 1795320
URL: http://svn.apache.org/viewvc?rev=1795320&view=rev
Log:
OAK-6210 - Provide a consistent and extensible way to handle oak-run options while creating NodeStore
Allow a FileDataStore to be configured via directory path or config file
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreFixtureProvider.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreOptions.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreFixtureProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreFixtureProvider.java?rev=1795320&r1=1795319&r2=1795320&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreFixtureProvider.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreFixtureProvider.java Tue May 16 14:55:45 2017
@@ -36,6 +36,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.felix.cm.file.ConfigurationHandler;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.DataStoreException;
+import org.apache.jackrabbit.core.data.FileDataStore;
import org.apache.jackrabbit.oak.blob.cloud.aws.s3.SharedS3DataStore;
import org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage.AzureDataStore;
import org.apache.jackrabbit.oak.console.BlobStoreFixture;
@@ -79,10 +80,15 @@ public class BlobStoreFixtureProvider {
closer.register(asCloseable(homeDir));
delegate = azureds;
} else {
- delegate = new OakFileDataStore();
- String cfgPath = bsopts.getFDSConfigPath();
- Properties props = loadAndTransformProps(cfgPath);
- populate(delegate, Maps.fromProperties(props), true);
+ FileDataStore fds = new OakFileDataStore();
+ delegate = fds;
+ if (bsopts.getFDSPath() != null) {
+ fds.setPath(bsopts.getFDSPath());
+ } else {
+ String cfgPath = bsopts.getFDSConfigPath();
+ Properties props = loadAndTransformProps(cfgPath);
+ populate(delegate, Maps.fromProperties(props), true);
+ }
delegate.init(null);
}
DataStoreBlobStore blobStore = new DataStoreBlobStore(delegate);
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreOptions.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreOptions.java?rev=1795320&r1=1795319&r2=1795320&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreOptions.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/BlobStoreOptions.java Tue May 16 14:55:45 2017
@@ -30,10 +30,13 @@ public class BlobStoreOptions implements
private final OptionSpec<String> fdsOption;
private final OptionSpec<String> s3Option;
private final OptionSpec<String> azureOption;
+ private final OptionSpec<String> fdsPathOption;
private OptionSet options;
public BlobStoreOptions(OptionParser parser){
- fdsOption = parser.acceptsAll(asList("fds", "fds-path"), "FileDataStore config")
+ fdsOption = parser.acceptsAll(asList("fds"), "FileDataStore config")
+ .withRequiredArg().ofType(String.class);
+ fdsPathOption = parser.acceptsAll(asList("fds-path"), "FileDataStore path")
.withRequiredArg().ofType(String.class);
s3Option = parser.accepts("s3ds", "S3DataStore config")
.withRequiredArg().ofType(String.class);
@@ -50,6 +53,10 @@ public class BlobStoreOptions implements
return fdsOption.value(options);
}
+ public String getFDSPath(){
+ return fdsPathOption.value(options);
+ }
+
public String getS3ConfigPath(){
return s3Option.value(options);
}
@@ -59,7 +66,7 @@ public class BlobStoreOptions implements
}
public Type getBlobStoreType(){
- if (options.has(fdsOption)){
+ if (options.has(fdsOption) || options.has(fdsPathOption)){
return Type.FDS;
} else if (options.has(s3Option)){
return Type.S3;