Author: tomekr
Date: Mon Aug 29 17:29:54 2016
New Revision: 1758264
URL: http://svn.apache.org/viewvc?rev=1758264&view=rev
Log:
OAK-4684: RepositorySidegrade should also run commit hooks as they are run in
upgrade
Updated the patch - now the commit hooks run only if there's a custom
include/exclude/merge path provided.
Modified:
jackrabbit/oak/branches/1.4/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
Modified:
jackrabbit/oak/branches/1.4/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java?rev=1758264&r1=1758263&r2=1758264&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
Mon Aug 29 17:29:54 2016
@@ -281,15 +281,21 @@ public class RepositorySidegrade {
markIndexesToBeRebuilt(targetRoot);
- // type validation, reference and indexing hooks
- hooks.add(new EditorHook(new CompositeEditorProvider(
- createTypeEditorProvider(),
- createIndexEditorProvider()
- )));
+ if (!isCompleteMigration()) {
+ // type validation, reference and indexing hooks
+ hooks.add(new EditorHook(new CompositeEditorProvider(
+ createTypeEditorProvider(),
+ createIndexEditorProvider()
+ )));
+ }
target.merge(targetRoot, new LoggingCompositeHook(hooks, null, false),
CommitInfo.EMPTY);
}
+ private boolean isCompleteMigration() {
+ return includePaths.equals(DEFAULT_INCLUDE_PATHS) &&
excludePaths.equals(DEFAULT_EXCLUDE_PATHS) &&
mergePaths.equals(DEFAULT_MERGE_PATHS);
+ }
+
private void copyWorkspace(NodeState sourceRoot, NodeBuilder targetRoot) {
final Set<String> includes =
calculateEffectiveIncludePaths(includePaths, sourceRoot);
final Set<String> excludes = union(copyOf(this.excludePaths),
of("/jcr:system/jcr:versionStorage"));