http://git-wip-us.apache.org/repos/asf/hbase/blob/fc29f802/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html
----------------------------------------------------------------------
diff --git 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html
 
b/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html
deleted file mode 100644
index 9b8b7cf..0000000
--- 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html
+++ /dev/null
@@ -1,443 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for 
additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file 
except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a 
copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> * 
http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific 
language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a 
name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span>package 
org.apache.hadoop.hbase.security.visibility;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static 
org.apache.hadoop.hbase.security.visibility.VisibilityConstants.LABELS_TABLE_NAME;<a
 name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a 
name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Map;<a 
name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.regex.Pattern;<a 
name="line.24"></a>
-<span class="sourceLineNo">025</span><a name="line.25"></a>
-<span class="sourceLineNo">026</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import 
org.apache.hadoop.hbase.HConstants;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import 
org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import 
org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import 
org.apache.hadoop.hbase.client.Connection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import 
org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import 
org.apache.hadoop.hbase.client.Table;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import 
org.apache.hadoop.hbase.client.coprocessor.Batch;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import 
org.apache.hadoop.hbase.client.security.SecurityCapability;<a 
name="line.34"></a>
-<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.ipc.BlockingRpcCallback;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.GetAuthsRequest;<a
 name="line.37"></a>
-<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.GetAuthsResponse;<a
 name="line.38"></a>
-<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.ListLabelsRequest;<a
 name="line.39"></a>
-<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.ListLabelsResponse;<a
 name="line.40"></a>
-<span class="sourceLineNo">041</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.SetAuthsRequest;<a
 name="line.41"></a>
-<span class="sourceLineNo">042</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabel;<a
 name="line.42"></a>
-<span class="sourceLineNo">043</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsRequest;<a
 name="line.43"></a>
-<span class="sourceLineNo">044</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsResponse;<a
 name="line.44"></a>
-<span class="sourceLineNo">045</span>import 
org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsService;<a
 name="line.45"></a>
