This is an automated email from the ASF dual-hosted git repository. domgarguilo pushed a commit to branch replaceAuthorizer in repository https://gitbox.apache.org/repos/asf/accumulo-access.git
commit e5c63a59813160fc6e3b316b7624a3fea1590810 Author: Dom G <domgargu...@apache.org> AuthorDate: Tue Feb 20 15:31:14 2024 -0500 Replace Authorizer with Predicate<String> --- .../java/org/apache/accumulo/access/AccessEvaluator.java | 16 ++++------------ .../org/apache/accumulo/access/AccessEvaluatorImpl.java | 6 +++--- .../org/apache/accumulo/access/AccessEvaluatorTest.java | 5 ++--- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/apache/accumulo/access/AccessEvaluator.java b/src/main/java/org/apache/accumulo/access/AccessEvaluator.java index 5b86208..bc6ef3d 100644 --- a/src/main/java/org/apache/accumulo/access/AccessEvaluator.java +++ b/src/main/java/org/apache/accumulo/access/AccessEvaluator.java @@ -20,6 +20,7 @@ package org.apache.accumulo.access; import java.util.Collection; import java.util.List; +import java.util.function.Predicate; /** * <p> @@ -91,12 +92,12 @@ public interface AccessEvaluator { } /** - * Creates an AccessEvaluator from an Authorizer object + * Creates an AccessEvaluator from a Predicate<String> * - * @param authorizer authorizer to use in the AccessEvaluator + * @param authorizer Predicate<String> to use in the AccessEvaluator * @return AccessEvaluator object */ - static AccessEvaluator of(Authorizer authorizer) { + static AccessEvaluator of(Predicate<String> authorizer) { return new AccessEvaluatorImpl(authorizer); } @@ -162,13 +163,4 @@ public interface AccessEvaluator { return new AccessEvaluatorImpl(AccessEvaluatorImpl.convert(authorizations)); } - /** - * An interface that is used to check if an authorization seen in an access expression is - * authorized. - * - * @since 1.0.0 - */ - interface Authorizer { - boolean isAuthorized(String auth); - } } diff --git a/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java b/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java index 66adb96..e744631 100644 --- a/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java +++ b/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java @@ -74,10 +74,10 @@ final class AccessEvaluatorImpl implements AccessEvaluator { } /** - * Create an AccessEvaluatorImpl using an Authorizer object + * Create an AccessEvaluatorImpl using an Predicate<String> object */ - AccessEvaluatorImpl(Authorizer authorizationChecker) { - this.authorizedPredicates = List.of(auth -> authorizationChecker.isAuthorized(unescape(auth))); + AccessEvaluatorImpl(Predicate<String> authorizationChecker) { + this.authorizedPredicates = List.of(auth -> authorizationChecker.test(unescape(auth))); } /** diff --git a/src/test/java/org/apache/accumulo/access/AccessEvaluatorTest.java b/src/test/java/org/apache/accumulo/access/AccessEvaluatorTest.java index e7d025f..e821a17 100644 --- a/src/test/java/org/apache/accumulo/access/AccessEvaluatorTest.java +++ b/src/test/java/org/apache/accumulo/access/AccessEvaluatorTest.java @@ -28,9 +28,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Objects; -import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -90,8 +90,7 @@ public class AccessEvaluatorTest { evaluator = AccessEvaluator.of(testSet.auths[0]); runTestCases(testSet, evaluator); - Set<String> auths = Stream.of(testSet.auths[0]).collect(Collectors.toSet()); - evaluator = AccessEvaluator.of(auths::contains); + evaluator = AccessEvaluator.of(Arrays.asList(testSet.auths[0])::contains); runTestCases(testSet, evaluator); } else { var authSets =