static void initializeAcl(final String zooKeeperConnectionString,
final String zooKeeperClusterId,
final String masterUser,
final String masterPassword,
final String agentUser,
final String agentPassword)
throws KeeperException {
final ACLProvider aclProvider = heliosAclProvider(
masterUser, digest(masterUser, masterPassword),
agentUser, digest(agentUser, agentPassword));
final List<AuthInfo> authorization = Lists.newArrayList(new AuthInfo(
"digest", String.format("%s:%s", masterUser, masterPassword).getBytes()));
final RetryPolicy zooKeeperRetryPolicy = new ExponentialBackoffRetry(1000, 3);
final CuratorFramework curator = new CuratorClientFactoryImpl().newClient(
zooKeeperConnectionString,
(int) TimeUnit.SECONDS.toMillis(60),
(int) TimeUnit.SECONDS.toMillis(15),
zooKeeperRetryPolicy,
aclProvider,
authorization);
final ZooKeeperClient client = new DefaultZooKeeperClient(curator, zooKeeperClusterId);
try {
client.start();
initializeAclRecursive(client, "/", aclProvider);
} finally {
client.close();
}
}