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

domgarguilo pushed a commit to branch sortedSet
in repository https://gitbox.apache.org/repos/asf/accumulo-access.git

commit 383ceb8737b40b986b2b506d6168baf84d095d70
Author: Dom G <domgargu...@apache.org>
AuthorDate: Wed Feb 21 13:22:34 2024 -0500

    Use sorted set in Authorizations
---
 .../org/apache/accumulo/access/Authorizations.java     | 18 +++++++++++-------
 .../apache/accumulo/access/AccessExpressionTest.java   |  8 +++-----
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/apache/accumulo/access/Authorizations.java 
b/src/main/java/org/apache/accumulo/access/Authorizations.java
index f1b1640..faa5c36 100644
--- a/src/main/java/org/apache/accumulo/access/Authorizations.java
+++ b/src/main/java/org/apache/accumulo/access/Authorizations.java
@@ -18,8 +18,11 @@
  */
 package org.apache.accumulo.access;
 
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.stream.Collectors;
 
 /**
  * An immutable collection of authorization strings.
@@ -33,13 +36,13 @@ import java.util.Set;
  * @since 1.0.0
  */
 public final class Authorizations {
-  private final Set<String> authorizations;
+  private final SortedSet<String> authorizations;
 
-  private Authorizations(Set<String> authorizations) {
-    this.authorizations = Set.copyOf(authorizations);
+  private Authorizations(SortedSet<String> authorizations) {
+    this.authorizations = authorizations;
   }
 
-  public Set<String> asSet() {
+  public SortedSet<String> asSet() {
     return authorizations;
   }
 
@@ -64,11 +67,12 @@ public final class Authorizations {
   }
 
   public static Authorizations of(String... authorizations) {
-    return new Authorizations(Set.of(authorizations));
+    return new Authorizations(
+        
Arrays.stream(authorizations).collect(Collectors.toCollection(TreeSet::new)));
   }
 
   public static Authorizations of(Collection<String> authorizations) {
-    return new Authorizations(Set.copyOf(authorizations));
+    return new Authorizations(new TreeSet<>(authorizations));
   }
 
 }
diff --git a/src/test/java/org/apache/accumulo/access/AccessExpressionTest.java 
b/src/test/java/org/apache/accumulo/access/AccessExpressionTest.java
index c41fdd8..07a53e4 100644
--- a/src/test/java/org/apache/accumulo/access/AccessExpressionTest.java
+++ b/src/test/java/org/apache/accumulo/access/AccessExpressionTest.java
@@ -35,7 +35,6 @@ import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.function.Predicate;
-import java.util.stream.Collectors;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.function.Executable;
@@ -61,11 +60,10 @@ public class AccessExpressionTest {
       assertEquals(2, testCase.size());
       var expression = testCase.get(0);
       var expected = testCase.get(1);
-      var actual = 
AccessExpression.of(expression).getAuthorizations().asSet().stream().sorted()
-          .collect(Collectors.joining(","));
+      var actual = String.join(",", 
AccessExpression.of(expression).getAuthorizations().asSet());
       assertEquals(expected, actual);
-      actual = 
AccessExpression.of(expression.getBytes(UTF_8)).getAuthorizations().asSet().stream()
-          .sorted().collect(Collectors.joining(","));
+      actual = String.join(",",
+          
AccessExpression.of(expression.getBytes(UTF_8)).getAuthorizations().asSet());
       assertEquals(expected, actual);
     }
 

Reply via email to