Index: oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java (revision df506ba40d45bdc358a1f1872c5c6d29e8ca4b73) +++ oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java (revision ) @@ -21,6 +21,7 @@ import java.io.FileReader; import java.io.IOException; import java.util.HashSet; +import java.util.Map; import java.util.Properties; import java.util.concurrent.Executors; import java.util.regex.Matcher; @@ -28,9 +29,11 @@ import javax.jcr.RepositoryException; +import com.google.common.collect.Maps; import org.apache.commons.io.IOUtils; import org.apache.jackrabbit.core.data.DataStoreException; import org.apache.jackrabbit.oak.blob.cloud.s3.S3DataStore; +import org.apache.jackrabbit.oak.commons.PropertiesUtil; import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore; import org.apache.jackrabbit.oak.spi.blob.BlobStore; @@ -75,6 +78,7 @@ S3DataStore delegate = new S3DataStore(); delegate.setProperties(props); delegate.setPath(directory); + PropertiesUtil.populate(delegate, asMap(props), false); // Initialize a default stats provider StatisticsProvider statsProvider = new DefaultStatisticsProvider(Executors.newSingleThreadScheduledExecutor()); @@ -125,6 +129,14 @@ } } + private static Map asMap(Properties props) { + Map map = Maps.newHashMap(); + for (Object key : props.keySet()) { + map.put((String)key, props.get(key)); + } + return map; + } + @Override public String toString() { return String.format("S3DataStore[%s]", directory);