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(),