-<span class="sourceLineNo">046</span>import 
org.apache.hadoop.hbase.util.ByteStringer;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import 
org.apache.hadoop.hbase.util.Bytes;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>import 
com.google.protobuf.ServiceException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Utility client for doing visibility 
labels admin operations.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a 
name="line.54"></a>
-<span class="sourceLineNo">055</span>@InterfaceStability.Evolving<a 
name="line.55"></a>
-<span class="sourceLineNo">056</span>public class VisibilityClient {<a 
name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Return true if cell visibility 
features are supported and enabled<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * @param connection The connection to 
use<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @return true if cell visibility 
features are supported and enabled, false otherwise<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * @throws IOException<a 
name="line.62"></a>
-<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static boolean 
isCellVisibilityEnabled(Connection connection) throws IOException {<a 
name="line.64"></a>
-<span class="sourceLineNo">065</span>    return 
connection.getAdmin().getSecurityCapabilities()<a name="line.65"></a>
-<span class="sourceLineNo">066</span>        
.contains(SecurityCapability.CELL_VISIBILITY);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * Utility method for adding label to 
the system.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   *<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * @param conf<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * @param label<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @return VisibilityLabelsResponse<a 
name="line.74"></a>
-<span class="sourceLineNo">075</span>   * @throws Throwable<a 
name="line.75"></a>
-<span class="sourceLineNo">076</span>   * @deprecated Use {@link 
#addLabel(Connection,String)} instead.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  @Deprecated<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public static VisibilityLabelsResponse 
addLabel(Configuration conf, final String label)<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      throws Throwable {<a 
name="line.80"></a>
-<span class="sourceLineNo">081</span>    try (Connection connection = 
ConnectionFactory.createConnection(conf)) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      return addLabels(connection, new 
String[] { label });<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    }<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * Utility method for adding label to 
the system.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   *<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param connection<a 
name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @param label<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @return VisibilityLabelsResponse<a 
name="line.91"></a>
-<span class="sourceLineNo">092</span>   * @throws Throwable<a 
name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  public static VisibilityLabelsResponse 
addLabel(Connection connection, final String label)<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      throws Throwable {<a 
name="line.95"></a>
-<span class="sourceLineNo">096</span>    return addLabels(connection, new 
String[] { label });<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  /**<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * Utility method for adding labels to 
the system.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   *<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @param conf<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @param labels<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @return VisibilityLabelsResponse<a 
name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @throws Throwable<a 
name="line.105"></a>
-<span class="sourceLineNo">106</span>   * @deprecated Use {@link 
#addLabels(Connection,String[])} instead.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  @Deprecated<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  public static VisibilityLabelsResponse 
addLabels(Configuration conf, final String[] labels)<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      throws Throwable {<a 
name="line.110"></a>
-<span class="sourceLineNo">111</span>    try (Connection connection = 
ConnectionFactory.createConnection(conf)) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      return addLabels(connection, 
labels);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  /**<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * Utility method for adding labels to 
the system.<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   *<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @param connection<a 
name="line.119"></a>
-<span class="sourceLineNo">120</span>   * @param labels<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @return VisibilityLabelsResponse<a 
name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @throws Throwable<a 
name="line.122"></a>
-<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public static VisibilityLabelsResponse 
addLabels(Connection connection, final String[] labels)<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      throws Throwable {<a 
name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>    try (Table table = 
connection.getTable(LABELS_TABLE_NAME)) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      
Batch.Call&lt;VisibilityLabelsService, VisibilityLabelsResponse&gt; callable 
=<a name="line.128"></a>
-<span class="sourceLineNo">129</span>          new 
Batch.Call&lt;VisibilityLabelsService, VisibilityLabelsResponse&gt;() {<a 
name="line.129"></a>
-<span class="sourceLineNo">130</span>            ServerRpcController 
controller = new ServerRpcController();<a name="line.130"></a>
-<span class="sourceLineNo">131</span>            
BlockingRpcCallback&lt;VisibilityLabelsResponse&gt; rpcCallback =<a 
name="line.131"></a>
-<span class="sourceLineNo">132</span>                new 
BlockingRpcCallback&lt;VisibilityLabelsResponse&gt;();<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>            public 
VisibilityLabelsResponse call(VisibilityLabelsService service)<a 
name="line.134"></a>
-<span class="sourceLineNo">135</span>                throws IOException {<a 
name="line.135"></a>
-<span class="sourceLineNo">136</span>              
VisibilityLabelsRequest.Builder builder = 
VisibilityLabelsRequest.newBuilder();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>              for (String label : labels) 
{<a name="line.137"></a>
-<span class="sourceLineNo">138</span>                if (label.length() &gt; 
0) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>                  VisibilityLabel.Builder 
newBuilder = VisibilityLabel.newBuilder();<a name="line.139"></a>
-<span class="sourceLineNo">140</span>                  
newBuilder.setLabel(ByteStringer.wrap(Bytes.toBytes(label)));<a 
name="line.140"></a>
-<span class="sourceLineNo">141</span>                  
builder.addVisLabel(newBuilder.build());<a name="line.141"></a>
-<span class="sourceLineNo">142</span>                }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>              }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>              
service.addLabels(controller, builder.build(), rpcCallback);<a 
name="line.144"></a>
-<span class="sourceLineNo">145</span>              VisibilityLabelsResponse 
response = rpcCallback.get();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>              if 
(controller.failedOnException()) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>                throw 
controller.getFailedOn();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>              }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>              return response;<a 
name="line.149"></a>
-<span class="sourceLineNo">150</span>            }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          };<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      Map&lt;byte[], 
VisibilityLabelsResponse&gt; result =<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          
table.coprocessorService(VisibilityLabelsService.class, 
HConstants.EMPTY_BYTE_ARRAY,<a name="line.153"></a>
-<span class="sourceLineNo">154</span>            HConstants.EMPTY_BYTE_ARRAY, 
callable);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      return 
result.values().iterator().next(); // There will be exactly one region for 
labels<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      // table and so one entry in result 
Map.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * Sets given labels globally 
authorized for the user.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param conf<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param auths<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param user<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * @return VisibilityLabelsResponse<a 
name="line.165"></a>
-<span class="sourceLineNo">166</span>   * @throws Throwable<a 
name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @deprecated Use {@link 
#setAuths(Connection,String[],String)} instead.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Deprecated<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public static VisibilityLabelsResponse 
setAuths(Configuration conf, final String[] auths,<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      final String user) throws Throwable 
{<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    try (Connection connection = 
ConnectionFactory.createConnection(conf)) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return setOrClearAuths(connection, 
auths, user, true);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  }<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  /**<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * Sets given labels globally 
authorized for the user.<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @param connection<a 
name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param auths<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param user<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @return VisibilityLabelsResponse<a 
name="line.182"></a>
-<span class="sourceLineNo">183</span>   * @throws Throwable<a 
name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  public static VisibilityLabelsResponse 
setAuths(Connection connection, final String[] auths,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final String user) throws Throwable 
{<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return setOrClearAuths(connection, 
auths, user, true);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * @param conf<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * @param user<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @return labels, the given user is 
globally authorized for.<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @throws Throwable<a 
name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @deprecated Use {@link 
#getAuths(Connection,String)} instead.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  @Deprecated<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  public static GetAuthsResponse 
getAuths(Configuration conf, final String user) throws Throwable {<a 
name="line.198"></a>
-<span class="sourceLineNo">199</span>    try (Connection connection = 
ConnectionFactory.createConnection(conf)) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      return getAuths(connection, 
user);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /**<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @param connection the Connection 
instance to use.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @param user<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * @return labels, the given user is 
globally authorized for.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * @throws Throwable<a 
name="line.208"></a>
-<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  public static GetAuthsResponse 
getAuths(Connection connection, final String user)<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      throws Throwable {<a 
name="line.211"></a>
-<span class="sourceLineNo">212</span>      try (Table table = 
connection.getTable(LABELS_TABLE_NAME)) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        
Batch.Call&lt;VisibilityLabelsService, GetAuthsResponse&gt; callable = <a 
name="line.213"></a>
-<span class="sourceLineNo">214</span>            new 
Batch.Call&lt;VisibilityLabelsService, GetAuthsResponse&gt;() {<a 
name="line.214"></a>
-<span class="sourceLineNo">215</span>          ServerRpcController controller 
= new ServerRpcController();<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          
BlockingRpcCallback&lt;GetAuthsResponse&gt; rpcCallback = <a 
name="line.216"></a>
-<span class="sourceLineNo">217</span>              new 
BlockingRpcCallback&lt;GetAuthsResponse&gt;();<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>          public GetAuthsResponse 
call(VisibilityLabelsService service) throws IOException {<a 
name="line.219"></a>
-<span class="sourceLineNo">220</span>            GetAuthsRequest.Builder 
getAuthReqBuilder = GetAuthsRequest.newBuilder();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>            
getAuthReqBuilder.setUser(ByteStringer.wrap(Bytes.toBytes(user)));<a 
name="line.221"></a>
-<span class="sourceLineNo">222</span>            service.getAuths(controller, 
getAuthReqBuilder.build(), rpcCallback);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>            GetAuthsResponse response = 
rpcCallback.get();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            if 
(controller.failedOnException()) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>              throw 
controller.getFailedOn();<a name="line.225"></a>
-<span class="sourceLineNo">226</span>            }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>            return response;<a 
name="line.227"></a>
-<span class="sourceLineNo">228</span>          }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        };<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        Map&lt;byte[], 
GetAuthsResponse&gt; result =<a name="line.230"></a>
-<span class="sourceLineNo">231</span>          
table.coprocessorService(VisibilityLabelsService.class,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>            HConstants.EMPTY_BYTE_ARRAY, 
HConstants.EMPTY_BYTE_ARRAY, callable);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        return 
result.values().iterator().next(); // There will be exactly one region for 
labels<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        // table and so one entry in 
result Map.<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * Retrieve the list of visibility 
labels defined in the system.<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @param conf<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param regex  The regular expression 
to filter which labels are returned.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @return labels The list of 
visibility labels defined in the system.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @throws Throwable<a 
name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @deprecated Use {@link 
#listLabels(Connection,String)} instead.<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  @Deprecated<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  public static ListLabelsResponse 
listLabels(Configuration conf, final String regex)<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      throws Throwable {<a 
name="line.248"></a>
-<span class="sourceLineNo">249</span>    try(Connection connection = 
ConnectionFactory.createConnection(conf)){<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      return listLabels(connection, 
regex);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  /**<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * Retrieve the list of visibility 
labels defined in the system.<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @param connection The Connection 
instance to use.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * @param regex  The regular expression 
to filter which labels are returned.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @return labels The list of 
visibility labels defined in the system.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @throws Throwable<a 
name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static ListLabelsResponse 
listLabels(Connection connection, final String regex)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      throws Throwable {<a 
name="line.262"></a>
-<span class="sourceLineNo">263</span>    Table table = null;<a 
name="line.263"></a>
-<span class="sourceLineNo">264</span>    try {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      table = 
connection.getTable(LABELS_TABLE_NAME);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      
Batch.Call&lt;VisibilityLabelsService, ListLabelsResponse&gt; callable =<a 
name="line.266"></a>
-<span class="sourceLineNo">267</span>          new 
Batch.Call&lt;VisibilityLabelsService, ListLabelsResponse&gt;() {<a 
name="line.267"></a>
-<span class="sourceLineNo">268</span>            ServerRpcController 
controller = new ServerRpcController();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>            
BlockingRpcCallback&lt;ListLabelsResponse&gt; rpcCallback =<a 
name="line.269"></a>
-<span class="sourceLineNo">270</span>                new 
BlockingRpcCallback&lt;ListLabelsResponse&gt;();<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>            public ListLabelsResponse 
call(VisibilityLabelsService service) throws IOException {<a 
name="line.272"></a>
-<span class="sourceLineNo">273</span>              ListLabelsRequest.Builder 
listAuthLabelsReqBuilder = ListLabelsRequest.newBuilder();<a 
name="line.273"></a>
-<span class="sourceLineNo">274</span>              if (regex != null) {<a 
name="line.274"></a>
-<span class="sourceLineNo">275</span>                // Compile the regex here 
to catch any regex exception earlier.<a name="line.275"></a>
-<span class="sourceLineNo">276</span>                Pattern pattern = 
Pattern.compile(regex);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>                
listAuthLabelsReqBuilder.setRegex(pattern.toString());<a name="line.277"></a>
-<span class="sourceLineNo">278</span>              }<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              
service.listLabels(controller, listAuthLabelsReqBuilder.build(), 
rpcCallback);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              ListLabelsResponse response 
= rpcCallback.get();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>              if 
(controller.failedOnException()) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>                throw 
controller.getFailedOn();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>              }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>              return response;<a 
name="line.284"></a>
-<span class="sourceLineNo">285</span>            }<a name="line.285"></a>
-<span class="sourceLineNo">286</span>          };<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      Map&lt;byte[], 
ListLabelsResponse&gt; result =<a name="line.287"></a>
-<span class="sourceLineNo">288</span>          
table.coprocessorService(VisibilityLabelsService.class, 
HConstants.EMPTY_BYTE_ARRAY,<a name="line.288"></a>
-<span class="sourceLineNo">289</span>            HConstants.EMPTY_BYTE_ARRAY, 
callable);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      return 
result.values().iterator().next(); // There will be exactly one region for 
labels<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      // table and so one entry in result 
Map.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    }<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    finally {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      if (table != null) {<a 
name="line.294"></a>
-<span class="sourceLineNo">295</span>        table.close();<a 
name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      if (connection != null) {<a 
name="line.297"></a>
-<span class="sourceLineNo">298</span>        connection.close();<a 
name="line.298"></a>
-<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  }<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * Removes given labels from user's 
globally authorized list of labels.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * @param conf<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * @param auths<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * @param user<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @return VisibilityLabelsResponse<a 
name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @throws Throwable<a 
name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @deprecated Use {@link 
#clearAuths(Connection,String[],String)} instead.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  @Deprecated<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static VisibilityLabelsResponse 
clearAuths(Configuration conf, final String[] auths,<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      final String user) throws Throwable 
{<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    try (Connection connection = 
ConnectionFactory.createConnection(conf)) {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      return setOrClearAuths(connection, 
auths, user, false);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    }<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * Removes given labels from user's 
globally authorized list of labels.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @param connection<a 
name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param auths<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param user<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return VisibilityLabelsResponse<a 
name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @throws Throwable<a 
name="line.326"></a>
-<span class="sourceLineNo">327</span>   */<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  public static VisibilityLabelsResponse 
clearAuths(Connection connection, final String[] auths,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      final String user) throws Throwable 
{<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    return setOrClearAuths(connection, 
auths, user, false);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  }<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span>  private static VisibilityLabelsResponse 
setOrClearAuths(Connection connection,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      final String[] auths, final String 
user, final boolean setOrClear)<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          throws IOException, 
ServiceException, Throwable {<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>      try (Table table = 
connection.getTable(LABELS_TABLE_NAME)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        
Batch.Call&lt;VisibilityLabelsService, VisibilityLabelsResponse&gt; callable = 
<a name="line.338"></a>
-<span class="sourceLineNo">339</span>            new 
Batch.Call&lt;VisibilityLabelsService, VisibilityLabelsResponse&gt;() {<a 
name="line.339"></a>
-<span class="sourceLineNo">340</span>          ServerRpcController controller 
= new ServerRpcController();<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          
BlockingRpcCallback&lt;VisibilityLabelsResponse&gt; rpcCallback = <a 
name="line.341"></a>
-<span class="sourceLineNo">342</span>              new 
BlockingRpcCallback&lt;VisibilityLabelsResponse&gt;();<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>          public VisibilityLabelsResponse 
call(VisibilityLabelsService service) throws IOException {<a 
name="line.344"></a>
-<span class="sourceLineNo">345</span>            SetAuthsRequest.Builder 
setAuthReqBuilder = SetAuthsRequest.newBuilder();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>            
setAuthReqBuilder.setUser(ByteStringer.wrap(Bytes.toBytes(user)));<a 
name="line.346"></a>
-<span class="sourceLineNo">347</span>            for (String auth : auths) {<a 
name="line.347"></a>
-<span class="sourceLineNo">348</span>              if (auth.length() &gt; 0) 
{<a name="line.348"></a>
-<span class="sourceLineNo">349</span>                
setAuthReqBuilder.addAuth(ByteStringer.wrap(Bytes.toBytes(auth)));<a 
name="line.349"></a>
-<span class="sourceLineNo">350</span>              }<a name="line.350"></a>
-<span class="sourceLineNo">351</span>            }<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            if (setOrClear) {<a 
name="line.352"></a>
-<span class="sourceLineNo">353</span>              
service.setAuths(controller, setAuthReqBuilder.build(), rpcCallback);<a 
name="line.353"></a>
-<span class="sourceLineNo">354</span>            } else {<a 
name="line.354"></a>
-<span class="sourceLineNo">355</span>              
service.clearAuths(controller, setAuthReqBuilder.build(), rpcCallback);<a 
name="line.355"></a>
-<span class="sourceLineNo">356</span>            }<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            VisibilityLabelsResponse 
response = rpcCallback.get();<a name="line.357"></a>
-<span class="sourceLineNo">358</span>            if 
(controller.failedOnException()) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              throw 
controller.getFailedOn();<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>            return response;<a 
name="line.361"></a>
-<span class="sourceLineNo">362</span>          }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        };<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        Map&lt;byte[], 
VisibilityLabelsResponse&gt; result = table.coprocessorService(<a 
name="line.364"></a>
-<span class="sourceLineNo">365</span>            
VisibilityLabelsService.class, HConstants.EMPTY_BYTE_ARRAY, 
HConstants.EMPTY_BYTE_ARRAY,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>            callable);<a 
name="line.366"></a>
-<span class="sourceLineNo">367</span>        return 
result.values().iterator().next(); // There will be exactly one region for 
labels<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        // table and so one entry in 
result Map.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>}<a name="line.371"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase/blob/fc29f802/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityControllerNotReadyException.html
----------------------------------------------------------------------
diff --git 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityControllerNotReadyException.html
 
b/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityControllerNotReadyException.html
deleted file mode 100644
index b0f1501..0000000
--- 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityControllerNotReadyException.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for 
additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file 
except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a 
copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     
http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific 
language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a 
name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span>package 
org.apache.hadoop.hbase.security.visibility;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.io.IOException;<a 
name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import 
org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import 
org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>/*<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * This exception indicates that 
VisibilityController hasn't finished initialization.<a name="line.26"></a>
-<span class="sourceLineNo">027</span> */<a name="line.27"></a>
-<span class="sourceLineNo">028</span>@InterfaceAudience.Public<a 
name="line.28"></a>
-<span class="sourceLineNo">029</span>@InterfaceStability.Evolving<a 
name="line.29"></a>
-<span class="sourceLineNo">030</span>public class 
VisibilityControllerNotReadyException extends IOException {<a 
name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private static final long 
serialVersionUID = 1725986525207989173L;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>  public 
VisibilityControllerNotReadyException(String msg) {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    super(msg);<a name="line.35"></a>
-<span class="sourceLineNo">036</span>  }<a name="line.36"></a>
-<span class="sourceLineNo">037</span>}<a name="line.37"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase/blob/fc29f802/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html
----------------------------------------------------------------------
diff --git 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html
 
b/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html
deleted file mode 100644
index 696c482..0000000
--- 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for 
additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file 
except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a 
copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     
http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific 
language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a 
name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
-<span class="sourceLineNo">019</span>package 
org.apache.hadoop.hbase.security.visibility;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a 
name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import 
org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import 
org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a 
name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>/**<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * During the read (ie. get/Scan) the 
VisibilityController calls this interface for each of the<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * Cell. Depending on the evaluate() 
result, a cell can be either included or filtered out from the<a 
name="line.29"></a>
-<span class="sourceLineNo">030</span> * read results.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> */<a name="line.31"></a>
-<span class="sourceLineNo">032</span>@InterfaceAudience.Public<a 
name="line.32"></a>
-<span class="sourceLineNo">033</span>@InterfaceStability.Evolving<a 
name="line.33"></a>
-<span class="sourceLineNo">034</span>public interface VisibilityExpEvaluator 
{<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>  /**<a name="line.36"></a>
-<span class="sourceLineNo">037</span>   * Evaluates whether the passed cell 
passes Scan/Get Authorization.<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   * @param cell Cell under evaluation<a 
name="line.38"></a>
-<span class="sourceLineNo">039</span>   * @return true if this cell can be 
included in the Result. Else false.<a name="line.39"></a>
-<span class="sourceLineNo">040</span>   */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  boolean evaluate(Cell cell) throws 
IOException;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>}<a name="line.42"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase/blob/fc29f802/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html
----------------------------------------------------------------------
diff --git 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html
 
b/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html
deleted file mode 100644
index 72ab3b1..0000000
--- 
a/apidocs/src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * distributed with this work for 
additional information<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * "License"); you may not use this file 
except in compliance<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * with the License.  You may obtain a 
copy of the License at<a name="line.8"></a>
-<span class="sourceLineNo">009</span> *<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *     
http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * See the License for the specific 
language governing permissions and<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * limitations under the License.<a 
name="line.16"></a>
-<span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span>package 
org.apache.hadoop.hbase.security.visibility;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.io.IOException;<a 
name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.List;<a 
name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import 
org.apache.hadoop.conf.Configurable;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Tag;<a 
name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TagType;<a 
name="line.25"></a>
-<span class="sourceLineNo">026</span>import 
org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import 
org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import 
org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;<a 
name="line.28"></a>
-<span class="sourceLineNo">029</span>import 
org.apache.hadoop.hbase.regionserver.OperationStatus;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import 
org.apache.hadoop.hbase.security.User;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * The interface which deals with 
visibility labels and user auths admin service as well as the cell<a 
name="line.33"></a>
-<span class="sourceLineNo">034</span> * visibility expression storage part and 
read time evaluation.<a name="line.34"></a>
-<span class="sourceLineNo">035</span> */<a name="line.35"></a>
-<span class="sourceLineNo">036</span>@InterfaceAudience.Public<a 
name="line.36"></a>
-<span class="sourceLineNo">037</span>@InterfaceStability.Evolving<a 
name="line.37"></a>
-<span class="sourceLineNo">038</span>public interface VisibilityLabelService 
extends Configurable {<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>  /**<a name="line.40"></a>
-<span class="sourceLineNo">041</span>   * System calls this after opening of 
regions. Gives a chance for the VisibilityLabelService to so<a 
name="line.41"></a>
-<span class="sourceLineNo">042</span>   * any initialization logic.<a 
name="line.42"></a>
-<span class="sourceLineNo">043</span>   * @param e<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   *          the region coprocessor 
env<a name="line.44"></a>
-<span class="sourceLineNo">045</span>   */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  void init(RegionCoprocessorEnvironment 
e) throws IOException;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  /**<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   * Adds the set of labels into the 
system.<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   * @param labels<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   *          Labels to add to the 
system.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * @return OperationStatus for each of 
the label addition<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  OperationStatus[] 
addLabels(List&lt;byte[]&gt; labels) throws IOException;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * Sets given labels globally 
authorized for the user.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * @param user<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   *          The authorizing user<a 
name="line.59"></a>
-<span class="sourceLineNo">060</span>   * @param authLabels<a 
name="line.60"></a>
-<span class="sourceLineNo">061</span>   *          Labels which are getting 
authorized for the user<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * @return OperationStatus for each of 
the label auth addition<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  OperationStatus[] setAuths(byte[] user, 
List&lt;byte[]&gt; authLabels) throws IOException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  /**<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * Removes given labels from user's 
globally authorized list of labels.<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @param user<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   *          The user whose 
authorization to be removed<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * @param authLabels<a 
name="line.70"></a>
-<span class="sourceLineNo">071</span>   *          Labels which are getting 
removed from authorization set<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * @return OperationStatus for each of 
the label auth removal<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  OperationStatus[] clearAuths(byte[] 
user, List&lt;byte[]&gt; authLabels) throws IOException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * Retrieve the visibility labels for 
the user.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * @param user<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   *          Name of the user whose 
authorization to be retrieved<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * @param systemCall<a 
name="line.80"></a>
-<span class="sourceLineNo">081</span>   *          Whether a system or user 
originated call.<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * @return Visibility labels authorized 
for the given user.<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   */<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  List&lt;String&gt; getUserAuths(byte[] 
user, boolean systemCall) throws IOException;<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * Retrieve the visibility labels for 
the groups.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param groups<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   *          Name of the groups whose 
authorization to be retrieved<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @param systemCall<a 
name="line.90"></a>
-<span class="sourceLineNo">091</span>   *          Whether a system or user 
originated call.<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * @return Visibility labels authorized 
for the given group.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  List&lt;String&gt; 
getGroupAuths(String[] groups, boolean systemCall) throws IOException;<a 
name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * Retrieve the list of visibility 
labels defined in the system.<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @param regex  The regular expression 
to filter which labels are returned.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @return List of visibility labels<a 
name="line.99"></a>
-<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  List&lt;String&gt; listLabels(String 
regex) throws IOException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * Creates tags corresponding to given 
visibility expression.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * &lt;br&gt;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * Note: This will be concurrently 
called from multiple threads and implementation should<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * take care of thread safety.<a 
name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @param visExpression The Expression 
for which corresponding Tags to be created.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @param withSerializationFormat 
specifies whether a tag, denoting the serialization version<a 
name="line.109"></a>
-<span class="sourceLineNo">110</span>   *          of the tags, to be added in 
the list. When this is true make sure to add the<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   *          serialization format Tag 
also. The format tag value should be byte type.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * @param checkAuths denotes whether to 
check individual labels in visExpression against user's<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   *          global auth label.<a 
name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @return The list of tags corresponds 
to the visibility expression. These tags will be stored<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   *         along with the Cells.<a 
name="line.115"></a>
-<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  List&lt;Tag&gt; 
createVisibilityExpTags(String visExpression, boolean 
withSerializationFormat,<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      boolean checkAuths) throws 
IOException;<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * Creates VisibilityExpEvaluator 
corresponding to given Authorizations. &lt;br&gt;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * Note: This will be concurrently 
called from multiple threads and implementation should take<a 
name="line.122"></a>
-<span class="sourceLineNo">123</span>   * care of thread safety.<a 
name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @param authorizations<a 
name="line.124"></a>
-<span class="sourceLineNo">125</span>   *          Authorizations for the read 
request<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @return The VisibilityExpEvaluator 
corresponding to the given set of authorization labels.<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  VisibilityExpEvaluator 
getVisibilityExpEvaluator(Authorizations authorizations)<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      throws IOException;<a 
name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * System checks for user auth during 
admin operations. (ie. Label add, set/clear auth). The<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * operation is allowed only for users 
having system auth. Also during read, if the requesting<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * user has system auth, he can view 
all the data irrespective of its labels.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @param user<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   *          User for whom system auth 
check to be done.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @return true if the given user is 
having system/super auth<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  boolean havingSystemAuth(User user) 
throws IOException;<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  /**<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * System uses this for deciding 
whether a Cell can be deleted by matching visibility expression<a 
name="line.142"></a>
-<span class="sourceLineNo">143</span>   * in Delete mutation and the cell in 
consideration. Also system passes the serialization format<a 
name="line.143"></a>
-<span class="sourceLineNo">144</span>   * of visibility tags in Put and 
Delete.&lt;br&gt;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Note: This will be concurrently 
called from multiple threads and implementation should take<a 
name="line.145"></a>
-<span class="sourceLineNo">146</span>   * care of thread safety.<a 
name="line.146"></a>
-<span class="sourceLineNo">147</span>   * @param putVisTags<a 
name="line.147"></a>
-<span class="sourceLineNo">148</span>   *          The visibility tags present 
in the Put mutation<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @param putVisTagFormat<a 
name="line.149"></a>
-<span class="sourceLineNo">150</span>   *          The serialization format 
for the Put visibility tags. A &lt;code&gt;null&lt;/code&gt; value for<a 
name="line.150"></a>
-<span class="sourceLineNo">151</span>   *          this format means the tags 
are written with unsorted label ordinals<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * @param deleteVisTags<a 
name="line.152"></a>
-<span class="sourceLineNo">153</span>   *          - The visibility tags in 
the delete mutation (the specified Cell Visibility)<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param deleteVisTagFormat<a 
name="line.154"></a>
-<span class="sourceLineNo">155</span>   *          The serialization format 
for the Delete visibility tags. A &lt;code&gt;null&lt;/code&gt; value for<a 
name="line.155"></a>
-<span class="sourceLineNo">156</span>   *          this format means the tags 
are written with unsorted label ordinals<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * @return true if matching tags are 
found<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @see 
VisibilityConstants#SORTED_ORDINAL_SERIALIZATION_FORMAT<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  boolean matchVisibility(List&lt;Tag&gt; 
putVisTags, Byte putVisTagFormat, List&lt;Tag&gt; deleteVisTags,<a 
name="line.160"></a>
-<span class="sourceLineNo">161</span>      Byte deleteVisTagFormat) throws 
IOException;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * Provides a way to modify the 
visibility tags of type {@link TagType}<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * .VISIBILITY_TAG_TYPE, that are part 
of the cell created from the WALEdits<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * that are prepared for replication 
while calling<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * {@link 
org.apache.hadoop.hbase.replication.ReplicationEndpoint}<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * .replicate().<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * {@link 
org.apache.hadoop.hbase.security.visibility.VisibilityReplicationEndpoint}<a 
name="line.169"></a>
-<span class="sourceLineNo">170</span>   * calls this API to provide an 
opportunity to modify the visibility tags<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * before replicating.<a 
name="line.171"></a>
-<span class="sourceLineNo">172</span>   *<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * @param visTags<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   *          the visibility tags 
associated with the cell<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * @param serializationFormat<a 
name="line.175"></a>
-<span class="sourceLineNo">176</span>   *          the serialization format 
associated with the tag<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * @return the modified visibility 
expression in the form of byte[]<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * @throws IOException<a 
name="line.178"></a>
-<span class="sourceLineNo">179</span>   */<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  byte[] 
encodeVisibilityForReplication(final List&lt;Tag&gt; visTags,<a 
name="line.180"></a>
-<span class="sourceLineNo">181</span>      final Byte serializationFormat) 
throws IOException;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>}<a name="line.183"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase/blob/fc29f802/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index f1cf337..8de8a1c 100644
--- a/book.html
+++ b/book.html
@@ -7718,7 +7718,7 @@ hash-joins). So which is the best approach? It depends on 
what you are trying to
 <h2 id="_acid"><a class="anchor" href="#_acid"></a>31. ACID</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>See <a href="http://hbase.apache.org/acid-semantics.html";>ACID 
Semantics</a>.
+<p>See <a href="/acid-semantics.html">ACID Semantics</a>.
 Lars Hofhansl has also written a note on <a 
href="http://hadoop-hbase.blogspot.com/2012/03/acid-in-hbase.html";>ACID in 
HBase</a>.</p>
 </div>
 </div>
@@ -11785,7 +11785,7 @@ The correct way to apply cell level labels is to do so 
in the application code w
 <div class="paragraph">
 <p><a href="#reading_cells_with_labels">[reading_cells_with_labels]</a>
 ==== Reading Cells with Labels
-When you issue a Scan or Get, HBase uses your default set of authorizations to 
filter out cells that you do not have access to. A superuser can set the 
default set of authorizations for a given user by using the 
<code>set_auths</code> HBase Shell command or the <a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.conf.Configuration,%20java.lang.String\">],%20java.lang.String)[VisibilityClient.setAuths()</a>
 method.</p>
+When you issue a Scan or Get, HBase uses your default set of authorizations to 
filter out cells that you do not have access to. A superuser can set the 
default set of authorizations for a given user by using the 
<code>set_auths</code> HBase Shell command or the <a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.hbase.client.Connection,%20java.lang.String"
 
class="bare">http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.hbase.client.Connection,%20java.lang.String</a>,%20java.lang.String)[VisibilityClient.setAuths()]
 method.</p>
 </div>
 <div class="paragraph">
 <p>You can specify a different authorization during the Scan or Get, by 
passing the AUTHORIZATIONS option in HBase Shell, or the <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html#setAuthorizations%28org.apache.hadoop.hbase.security.visibility.Authorizations%29";>setAuthorizations()</a>
 method if you use the API. This authorization will be combined with your 
default set as an additional filter. It will further filter your results, 
rather than giving you additional authorization.</p>
@@ -12114,7 +12114,8 @@ Next, configure fallback to the old master key in the 
<em>hbase-site.xml</em> fi
 <h3 id="hbase.secure.bulkload"><a class="anchor" 
href="#hbase.secure.bulkload"></a>59.5. Secure Bulk Load</h3>
 <div class="paragraph">
 <p>Bulk loading in secure mode is a bit more involved than normal setup, since 
the client has to transfer the ownership of the files generated from the 
MapReduce job to HBase.
-Secure bulk loading is implemented by a coprocessor, named <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.html";>SecureBulkLoadEndpoint</a>,
 which uses a staging directory configured by the configuration property 
<code>hbase.bulkload.staging.dir</code>, which defaults to 
<em>/tmp/hbase-staging/</em>.</p>
+Secure bulk loading is implemented by a coprocessor, named 
link:http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.html
+[SecureBulkLoadEndpoint], which uses a staging directory configured by the 
configuration property <code>hbase.bulkload.staging.dir</code>, which defaults 
to <em>/tmp/hbase-staging/</em>.</p>
 </div>
 <div class="ulist">
 <div class="title">Secure Bulk Load Algorithm</div>
@@ -12503,7 +12504,10 @@ If a region has both an empty start and an empty end 
key, it is the only region
 </table>
 </div>
 <div class="paragraph">
-<p>In the (hopefully unlikely) event that programmatic processing of catalog 
metadata is required, see the <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte";
 
class="bare">http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte</a>%29[Writables]
 utility.</p>
+<p>In the (hopefully unlikely) event that programmatic processing of catalog 
metadata
+is required, see the
+<a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte";
 
class="bare">http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte</a>%29[Writables]
+utility.</p>
 </div>
 </div>
 <div class="sect2">
@@ -12628,13 +12632,13 @@ Please use <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/clie
 <div class="sect2">
 <h3 id="client.writebuffer"><a class="anchor" 
href="#client.writebuffer"></a>63.2. WriteBuffer and Batch Methods</h3>
 <div class="paragraph">
-<p>In HBase 1.0 and later, <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTable.html";>HTable</a>
 is deprecated in favor of <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html";>Table</a>.
 <code>Table</code> does not use autoflush. To do buffered writes, use the 
BufferedMutator class.</p>
+<p>In HBase 1.0 and later, <a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/HTable.html";>HTable</a>
 is deprecated in favor of <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html";>Table</a>.
 <code>Table</code> does not use autoflush. To do buffered writes, use the 
BufferedMutator class.</p>
 </div>
 <div class="paragraph">
 <p>Before a <code>Table</code> or <code>HTable</code> instance is discarded, 
invoke either <code>close()</code> or <code>flushCommits()</code>, so `Put`s 
will not be lost.</p>
 </div>
 <div class="paragraph">
-<p>For additional information on write durability, review the <a 
href="../acid-semantics.html">ACID semantics</a> page.</p>
+<p>For additional information on write durability, review the <a 
href="/acid-semantics.html">ACID semantics</a> page.</p>
 </div>
 <div class="paragraph">
 <p>For fine-grained control of batching of <code>Put</code>s or 
<code>Delete</code>s, see the <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#batch%28java.util.List%29";>batch</a>
 methods on Table.</p>
@@ -13295,7 +13299,7 @@ Let us call this deploy format, <em>Raw L1+L2</em>.</p>
 </div>
 <div class="paragraph">
 <p>Other BucketCache configs include: specifying a location to persist cache 
to across restarts, how many threads to use writing the cache, etc.
-See the <a 
href="https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html";>CacheConfig.html</a>
 class for configuration options and descriptions.</p>
+See the <a 
href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html";>CacheConfig.html</a>
 class for configuration options and descriptions.</p>
 </div>
 <div class="sect5">
 <h6 id="_bucketcache_example_configuration"><a class="anchor" 
href="#_bucketcache_example_configuration"></a>BucketCache Example 
Configuration</h6>
@@ -14289,8 +14293,10 @@ See <a href="#disable.splitting">Managed Splitting</a> 
for how to manually manag
 <div class="sect3">
 <h4 id="_custom_split_policies"><a class="anchor" 
href="#_custom_split_policies"></a>67.4.1. Custom Split Policies</h4>
 <div class="paragraph">
-<p>You can override the default split policy using a custom <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html";>RegionSplitPolicy</a>(HBase
 0.94+). Typically a custom split policy should extend
-HBase&#8217;s default split policy: <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.html";>IncreasingToUpperBoundRegionSplitPolicy</a>.</p>
+<p>You can override the default split policy using a custom
+<a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html";>RegionSplitPolicy</a>(HBase
 0.94+).
