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 ba...@apache.org on 2015/04/09 15:47:40 UTC
svn commit: r1672350 -
/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
Author: baedke
Date: Thu Apr 9 13:47:40 2015
New Revision: 1672350
URL: http://svn.apache.org/r1672350
Log:
OAK-2737: RepositoryUpgrade.copy() should allow custom commit hooks
Added RepositoryUpgrade.setCustomCommitHooks().
Modified:
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java?rev=1672350&r1=1672349&r2=1672350&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java Thu Apr 9 13:47:40 2015
@@ -34,6 +34,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -121,6 +122,7 @@ import org.apache.jackrabbit.spi.commons
import org.apache.jackrabbit.spi.commons.value.ValueFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import sun.rmi.log.LogInputStream;
public class RepositoryUpgrade {
@@ -138,6 +140,8 @@ public class RepositoryUpgrade {
private boolean copyBinariesByReference = false;
+ private List<CommitHook> customCommitHooks = null;
+
/**
* Copies the contents of the repository in the given source directory
* to the given target node store.
@@ -191,6 +195,26 @@ public class RepositoryUpgrade {
}
/**
+ * Returns the list of custom CommitHooks to be applied before the final
+ * type validation, reference and indexing hooks.
+ *
+ * @return the list of custom CommitHooks
+ */
+ public List<CommitHook> getCustomCommitHooks() {
+ return customCommitHooks;
+ }
+
+ /**
+ * Sets the list of custom CommitHooks to be applied before the final
+ * type validation, reference and indexing hooks.
+ *
+ * @param customCommitHooks the list of custom CommitHooks
+ */
+ public void setCustomCommitHooks(List<CommitHook> customCommitHooks) {
+ this.customCommitHooks = customCommitHooks;
+ }
+
+ /**
* Copies the full content from the source to the target repository.
* <p>
* The source repository <strong>must not be modified</strong> while
@@ -298,6 +322,10 @@ public class RepositoryUpgrade {
hooks.addAll(sc.getCommitHooks(workspaceName));
}
+ if (customCommitHooks != null) {
+ hooks.addAll(customCommitHooks);
+ }
+
// type validation, reference and indexing hooks
hooks.add(new EditorHook(new CompositeEditorProvider(
createTypeEditorProvider(),
Re: svn commit: r1672350 - /jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
Posted by Michael Dürig <md...@apache.org>.
Hi,
On 9.4.15 3:47 , baedke@apache.org wrote:
> + private List<CommitHook> customCommitHooks = null;
Note that with this approach every custom commit hook adds a full
repository traversal, which might have an impact on the time it takes to
migrate big repositories. A better alternative might be to let clients
inject a list of EditorProviders and compose them to a CompositeEditor,
which will only require a single traversal.
Michael