Author: reschke
Date: Fri Jan 31 18:24:20 2020
New Revision: 1873428

URL: http://svn.apache.org/viewvc?rev=1873428&view=rev
Log:
OAK-6632: oak-upgrade should support azure blobstorage (merged r1872809 and 
r1872810 into 1.22.0)

Added:
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToFbsTest.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToFbsTest.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToInlinedTest.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToInlinedTest.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToS3Test.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToS3Test.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/FbsToAzureTest.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/FbsToAzureTest.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3ToAzureTest.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3ToAzureTest.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/AzureDataStoreContainer.java
   (props changed)
      - copied unchanged from r1872809, 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/AzureDataStoreContainer.java
Modified:
    jackrabbit/oak/branches/1.22/   (props changed)
    jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
    
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java

Propchange: jackrabbit/oak/branches/1.22/
------------------------------------------------------------------------------
  Merged /jackrabbit/oak/trunk:r1872809-1872810

Modified: jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml (original)
+++ jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml Fri Jan 31 18:24:20 2020
@@ -88,6 +88,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-blob-cloud-azure</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-core-spi</artifactId>
       <version>${project.version}</version>
     </dependency>

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
 (original)
+++ 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
 Fri Jan 31 18:24:20 2020
@@ -25,6 +25,7 @@ import org.apache.jackrabbit.oak.upgrade
 import org.apache.jackrabbit.oak.upgrade.cli.blob.FileDataStoreFactory;
 import org.apache.jackrabbit.oak.upgrade.cli.blob.LoopbackBlobStoreFactory;
 import org.apache.jackrabbit.oak.upgrade.cli.blob.S3DataStoreFactory;
