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/31 08:24:14 UTC

svn commit: r1746253 - /jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java

Author: frm
Date: Tue May 31 08:24:14 2016
New Revision: 1746253

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

Modified:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java?rev=1746253&r1=1746252&r2=1746253&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java Tue May 31 08:24:14 2016
@@ -18,6 +18,13 @@ package org.apache.jackrabbit.oak.run;
 
 import static org.apache.jackrabbit.oak.plugins.segment.FileStoreHelper.openFileStore;
 
+import com.google.common.io.Closer;
+import com.mongodb.MongoClient;
+import com.mongodb.MongoClientURI;
+import com.mongodb.MongoURI;
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import joptsimple.OptionSpec;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
@@ -30,11 +37,6 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
-import com.google.common.io.Closer;
-import com.mongodb.MongoClient;
-import com.mongodb.MongoClientURI;
-import com.mongodb.MongoURI;
-
 /**
  * OFFLINE utility to delete the clusterId stored as hidden
  * property as defined by ClusterRepositoryInfo.
@@ -81,25 +83,32 @@ class ResetClusterIdCommand implements C
 
     @Override
     public void execute(String... args) throws Exception {
-        if (args.length != 1) {
-            System.out
-                    .println("usage: resetclusterid {<path>|<mongo-uri>}");
+        OptionParser parser = new OptionParser();
+        OptionSpec segmentTar = parser.accepts("segment-tar", "Use oak-segment-tar instead of oak-segment");
+        OptionSet options = parser.parse(args);
+
+        if (options.nonOptionArguments().isEmpty()) {
+            System.out.println("usage: resetclusterid {<path>|<mongo-uri>}");
             System.exit(1);
         }
 
+        String source = options.nonOptionArguments().get(0).toString();
+
         Closer closer = Closer.create();
         try {
             NodeStore store;
             if (args[0].startsWith(MongoURI.MONGODB_PREFIX)) {
-                MongoClientURI uri = new MongoClientURI(args[0]);
+                MongoClientURI uri = new MongoClientURI(source);
                 MongoClient client = new MongoClient(uri);
                 final DocumentNodeStore dns = new DocumentMK.Builder()
                         .setMongoDB(client.getDB(uri.getDatabase()))
                         .getNodeStore();
                 closer.register(Utils.asCloseable(dns));
                 store = dns;
+            } else if (options.has(segmentTar)) {
+                store = SegmentTarUtils.bootstrapNodeStore(source, closer);
             } else {
-                FileStore fs = openFileStore(args[0]);
+                FileStore fs = openFileStore(source);
                 closer.register(Utils.asCloseable(fs));
                 store = SegmentNodeStore.builder(fs).build();
             }