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 ju...@apache.org on 2013/10/15 21:14:33 UTC
svn commit: r1532495 - in /jackrabbit/oak/trunk/oak-run: pom.xml
src/main/java/org/apache/jackrabbit/oak/run/Main.java
Author: jukka
Date: Tue Oct 15 19:14:33 2013
New Revision: 1532495
URL: http://svn.apache.org/r1532495
Log:
OAK-806: Content migration from Jackrabbit to Oak
Add an upgrade mode to oak-run. For now it only does Jackrabbit 2.x to TarMK upgrades.
Modified:
jackrabbit/oak/trunk/oak-run/pom.xml
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java
Modified: jackrabbit/oak/trunk/oak-run/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=1532495&r1=1532494&r2=1532495&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-run/pom.xml Tue Oct 15 19:14:33 2013
@@ -129,6 +129,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>oak-upgrade</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.158</version>
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java?rev=1532495&r1=1532494&r2=1532495&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java Tue Oct 15 19:14:33 2013
@@ -16,11 +16,14 @@
*/
package org.apache.jackrabbit.oak.run;
+import java.io.File;
import java.io.InputStream;
import java.util.Properties;
import javax.jcr.Repository;
+import org.apache.jackrabbit.core.RepositoryContext;
+import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
import org.apache.jackrabbit.oak.Oak;
@@ -29,7 +32,10 @@ import org.apache.jackrabbit.oak.benchma
import org.apache.jackrabbit.oak.http.OakServlet;
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.kernel.KernelNodeStore;
+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;
+import org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade;
import org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet;
import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
import org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet;
@@ -61,12 +67,28 @@ public class Main {
BenchmarkRunner.main(args);
} else if ("server".equals(command)){
new HttpServer(URI, args);
+ } else if ("upgrade".equals(command)) {
+ if (args.length == 2) {
+ upgrade(args[0], args[1]);
+ } else {
+ System.err.println("usage: upgrade <olddir> <newdir>");
+ System.exit(1);
+ }
} else {
System.err.println("Unknown command: " + command);
System.exit(1);
}
}
+ private static void upgrade(String olddir, String newdir) throws Exception {
+ RepositoryContext source = RepositoryContext.create(
+ RepositoryConfig.create(new File(olddir)));
+ NodeStore target = new SegmentNodeStore(new FileStore(
+ new File(newdir), 256 * 1024 * 1024, false));
+ new RepositoryUpgrade(source, target).copy();
+ source.getRepository().shutdown();
+ }
+
private static void printProductInfo() {
String version = null;