You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/01/10 06:52:12 UTC

[isis] branch master updated: ISIS-2856: restore critical implementation note

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new b298721  ISIS-2856: restore critical implementation note
b298721 is described below

commit b2987211d4de9001f4ba1448f405386d3e828be2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jan 10 07:52:05 2022 +0100

    ISIS-2856: restore critical implementation note
---
 .../permissions/PermissionsEvaluationServiceForSecman.java       | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java b/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java
index 3c35c6b..6baf5a6 100644
--- a/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java
+++ b/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java
@@ -38,6 +38,7 @@ import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman;
 import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman.PermissionsEvaluationPolicy;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
+import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionRule;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
 import org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService;
@@ -89,6 +90,14 @@ implements PermissionsEvaluationService {
         return null;
     }
 
+    /**
+     * @implSpec
+     *     This implementation relies on the fact that the {@link org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue}s are
+     * passed through in natural order, with the leading part based on the
+     * {@link org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue#getRule() rule} and with
+     * {@link ApplicationPermissionRule} in turn comparable so that {@link ApplicationPermissionRule#ALLOW allow}
+     * is ordered before {@link ApplicationPermissionRule#VETO veto}.
+     */
     protected Collection<ApplicationPermissionValue> ordered(
             final Collection<ApplicationPermissionValue> permissionValues) {
         switch (policy) {