From 70b5c9790325ee5129ddd75b5ee3ac72cf6dd244 Mon Sep 17 00:00:00 2001 From: Srikanth Srungarapu Date: Fri, 8 May 2015 20:27:36 -0700 Subject: [PATCH] HBASE-13620 Bring back the removed VisibilityClient methods and mark them as deprecated. --- .../security/visibility/VisibilityClient.java | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java index b6ae86d5886..8de783c129e 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java @@ -23,10 +23,12 @@ import java.io.IOException; import java.util.Map; import java.util.regex.Pattern; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.classification.InterfaceStability; import org.apache.hadoop.hbase.client.Connection; +import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.client.coprocessor.Batch; import org.apache.hadoop.hbase.ipc.BlockingRpcCallback; @@ -52,6 +54,23 @@ import com.google.protobuf.ServiceException; @InterfaceStability.Evolving public class VisibilityClient { + /** + * Utility method for adding label to the system. + * + * @param conf + * @param label + * @return VisibilityLabelsResponse + * @throws Throwable + * @deprecated Use {@link #addLabel(Connection,String)} instead. + */ + @Deprecated + public static VisibilityLabelsResponse addLabel(Configuration conf, final String label) + throws Throwable { + try (Connection connection = ConnectionFactory.createConnection(conf)) { + return addLabels(connection, new String[] { label }); + } + } + /** * Utility method for adding label to the system. * @@ -65,6 +84,23 @@ public class VisibilityClient { return addLabels(connection, new String[] { label }); } + /** + * Utility method for adding labels to the system. + * + * @param conf + * @param labels + * @return VisibilityLabelsResponse + * @throws Throwable + * @deprecated Use {@link #addLabels(Connection,String[])} instead. + */ + @Deprecated + public static VisibilityLabelsResponse addLabels(Configuration conf, final String[] labels) + throws Throwable { + try (Connection connection = ConnectionFactory.createConnection(conf)) { + return addLabels(connection, labels); + } + } + /** * Utility method for adding labels to the system. * @@ -109,6 +145,23 @@ public class VisibilityClient { } } + /** + * Sets given labels globally authorized for the user. + * @param conf + * @param auths + * @param user + * @return VisibilityLabelsResponse + * @throws Throwable + * @deprecated Use {@link #setAuths(Connection,String[],String)} instead. + */ + @Deprecated + public static VisibilityLabelsResponse setAuths(Configuration conf, final String[] auths, + final String user) throws Throwable { + try (Connection connection = ConnectionFactory.createConnection(conf)) { + return setOrClearAuths(connection, auths, user, true); + } + } + /** * Sets given labels globally authorized for the user. * @param connection @@ -122,6 +175,20 @@ public class VisibilityClient { return setOrClearAuths(connection, auths, user, true); } + /** + * @param conf + * @param user + * @return labels, the given user is globally authorized for. + * @throws Throwable + * @deprecated Use {@link #getAuths(Connection,String)} instead. + */ + @Deprecated + public static GetAuthsResponse getAuths(Configuration conf, final String user) throws Throwable { + try (Connection connection = ConnectionFactory.createConnection(conf)) { + return getAuths(connection, user); + } + } + /** * @param connection the Connection instance to use. * @param user @@ -156,6 +223,22 @@ public class VisibilityClient { } } + /** + * Retrieve the list of visibility labels defined in the system. + * @param conf + * @param regex The regular expression to filter which labels are returned. + * @return labels The list of visibility labels defined in the system. + * @throws Throwable + * @deprecated Use {@link #listLabels(Connection,String)} instead. + */ + @Deprecated + public static ListLabelsResponse listLabels(Configuration conf, final String regex) + throws Throwable { + try(Connection connection = ConnectionFactory.createConnection(conf)){ + return listLabels(connection, regex); + } + } + /** * Retrieve the list of visibility labels defined in the system. * @param connection The Connection instance to use. @@ -205,6 +288,23 @@ public class VisibilityClient { } } + /** + * Removes given labels from user's globally authorized list of labels. + * @param conf + * @param auths + * @param user + * @return VisibilityLabelsResponse + * @throws Throwable + * @deprecated Use {@link #clearAuths(Connection,String[],String)} instead. + */ + @Deprecated + public static VisibilityLabelsResponse clearAuths(Configuration conf, final String[] auths, + final String user) throws Throwable { + try (Connection connection = ConnectionFactory.createConnection(conf)) { + return setOrClearAuths(connection, auths, user, false); + } + } + /** * Removes given labels from user's globally authorized list of labels. * @param connection