+import org.apache.jackrabbit.oak.upgrade.cli.blob.AzureDataStoreFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -140,7 +141,9 @@ public class DatastoreArguments {
             return new FileBlobStoreFactory(options.getSrcFbs());
         } else if (options.isSrcS3()) {
             return new S3DataStoreFactory(options.getSrcS3Config(), 
options.getSrcS3(), ignoreMissingBinaries);
-        } else if (options.isSrcFds()) {
+        } else if (options.isSrcAzure()) {
+            return new AzureDataStoreFactory(options.getSrcAzureConfig(), 
options.getSrcAzure(), ignoreMissingBinaries);
+        }  else if (options.isSrcFds()) {
             return new FileDataStoreFactory(options.getSrcFds(), 
ignoreMissingBinaries);
         } else {
             return null;
@@ -152,6 +155,8 @@ public class DatastoreArguments {
             return new FileBlobStoreFactory(options.getDstFbs());
         } else if (options.isDstS3()) {
             return new S3DataStoreFactory(options.getDstS3Config(), 
options.getDstS3(), false);
+        } else if (options.isDstAzure()) {
+            return new AzureDataStoreFactory(options.getDstAzureConfig(), 
options.getDstAzure(), false);
         } else if (options.isDstFds()) {
             return new FileDataStoreFactory(options.getDstFds(), false);
         } else {

Modified: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
 (original)
+++ 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
 Fri Jan 31 18:24:20 2020
@@ -83,6 +83,10 @@ public class MigrationOptions {
     private final String srcS3Config;
 
     private final String srcS3;
+    
+    private final String srcAzureConfig;
+
+    private final String srcAzure;
 
     private final String dstFbs;
 
@@ -91,6 +95,10 @@ public class MigrationOptions {
     private final String dstS3Config;
 
     private final String dstS3;
+    
+    private final String dstAzureConfig;
+
+    private final String dstAzure;
 
     private final Boolean srcExternalBlobs;
 
@@ -139,11 +147,15 @@ public class MigrationOptions {
         this.srcFds = args.getOption(OptionParserFactory.SRC_FDS);
         this.srcS3 = args.getOption(OptionParserFactory.SRC_S3);
         this.srcS3Config = args.getOption(OptionParserFactory.SRC_S3_CONFIG);
+        this.srcAzure = args.getOption(OptionParserFactory.SRC_AZURE);
+        this.srcAzureConfig = 
args.getOption(OptionParserFactory.SRC_AZURE_CONFIG);
 
         this.dstFbs = args.getOption(OptionParserFactory.DST_FBS);
         this.dstFds = args.getOption(OptionParserFactory.DST_FDS);
         this.dstS3 = args.getOption(OptionParserFactory.DST_S3);
         this.dstS3Config = args.getOption(OptionParserFactory.DST_S3_CONFIG);
+        this.dstAzure = args.getOption(OptionParserFactory.DST_AZURE);
+        this.dstAzureConfig = 
args.getOption(OptionParserFactory.DST_AZURE_CONFIG);
 
         if (args.hasOption(OptionParserFactory.SRC_EXTERNAL_BLOBS)) {
             this.srcExternalBlobs = 
args.getBooleanOption(OptionParserFactory.SRC_EXTERNAL_BLOBS);
@@ -259,6 +271,14 @@ public class MigrationOptions {
     public String getSrcS3() {
         return srcS3;
     }
+    
+    public String getSrcAzureConfig() {
+        return srcAzureConfig;
+    }
+
+    public String getSrcAzure() {
+        return srcAzure;
+    }
 
     public String getDstFbs() {
         return dstFbs;
@@ -275,6 +295,14 @@ public class MigrationOptions {
     public String getDstS3() {
         return dstS3;
     }
+    
+    public String getDstAzureConfig() {
+        return dstAzureConfig;
+    }
+
+    public String getDstAzure() {
+        return dstAzure;
+    }
 
     public boolean isSrcFds() {
         return StringUtils.isNotBlank(srcFds);
@@ -287,6 +315,12 @@ public class MigrationOptions {
     public boolean isSrcS3() {
         return StringUtils.isNotBlank(srcS3) && 
StringUtils.isNotBlank(srcS3Config);
     }
+    
+    public boolean isSrcAzure() {
+       
+       // OAK-6632 - only Azure config should be required (path not needed)
+        return StringUtils.isNotBlank(srcAzureConfig);
+    }
 
     public boolean isDstFds() {
         return StringUtils.isNotBlank(dstFds);
@@ -299,13 +333,18 @@ public class MigrationOptions {
     public boolean isDstS3() {
         return StringUtils.isNotBlank(dstS3) && 
StringUtils.isNotBlank(dstS3Config);
     }
+    
+    public boolean isDstAzure() {
+       // OAK-6632 - only Azure config should be required (path not needed)
+        return StringUtils.isNotBlank(dstAzureConfig);
+    }
 
     public boolean isSrcBlobStoreDefined() {
-        return isSrcFbs() || isSrcFds() || isSrcS3();
+        return isSrcFbs() || isSrcFds() || isSrcS3() || isSrcAzure();
     }
 
     public boolean isDstBlobStoreDefined() {
-        return isDstFbs() || isDstFds() || isDstS3();
+        return isDstFbs() || isDstFds() || isDstS3() || isDstAzure();
     }
 
     public void logOptions() {

Modified: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
 (original)
+++ 
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
 Fri Jan 31 18:24:20 2020
@@ -51,12 +51,20 @@ public class OptionParserFactory {
     public static final String SRC_S3 = "src-s3datastore";
 
     public static final String SRC_S3_CONFIG = "src-s3config";
+    
+    public static final String SRC_AZURE = "src-azuredatastore";
+
+    public static final String SRC_AZURE_CONFIG = "src-azureconfig";
 
     public static final String SRC_EXTERNAL_BLOBS = "src-external-ds";
 
     public static final String DST_FDS = "datastore";
 
     public static final String DST_FBS = "fileblobstore";
+    
+    public static final String DST_AZURE = "azuredatastore";
+
+    public static final String DST_AZURE_CONFIG = "azureconfig";
 
     public static final String DST_S3 = "s3datastore";
 
@@ -110,6 +118,9 @@ public class OptionParserFactory {
         op.accepts(SRC_S3, "Datastore directory to be used for the source 
S3").withRequiredArg().ofType(String.class);
         op.accepts(SRC_S3_CONFIG, "Configuration file for the source 
S3DataStore").withRequiredArg()
                 .ofType(String.class);
+        op.accepts(SRC_AZURE, "Datastore directory to be used for the source 
Azure").withRequiredArg().ofType(String.class);
+        op.accepts(SRC_AZURE_CONFIG, "Configuration file for the source 
AzureDataStore").withRequiredArg()
+                .ofType(String.class);
         op.accepts(DST_FDS, "Datastore directory to be used as a target 
FileDataStore").withRequiredArg()
                 .ofType(String.class);
         op.accepts(DST_FBS, "Datastore directory to be used as a target 
FileBlobStore").withRequiredArg()
@@ -117,6 +128,9 @@ public class OptionParserFactory {
         op.accepts(DST_S3, "Datastore directory to be used for the target 
S3").withRequiredArg().ofType(String.class);
         op.accepts(DST_S3_CONFIG, "Configuration file for the target 
S3DataStore").withRequiredArg()
                 .ofType(String.class);
+        op.accepts(DST_AZURE, "Datastore directory to be used for the target 
Azure").withRequiredArg().ofType(String.class);
+        op.accepts(DST_AZURE_CONFIG, "Configuration file for the target 
AzureBlobStore").withRequiredArg()
+                .ofType(String.class);
         op.accepts(IGNORE_MISSING_BINARIES, "Don't break the migration if some 
binaries are missing");
         op.accepts(SRC_EXTERNAL_BLOBS, "Flag specifying if the source Store 
has external references or not")
                 .withRequiredArg().ofType(Boolean.class);

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToFbsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToInlinedTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToS3Test.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/FbsToAzureTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3ToAzureTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/AzureDataStoreContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to