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 fr...@apache.org on 2016/05/19 12:25:31 UTC

svn commit: r1744561 - in /jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run: RestoreCommand.java SegmentTarUtils.java SegmentUtils.java

Author: frm
Date: Thu May 19 12:25:31 2016
New Revision: 1744561

URL: http://svn.apache.org/viewvc?rev=1744561&view=rev
Log:
OAK-4327 - Add a flag to choose between segment store implementations in the "restore" command

Modified:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RestoreCommand.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RestoreCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RestoreCommand.java?rev=1744561&r1=1744560&r2=1744561&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RestoreCommand.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RestoreCommand.java Thu May 19 12:25:31 2016
@@ -19,13 +19,43 @@ package org.apache.jackrabbit.oak.run;
 
 import java.io.File;
 
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import joptsimple.OptionSpec;
 import org.apache.jackrabbit.oak.plugins.backup.FileStoreRestore;
 
 class RestoreCommand implements Command {
 
     @Override
     public void execute(String... args) throws Exception {
-        FileStoreRestore.restore(new File(args[1]), new File(args[0]));
+        OptionParser parser = new OptionParser();
+
+        OptionSpec<File> folders = parser
+                .nonOptions("target and source folders")
+                .ofType(File.class);
+
+        OptionSpec<Boolean> segmentTar = parser
+                .accepts("segment-tar", "use new segment store implementation")
+                .withOptionalArg()
+                .ofType(Boolean.class)
+                .defaultsTo(false);
+
+        OptionSet options = parser.parse(args);
+
+        if (folders.values(options).size() < 2) {
+            parser.printHelpOn(System.err);
+            System.exit(1);
+        }
+
+        File target = folders.values(options).get(0);
+        File source = folders.values(options).get(1);
+
+        if (segmentTar.value(options) == Boolean.TRUE) {
+            SegmentTarUtils.restore(source, target);
+        } else {
+            SegmentUtils.restore(source, target);
+        }
+
     }
 
 }

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java?rev=1744561&r1=1744560&r2=1744561&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java Thu May 19 12:25:31 2016
@@ -26,6 +26,7 @@ import java.io.IOException;
 
 import com.google.common.io.Closer;
 import org.apache.jackrabbit.oak.backup.FileStoreBackup;
+import org.apache.jackrabbit.oak.backup.FileStoreRestore;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
@@ -60,6 +61,10 @@ class SegmentTarUtils {
         }
     }
 
+    static void restore(File source, File target) throws IOException {
+        FileStoreRestore.restore(source, target);
+    }
+
     private static FileStore openReadOnlyFileStore(File path, BlobStore blobStore) throws IOException {
         return FileStore.builder(isValidFileStoreOrFail(path))
                 .withCacheSize(TAR_SEGMENT_CACHE_SIZE)

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java?rev=1744561&r1=1744560&r2=1744561&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java Thu May 19 12:25:31 2016
@@ -26,6 +26,7 @@ import java.io.IOException;
 
 import com.google.common.io.Closer;
 import org.apache.jackrabbit.oak.plugins.backup.FileStoreBackup;
+import org.apache.jackrabbit.oak.plugins.backup.FileStoreRestore;
 import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -55,4 +56,8 @@ class SegmentUtils {
         }
     }
 
+    static void restore(File source, File target) throws IOException {
+        FileStoreRestore.restore(source, target);
+    }
+
 }