Author: tomekr
Date: Mon Aug 29 17:19:22 2016
New Revision: 1758262

URL: http://svn.apache.org/viewvc?rev=1758262&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/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java?rev=1758262&r1=1758261&r2=1758262&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 Mon Aug 29 17:19:22 2016
@@ -311,15 +311,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"));


Reply via email to