You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2024/01/31 13:13:25 UTC

(accumulo-access) branch main updated: Minor changes to source and pom based on review (#36)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new ed9ff06  Minor changes to source and pom based on review (#36)
ed9ff06 is described below

commit ed9ff06d5dfc01bb1ef111e731ad8abe7c1addd0
Author: Dave Marion <dl...@apache.org>
AuthorDate: Wed Jan 31 08:13:20 2024 -0500

    Minor changes to source and pom based on review (#36)
---
 pom.xml                                                           | 6 ------
 src/main/java/org/apache/accumulo/access/AccessEvaluator.java     | 3 +++
 src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java | 4 ++--
 src/main/java/org/apache/accumulo/access/AccessExpression.java    | 3 +++
 src/main/java/org/apache/accumulo/access/Authorizations.java      | 4 ++++
 src/main/java/org/apache/accumulo/access/BytesWrapper.java        | 8 +++++---
 6 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/pom.xml b/pom.xml
index d9aab1d..d455c3e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -258,18 +258,12 @@
           <failOnError>true</failOnError>
           <includeTests>true</includeTests>
           <maxRank>20</maxRank>
-          <jvmArgs>-Dcom.overstock.findbugs.ignore=com.google.common.util.concurrent.RateLimiter,com.google.common.hash.Hasher,com.google.common.hash.HashCode,com.google.common.hash.HashFunction,com.google.common.hash.Hashing,com.google.common.cache.Cache,com.google.common.io.CountingOutputStream,com.google.common.io.ByteStreams,com.google.common.cache.LoadingCache,com.google.common.base.Stopwatch,com.google.common.cache.RemovalNotification,com.google.common.util.concurrent.Uninterruptib [...]
           <plugins combine.children="append">
             <plugin>
               <groupId>com.h3xstream.findsecbugs</groupId>
               <artifactId>findsecbugs-plugin</artifactId>
               <version>1.12.0</version>
             </plugin>
-            <plugin>
-              <groupId>com.overstock.findbugs</groupId>
-              <artifactId>library-detectors</artifactId>
-              <version>1.2.0</version>
-            </plugin>
           </plugins>
         </configuration>
         <executions>
diff --git a/src/main/java/org/apache/accumulo/access/AccessEvaluator.java b/src/main/java/org/apache/accumulo/access/AccessEvaluator.java
index 14d498b..5b86208 100644
--- a/src/main/java/org/apache/accumulo/access/AccessEvaluator.java
+++ b/src/main/java/org/apache/accumulo/access/AccessEvaluator.java
@@ -47,6 +47,9 @@ import java.util.List;
  * </pre>
  *
  * <p>
+ * Instances of this class are thread-safe.
+ *
+ * <p>
  * Note: The underlying implementation uses UTF-8 when converting between bytes and Strings.
  *
  * @see <a href="https://github.com/apache/accumulo-access">Accumulo Access Documentation</a>
diff --git a/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java b/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java
index 0885395..66adb96 100644
--- a/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java
+++ b/src/main/java/org/apache/accumulo/access/AccessEvaluatorImpl.java
@@ -38,9 +38,9 @@ final class AccessEvaluatorImpl implements AccessEvaluator {
 
   private static final byte[] EMPTY = new byte[0];
 
-  private final ThreadLocal<BytesWrapper> lookupWrappers =
+  private static final ThreadLocal<BytesWrapper> lookupWrappers =
       ThreadLocal.withInitial(() -> new BytesWrapper(EMPTY));
-  private final ThreadLocal<Tokenizer> tokenizers =
+  private static final ThreadLocal<Tokenizer> tokenizers =
       ThreadLocal.withInitial(() -> new Tokenizer(EMPTY));
 
   static Collection<List<byte[]>> convert(Collection<Authorizations> authorizationSets) {
diff --git a/src/main/java/org/apache/accumulo/access/AccessExpression.java b/src/main/java/org/apache/accumulo/access/AccessExpression.java
index f2dd07e..84d8df9 100644
--- a/src/main/java/org/apache/accumulo/access/AccessExpression.java
+++ b/src/main/java/org/apache/accumulo/access/AccessExpression.java
@@ -69,6 +69,9 @@ package org.apache.accumulo.access;
  * </pre>
  *
  * <p>
+ * Instances of this class are thread-safe.
+ *
+ * <p>
  * Note: The underlying implementation uses UTF-8 when converting between bytes and Strings.
  *
  * @see <a href="https://github.com/apache/accumulo-access">Accumulo Access Documentation</a>
diff --git a/src/main/java/org/apache/accumulo/access/Authorizations.java b/src/main/java/org/apache/accumulo/access/Authorizations.java
index 8b60cd8..f1b1640 100644
--- a/src/main/java/org/apache/accumulo/access/Authorizations.java
+++ b/src/main/java/org/apache/accumulo/access/Authorizations.java
@@ -24,6 +24,10 @@ import java.util.Set;
 /**
  * An immutable collection of authorization strings.
  *
+ * <p>
+ * Instances of this class are thread-safe.
+ *
+ * <p>
  * Note: The underlying implementation uses UTF-8 when converting between bytes and Strings.
  *
  * @since 1.0.0
diff --git a/src/main/java/org/apache/accumulo/access/BytesWrapper.java b/src/main/java/org/apache/accumulo/access/BytesWrapper.java
index ebf4396..069a66f 100644
--- a/src/main/java/org/apache/accumulo/access/BytesWrapper.java
+++ b/src/main/java/org/apache/accumulo/access/BytesWrapper.java
@@ -35,9 +35,7 @@ final class BytesWrapper implements Comparable<BytesWrapper> {
    * @param data byte data
    */
   public BytesWrapper(byte[] data) {
-    this.data = data;
-    this.offset = 0;
-    this.length = data.length;
+    set(data, 0, data.length);
   }
 
   /**
@@ -115,6 +113,10 @@ final class BytesWrapper implements Comparable<BytesWrapper> {
     return new String(data, offset, length, UTF_8);
   }
 
+  /*
+   * Wraps the given byte[] and captures the current offset and length. This method does *not* make
+   * a copy of the input buffer
+   */
   void set(byte[] data, int offset, int length) {
     if (offset < 0) {
       throw new IllegalArgumentException("Offset cannot be negative. length = " + offset);