+Typically a custom split policy should extend HBase&#8217;s default split 
policy:
+<a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.html";>IncreasingToUpperBoundRegionSplitPolicy</a>.</p>
 </div>
 <div class="paragraph">
 <p>The policy can set globally through the HBase configuration or on a 
per-table
@@ -14323,7 +14329,10 @@ admin.createTable(tableDesc);
 </div>
 </div>
 <div class="paragraph">
-<p>The default split policy can be overwritten using a custom <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html";>RegionSplitPolicy(HBase
 0.94+)</a>. Typically a custom split policy should extend HBase&#8217;s 
default split policy: <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.html";>ConstantSizeRegionSplitPolicy</a>.</p>
+<p>The default split policy can be overwritten using a custom
+link:http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html
+[RegionSplitPolicy(HBase 0.94+)]. Typically a custom split policy should 
extend HBase&#8217;s default split policy:
+<a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.html";>ConstantSizeRegionSplitPolicy</a>.</p>
 </div>
 <div class="paragraph">
 <p>The policy can be set globally through the HBaseConfiguration used or on a 
per table basis:</p>
@@ -14411,9 +14420,15 @@ For instance, the following command creates a table 
with regions that split at e
 <p>The RegionSplitter tool is provided with HBase, and uses a 
<em>SplitAlgorithm</em> to determine split points for you.
 As parameters, you give it the algorithm, desired number of regions, and 
