diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java index f95df95e03..17135df73a 100644 --- a/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java +++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java @@ -272,6 +272,8 @@ class MutableRoot implements Root { hooks.add(hook); List postValidationHooks = new ArrayList(); + List validators = new ArrayList<>(); + for (SecurityConfiguration sc : securityProvider.getConfigurations()) { for (CommitHook ch : sc.getCommitHooks(workspaceName)) { if (ch instanceof PostValidationHook) { @@ -281,10 +283,11 @@ class MutableRoot implements Root { } } - List validators = sc.getValidators(workspaceName, subject.getPrincipals(), moveTracker); - if (!validators.isEmpty()) { - hooks.add(new EditorHook(CompositeEditorProvider.compose(validators))); - } + validators.addAll(sc.getValidators(workspaceName, subject.getPrincipals(), moveTracker)); + } + + if (!validators.isEmpty()) { + hooks.add(new EditorHook(CompositeEditorProvider.compose(validators))); } hooks.addAll(postValidationHooks);