Github user kchilton2 commented on a diff in the pull request:
https://github.com/apache/incubator-rya/pull/156#discussion_r112719552
--- Diff:
dao/accumulo.rya/src/main/java/org/apache/rya/accumulo/utils/VisibilitySimplifier.java
---
@@ -20,26 +20,48 @@
import static java.util.Objects.requireNonNull;
-import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
-import edu.umd.cs.findbugs.annotations.NonNull;
-
import org.apache.accumulo.core.security.ColumnVisibility;
import com.google.common.base.Charsets;
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
/**
* Simplifies Accumulo visibility expressions.
*/
@DefaultAnnotation(NonNull.class)
public class VisibilitySimplifier {
/**
+ * Unions two visibility equations and then simplifies the result.
+ *
+ * @param vis1 - The first visibility equation that will be unioned.
(not null)
+ * @param vis2 - The other visibility equation that will be unioned.
(not null)
+ * @return A simplified form of the unioned visibility equations.
+ */
+ public static String unionAndSimplify(final String vis1, final String
vis2) {
+ requireNonNull(vis1);
+ requireNonNull(vis2);
+
+ if(vis1.isEmpty()) {
+ return vis2;
+ }
+
+ if(vis2.isEmpty()) {
+ return vis1;
+ }
+
+ return simplify("(" + vis1 + ")&(" + vis2 + ")");
+ }
+
--- End diff --
The whitespace is as I intended, so I'm going to leave it as is.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---