column families.
 It includes two split algorithms.
-The first is the <code><a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/RegionSplitter.HexStringSplit.html";>HexStringSplit</a></code>
 algorithm, which assumes the row keys are hexadecimal strings.
-The second, <code><a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html";>UniformSplit</a></code>,
 assumes the row keys are random byte arrays.
-You will probably need to develop your own <code><a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html";>SplitAlgorithm</a></code>,
 using the provided ones as models.</p>
+The first is the
+<code><a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.HexStringSplit.html";>HexStringSplit</a></code>
+algorithm, which assumes the row keys are hexadecimal strings.
+The second,
+<code><a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.UniformSplit.html";>UniformSplit</a></code>,
+assumes the row keys are random byte arrays.
+You will probably need to develop your own
+<code><a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/RegionSplitter.SplitAlgorithm.html";>SplitAlgorithm</a></code>,
+using the provided ones as models.</p>
 </dd>
 </dl>
 </div>
@@ -17247,12 +17262,13 @@ libraryDependencies ++= Seq(
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="scala">import 
org.apache.hadoop.hbase.HBaseConfiguration
-import org.apache.hadoop.hbase.client.{HBaseAdmin,HTable,Put,Get}
+import 
org.apache.hadoop.hbase.client.{Connection,ConnectionFactory,HBaseAdmin,HTable,Put,Get}
 import org.apache.hadoop.hbase.util.Bytes
 
 
 val conf = new HBaseConfiguration()
-val admin = new HBaseAdmin(conf)
+val connection = ConnectionFactory.createConnection(conf);
+val admin = connection.getAdmin();
 
 // list the tables
 val listtables=admin.listTables()
@@ -18921,10 +18937,11 @@ coprocessor.jar| 
org.myname.hbase.Coprocessor.RegionObserverExample|1073741823|'
 <p><strong>Using setValue()</strong> method of HTableDescriptor: This is done 
entirely in Java as follows:</p>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span 
class="predefined-type">String</span> tableName = <span class="string"><span 
class="delimiter">&quot;</span><span class="content">users</span><span 
class="delimiter">&quot;</span></span>;
+<pre class="CodeRay highlight"><code data-lang="java">TableName tableName = 
TableName.valueOf(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">users</span><span 
class="delimiter">&quot;</span></span>);
 <span class="predefined-type">String</span> path = <span class="string"><span 
class="delimiter">&quot;</span><span 
class="content">hdfs://&lt;namenode&gt;:&lt;port&gt;/user/&lt;hadoop-user&gt;/coprocessor.jar</span><span
 class="delimiter">&quot;</span></span>;
 <span class="predefined-type">Configuration</span> conf = 
HBaseConfiguration.create();
-HBaseAdmin admin = <span class="keyword">new</span> HBaseAdmin(conf);
+<span class="predefined-type">Connection</span> connection = 
ConnectionFactory.createConnection(conf);
+Admin admin = connection.getAdmin();
 admin.disableTable(tableName);
 HTableDescriptor hTableDescriptor = <span class="keyword">new</span> 
HTableDescriptor(tableName);
 HColumnDescriptor columnFamily1 = <span class="keyword">new</span> 
HColumnDescriptor(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">personalDet</span><span 
class="delimiter">&quot;</span></span>);
@@ -19004,10 +19021,11 @@ Coprocessor either in setValue() or addCoprocessor() 
methods. This will remove t
 attached to this table, if any. For example:</p>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span 
class="predefined-type">String</span> tableName = <span class="string"><span 
class="delimiter">&quot;</span><span class="content">users</span><span 
class="delimiter">&quot;</span></span>;
+<pre class="CodeRay highlight"><code data-lang="java">TableName tableName = 
TableName.valueOf(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">users</span><span 
class="delimiter">&quot;</span></span>);
 <span class="predefined-type">String</span> path = <span class="string"><span 
class="delimiter">&quot;</span><span 
class="content">hdfs://&lt;namenode&gt;:&lt;port&gt;/user/&lt;hadoop-user&gt;/coprocessor.jar</span><span
 class="delimiter">&quot;</span></span>;
 <span class="predefined-type">Configuration</span> conf = 
HBaseConfiguration.create();
-HBaseAdmin admin = <span class="keyword">new</span> HBaseAdmin(conf);
+<span class="predefined-type">Connection</span> connection = 
ConnectionFactory.createConnection(conf);
+Admin admin = connection.getAdmin();
 admin.disableTable(tableName);
 HTableDescriptor hTableDescriptor = <span class="keyword">new</span> 
HTableDescriptor(tableName);
 HColumnDescriptor columnFamily1 = <span class="keyword">new</span> 
HColumnDescriptor(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">personalDet</span><span 
class="delimiter">&quot;</span></span>);
@@ -19117,7 +19135,7 @@ Following are the implementation steps:</p>
 <ol class="arabic">
 <li>
 <p>Write a class that extends the
-<a 
href="https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.html";>BaseRegionObserver</a>
+<a 
href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.html";>BaseRegionObserver</a>
 class.</p>
 </li>
 <li>
@@ -19729,7 +19747,8 @@ tableDesc.addFamily(cfDesc);
 </div>
 </div>
 <div class="paragraph">
-<p>See the API documentation for <a 
href="https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html";>CacheConfig</a>.</p>
+<p>See the API documentation for
+<a 
href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html";>CacheConfig</a>.</p>
 </div>
 </div>
 <div class="sect2">
@@ -23442,10 +23461,14 @@ See <a 
href="https://issues.apache.org/jira/browse/HBASE-4391";>HBASE-4391 Add ab
 <div class="sect2">
 <h3 id="compaction.tool"><a class="anchor" href="#compaction.tool"></a>126.16. 
Offline Compaction Tool</h3>
 <div class="paragraph">
-<p>See the usage for the <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/regionserver/CompactionTool.html";>Compaction
-          Tool</a>.
-Run it like this ./bin/hbase
-          org.apache.hadoop.hbase.regionserver.CompactionTool</p>
+<p>See the usage for the
+<a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/regionserver/CompactionTool.html";>CompactionTool</a>.
+Run it like:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">$ ./bin/hbase 
org.apache.hadoop.hbase.regionserver.CompactionTool</code></pre>
+</div>
 </div>
 </div>
 <div class="sect2">
@@ -26218,13 +26241,6 @@ It is <a 
href="http://jira.codehaus.org/browse/MSITE-286";>officially
                         ugly</a> though.</p>
 </div>
 </div>
-<div class="sect3">
-<h4 id="build.snappy"><a class="anchor" href="#build.snappy"></a>140.1.8. 
Building in snappy compression support</h4>
-<div class="paragraph">
-<p>Pass <code>-Psnappy</code> to trigger the <code>hadoop-snappy</code> maven 
profile for building Google Snappy native libraries into HBase.
-See also <a 
href="#snappy.compression.installation">snappy.compression.installation</a></p>
-</div>
-</div>
 </div>
 </div>
 </div>
@@ -31971,7 +31987,7 @@ The length can be calculated from entryOffsets.</p>
 <div class="sect3">
 <h4 id="_file_info_format_in_versions_1_and_2"><a class="anchor" 
href="#_file_info_format_in_versions_1_and_2"></a>H.2.8. File Info format in 
versions 1 and 2</h4>
 <div class="paragraph">
-<p>The file info block is a serialized <a 
href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/HbaseMapWritable.html";>HbaseMapWritable</a>
 (essentially a map from byte arrays to byte arrays) with the following keys, 
among others.
+<p>The file info block is a serialized <a 
href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/io/HbaseMapWritable.html";>HbaseMapWritable</a>
 (essentially a map from byte arrays to byte arrays) with the following keys, 
among others.
 StoreFile-level logic adds more keys to this.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
@@ -32792,7 +32808,7 @@ The server will return cellblocks compressed using this 
same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 2.0.0-SNAPSHOT<br>
-Last updated 2015-11-05 09:17:27 +10:00
+Last updated 2015-11-07 15:37:35 +10:00
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase/blob/fc29f802/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index f13e36c..21fd185 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20151105" />
+    <meta name="Date-Revision-yyyymmdd" content="20151107" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -290,7 +290,7 @@ under the License. -->
                         <a href="http://www.apache.org/";>The Apache Software 
Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2015-11-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2015-11-07</li>
             </p>
                 </div>
 

Reply via email to