You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dd...@apache.org on 2026/03/16 17:15:04 UTC
(accumulo-access) branch feature/support-java-11 created (now d580d50)
This is an automated email from the ASF dual-hosted git repository.
ddanielr pushed a change to branch feature/support-java-11
in repository https://gitbox.apache.org/repos/asf/accumulo-access.git
at d580d50 Support compiling against java 11
This branch includes the following new commits:
new d580d50 Support compiling against java 11
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(accumulo-access) 01/01: Support compiling against java 11
Posted by dd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ddanielr pushed a commit to branch feature/support-java-11
in repository https://gitbox.apache.org/repos/asf/accumulo-access.git
commit d580d50c6b40c631163eb4a0d2f33de074577bf4
Author: Daniel Roberts ddanielr <dd...@gmail.com>
AuthorDate: Mon Mar 16 17:14:06 2026 +0000
Support compiling against java 11
---
.../accumulo/access/grammar/antlr/Antlr4Tests.java | 15 ++++++++-------
.../org/apache/accumulo/access/AccessEvaluator.java | 5 +----
.../org/apache/accumulo/access/AccessExpression.java | 9 +++------
.../accumulo/access/ParsedAccessExpression.java | 5 +----
.../accumulo/access/impl/AccessEvaluatorImpl.java | 2 +-
.../accumulo/access/impl/AccessExpressionImpl.java | 4 ++--
.../org/apache/accumulo/access/impl/AccessImpl.java | 2 +-
.../accumulo/access/impl/AuthorizationsImpl.java | 4 ++--
.../apache/accumulo/access/impl/CharsWrapper.java | 5 +++--
.../accumulo/access/tests/AccessEvaluatorTest.java | 12 ++++++------
.../accumulo/access/examples/ParseExamples.java | 20 +++++++++++++-------
pom.xml | 2 +-
12 files changed, 42 insertions(+), 43 deletions(-)
diff --git a/modules/antlr4-example/src/test/java/org/apache/accumulo/access/grammar/antlr/Antlr4Tests.java b/modules/antlr4-example/src/test/java/org/apache/accumulo/access/grammar/antlr/Antlr4Tests.java
index 7847491..919d41a 100644
--- a/modules/antlr4-example/src/test/java/org/apache/accumulo/access/grammar/antlr/Antlr4Tests.java
+++ b/modules/antlr4-example/src/test/java/org/apache/accumulo/access/grammar/antlr/Antlr4Tests.java
@@ -20,6 +20,7 @@ package org.apache.accumulo.access.grammar.antlr;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -150,23 +151,23 @@ public class Antlr4Tests {
assertFalse(testSet.getTests().isEmpty());
for (TestExpressions test : testSet.getTests()) {
- assertFalse(test.getExpressions().length == 0);
+ assertNotEquals(0, test.getExpressions().length);
for (String expression : test.getExpressions()) {
switch (test.getExpectedResult()) {
- case ACCESSIBLE -> {
+ case ACCESSIBLE:
assertTrue(evaluator.canAccess(expression), expression);
assertTrue(antlr.canAccess(expression), expression);
- }
- case INACCESSIBLE -> {
+ break;
+ case INACCESSIBLE:
assertFalse(evaluator.canAccess(expression), expression);
assertFalse(antlr.canAccess(expression), expression);
- }
- case ERROR -> {
+ break;
+ case ERROR:
assertThrows(InvalidAccessExpressionException.class,
() -> evaluator.canAccess(expression), expression);
assertThrows(InvalidAccessExpressionException.class,
() -> antlr.canAccess(expression), expression);
- }
+ break;
}
}
}
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/AccessEvaluator.java b/modules/core/src/main/java/org/apache/accumulo/access/AccessEvaluator.java
index bc447bc..ab2fbd7 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/AccessEvaluator.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/AccessEvaluator.java
@@ -18,9 +18,6 @@
*/
package org.apache.accumulo.access;
-import org.apache.accumulo.access.impl.AccessEvaluatorImpl;
-import org.apache.accumulo.access.impl.MultiAccessEvaluatorImpl;
-
/**
* This class is used to decide if an entity with a given set of authorizations can access
* subsequent access expressions.
@@ -53,7 +50,7 @@ import org.apache.accumulo.access.impl.MultiAccessEvaluatorImpl;
* @see <a href="https://github.com/apache/accumulo-access">Accumulo Access Documentation</a>
* @since 1.0.0
*/
-public sealed interface AccessEvaluator permits AccessEvaluatorImpl, MultiAccessEvaluatorImpl {
+public interface AccessEvaluator {
/**
* Evaluates an expression.
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/AccessExpression.java b/modules/core/src/main/java/org/apache/accumulo/access/AccessExpression.java
index 7c1d68e..61f97f9 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/AccessExpression.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/AccessExpression.java
@@ -21,15 +21,12 @@ package org.apache.accumulo.access;
import java.io.Serializable;
import java.util.Objects;
-import org.apache.accumulo.access.impl.AccessExpressionImpl;
-
/**
* An immutable wrapper for a validated access expression.
*
* @since 1.0.0
*/
-public sealed abstract class AccessExpression implements Serializable
- permits AccessExpressionImpl, ParsedAccessExpression {
+public abstract class AccessExpression implements Serializable {
private static final long serialVersionUID = 1L;
@@ -53,8 +50,8 @@ public sealed abstract class AccessExpression implements Serializable
@Override
public boolean equals(Object o) {
- return this == o
- || (o instanceof AccessExpression a && Objects.equals(getExpression(), a.getExpression()));
+ return this == o || (o instanceof AccessExpression
+ && Objects.equals(getExpression(), ((AccessExpression) o).getExpression()));
}
@Override
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/ParsedAccessExpression.java b/modules/core/src/main/java/org/apache/accumulo/access/ParsedAccessExpression.java
index 4e53a16..c098e77 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/ParsedAccessExpression.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/ParsedAccessExpression.java
@@ -20,8 +20,6 @@ package org.apache.accumulo.access;
import java.util.List;
-import org.apache.accumulo.access.impl.ParsedAccessExpressionImpl;
-
/**
* Instances of this class are immutable and wrap a verified access expression and a parse tree for
* the access expression. To create an instance of this class call
@@ -30,8 +28,7 @@ import org.apache.accumulo.access.impl.ParsedAccessExpressionImpl;
*
* @since 1.0.0
*/
-public sealed abstract class ParsedAccessExpression extends AccessExpression
- permits ParsedAccessExpressionImpl {
+public abstract class ParsedAccessExpression extends AccessExpression {
private static final long serialVersionUID = 1L;
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessEvaluatorImpl.java b/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessEvaluatorImpl.java
index e4c5374..160cd35 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessEvaluatorImpl.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessEvaluatorImpl.java
@@ -63,7 +63,7 @@ public final class AccessEvaluatorImpl implements AccessEvaluator {
}
this.authorizedPredicate =
- auth -> auth instanceof CharsWrapper wrapped ? wrappedAuths.contains(wrapped)
+ auth -> auth instanceof CharsWrapper ? wrappedAuths.contains((CharsWrapper) auth)
: wrappedAuths.contains(new CharsWrapper(auth.toString().toCharArray()));
this.authorizationValidator = authorizationValidator;
}
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessExpressionImpl.java b/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessExpressionImpl.java
index 75de7ee..23c8e08 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessExpressionImpl.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessExpressionImpl.java
@@ -56,7 +56,7 @@ public final class AccessExpressionImpl extends AccessExpression {
}
public static CharSequence quote(CharSequence term) {
- if (term.isEmpty()) {
+ if (term.length() == 0) {
throw new IllegalArgumentException("Empty strings are not legal authorizations.");
}
@@ -89,7 +89,7 @@ public final class AccessExpressionImpl extends AccessExpression {
term = len == 2 ? "" : AccessEvaluatorImpl.unescape(term.subSequence(1, len - 1));
}
}
- if (term.isEmpty()) {
+ if (term.length() == 0) {
throw new IllegalArgumentException("Empty strings are not legal authorizations.");
}
return term;
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessImpl.java b/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessImpl.java
index ed00893..b18b6bc 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessImpl.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/impl/AccessImpl.java
@@ -41,7 +41,7 @@ public class AccessImpl implements Access {
private void validateAuthorization(CharSequence auth,
AuthorizationValidator.AuthorizationCharacters quoting) {
- if (auth.isEmpty()) {
+ if (auth.length() == 0) {
throw new IllegalArgumentException("Empty string is not a valid authorization");
}
if (!authValidator.test(auth, quoting)) {
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/impl/AuthorizationsImpl.java b/modules/core/src/main/java/org/apache/accumulo/access/impl/AuthorizationsImpl.java
index b8c5295..e9b26c5 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/impl/AuthorizationsImpl.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/impl/AuthorizationsImpl.java
@@ -35,8 +35,8 @@ public class AuthorizationsImpl implements Authorizations {
@Override
public boolean equals(Object o) {
- return this == o
- || (o instanceof AuthorizationsImpl oa && authorizations.equals(oa.authorizations));
+ return this == o || (o instanceof AuthorizationsImpl
+ && authorizations.equals(((AuthorizationsImpl) o).authorizations));
}
@Override
diff --git a/modules/core/src/main/java/org/apache/accumulo/access/impl/CharsWrapper.java b/modules/core/src/main/java/org/apache/accumulo/access/impl/CharsWrapper.java
index 17c47c6..b1419c7 100644
--- a/modules/core/src/main/java/org/apache/accumulo/access/impl/CharsWrapper.java
+++ b/modules/core/src/main/java/org/apache/accumulo/access/impl/CharsWrapper.java
@@ -69,8 +69,9 @@ final class CharsWrapper implements CharSequence {
@Override
public boolean equals(Object o) {
- return this == o || (o instanceof CharsWrapper obs && length() == obs.length() && Arrays
- .equals(wrapped, offset, offset + len, obs.wrapped, obs.offset, obs.offset + obs.len));
+ return this == o || (o instanceof CharsWrapper && length() == ((CharsWrapper) o).length()
+ && Arrays.equals(wrapped, offset, offset + len, ((CharsWrapper) o).wrapped,
+ ((CharsWrapper) o).offset, ((CharsWrapper) o).offset + ((CharsWrapper) o).len));
}
@Override
diff --git a/modules/core/src/test/java/org/apache/accumulo/access/tests/AccessEvaluatorTest.java b/modules/core/src/test/java/org/apache/accumulo/access/tests/AccessEvaluatorTest.java
index a3b0e3b..04b2fc0 100644
--- a/modules/core/src/test/java/org/apache/accumulo/access/tests/AccessEvaluatorTest.java
+++ b/modules/core/src/test/java/org/apache/accumulo/access/tests/AccessEvaluatorTest.java
@@ -130,7 +130,7 @@ public class AccessEvaluatorTest {
}
switch (tests.expectedResult) {
- case ACCESSIBLE -> {
+ case ACCESSIBLE:
assertTrue(evaluator.canAccess(expression), expression);
assertTrue(evaluator.canAccess(accumuloAccess.newExpression(expression)), expression);
assertTrue(evaluator.canAccess(accumuloAccess.newParsedExpression(expression)),
@@ -138,8 +138,8 @@ public class AccessEvaluatorTest {
assertTrue(
evaluator.canAccess(accumuloAccess.newParsedExpression(expression).getExpression()),
expression);
- }
- case INACCESSIBLE -> {
+ break;
+ case INACCESSIBLE:
assertFalse(evaluator.canAccess(expression), expression);
assertFalse(evaluator.canAccess(accumuloAccess.newExpression(expression)), expression);
assertFalse(evaluator.canAccess(accumuloAccess.newParsedExpression(expression)),
@@ -147,8 +147,8 @@ public class AccessEvaluatorTest {
assertFalse(
evaluator.canAccess(accumuloAccess.newParsedExpression(expression).getExpression()),
expression);
- }
- case ERROR -> {
+ break;
+ case ERROR:
assertThrows(InvalidAccessExpressionException.class,
() -> evaluator.canAccess(expression), expression);
assertThrows(InvalidAccessExpressionException.class,
@@ -157,7 +157,7 @@ public class AccessEvaluatorTest {
() -> accumuloAccess.newExpression(expression), expression);
assertThrows(InvalidAccessExpressionException.class,
() -> accumuloAccess.newParsedExpression(expression), expression);
- }
+ break;
}
}
}
diff --git a/modules/examples/src/main/java/org/apache/accumulo/access/examples/ParseExamples.java b/modules/examples/src/main/java/org/apache/accumulo/access/examples/ParseExamples.java
index 8dd0b3e..d36402d 100644
--- a/modules/examples/src/main/java/org/apache/accumulo/access/examples/ParseExamples.java
+++ b/modules/examples/src/main/java/org/apache/accumulo/access/examples/ParseExamples.java
@@ -85,12 +85,17 @@ public class ParseExamples {
// determines the sort order of different kinds of subexpressions.
private static int typeOrder(ExpressionType type) {
- return switch (type) {
- case AUTHORIZATION -> 1;
- case OR -> 2;
- case AND -> 3;
- case EMPTY -> throw new IllegalArgumentException("Unexpected type " + type);
- };
+ switch (type) {
+ case AUTHORIZATION:
+ return 1;
+ case OR:
+ return 2;
+ case AND:
+ return 3;
+ case EMPTY:
+ default:
+ throw new IllegalArgumentException("Unexpected type " + type);
+ }
}
@Override
@@ -111,7 +116,8 @@ public class ParseExamples {
@Override
public boolean equals(Object o) {
- return this == o || (o instanceof NormalizedExpression n && compareTo(n) == 0);
+ return this == o
+ || (o instanceof NormalizedExpression && compareTo((NormalizedExpression) o) == 0);
}
@Override
diff --git a/pom.xml b/pom.xml
index 9fbb927..0589315 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,7 +115,7 @@ specific language governing permissions and limitations
under the License.
]]></accumulo.build.license.header>
<failsafe.failIfNoSpecifiedTests>false</failsafe.failIfNoSpecifiedTests>
- <javaVersion>17</javaVersion>
+ <javaVersion>11</javaVersion>
<!-- prevent introduction of new compiler warnings -->
<maven.compiler.failOnWarning>true</maven.compiler.failOnWarning>
<maven.javadoc.failOnWarnings>true</maven.javadoc.failOnWarnings>