apache / accumulo-access

Apache Accumulo Access Control Library
https://accumulo.apache.org
Apache License 2.0
4 stars 11 forks source link
accumulo big-data hacktoberfest

Accumulo Access Library

Java library that provides the same functionality, semantics, and syntax as the Apache Accumulo ColumnVisibility and VisibilityEvaluator classes. This functionality is provided in a standalone java library that has no dependencies (for example no Hadoop, Zookeeper, Thrift, etc dependencies).

For a conceptual overview of what an access expression is, see the specification document. See the Getting Started section for an example of how to use this java library.

Public API

The following types constitute the public API of this library. All other types are package private and are not part of the public API.

Getting Started

Add the library to your CLASSPATH. For Maven, use:

<dependencies>
  <dependency>
    <groupId>org.apache.accumulo</groupId>
    <artifactId>accumulo-access</artifactId>
    <version>${version.accumulo-access}</version>
  </dependency>
</dependencies>

Running the Example

mvn clean package
CLASSPATH=$(ls target/accumulo-access-*.jar) java src/test/java/example/AccessExample.java
CLASSPATH=$(ls target/accumulo-access-*.jar) java src/test/java/example/AccessExample.java RED BLUE

Note that data6 is always returned, because it has no access expression. And remember, authorizations are case-sensitive.

For an ANTLRv4 example, see antlr-example integration test's README.

Running the Benchmark

This project includes a JMH Benchmark. To run it:

mvn clean verify -Pbenchmark