Author: tomekr
Date: Thu Aug 2 09:52:56 2018
New Revision: 1837286
URL: http://svn.apache.org/viewvc?rev=1837286&view=rev
Log:
OAK-7674: Allow to specify the connection string for AzureBlobStore
Modified:
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureConstants.java
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/UtilsTest.java
Modified:
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureConstants.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureConstants.java?rev=1837286&r1=1837285&r2=1837286&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureConstants.java
(original)
+++
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureConstants.java
Thu Aug 2 09:52:56 2018
@@ -31,6 +31,11 @@ public final class AzureConstants {
public static final String AZURE_STORAGE_ACCOUNT_KEY = "secretKey";
/**
+ * Azure connection string (overrides {@link #AZURE_SAS} and {@link
#AZURE_BLOB_ENDPOINT}).
+ */
+ public static final String AZURE_CONNECTION_STRING =
"azureConnectionString";
+
+ /**
* Azure shared access signature token
*/
public static final String AZURE_SAS = "azureSas";
Modified:
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java?rev=1837286&r1=1837285&r2=1837286&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
(original)
+++
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
Thu Aug 2 09:52:56 2018
@@ -104,6 +104,11 @@ public final class Utils {
String sasUri = properties.getProperty(AzureConstants.AZURE_SAS, "");
String blobEndpoint =
properties.getProperty(AzureConstants.AZURE_BLOB_ENDPOINT, "");
+ String connectionString =
properties.getProperty(AzureConstants.AZURE_CONNECTION_STRING, "");
+
+ if (!connectionString.isEmpty()) {
+ return connectionString;
+ }
if (!sasUri.isEmpty()) {
return getConnectionStringForSas(sasUri, blobEndpoint);
Modified:
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/UtilsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/UtilsTest.java?rev=1837286&r1=1837285&r2=1837286&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/UtilsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/UtilsTest.java
Thu Aug 2 09:52:56 2018
@@ -25,6 +25,14 @@ import static org.junit.Assert.assertEqu
public class UtilsTest {
@Test
+ public void testConnectionStringIsBasedOnProperty() {
+ Properties properties = new Properties();
+ properties.put(AzureConstants.AZURE_CONNECTION_STRING,
"DefaultEndpointsProtocol=https;AccountName=accountName;AccountKey=accountKey");
+ String connectionString =
Utils.getConnectionStringFromProperties(properties);
+
assertEquals(connectionString,"DefaultEndpointsProtocol=https;AccountName=accountName;AccountKey=accountKey");
+ }
+
+ @Test
public void testConnectionStringIsBasedOnSAS() {
Properties properties = new Properties();
properties.put(AzureConstants.AZURE_SAS, "sas");