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