static String writeGrantInfo(Set<TSentryPrivilege> privileges, String roleName) {
if (privileges == null || privileges.isEmpty()) {
return "";
}
StringBuilder builder = new StringBuilder();
for (TSentryPrivilege privilege : privileges) {
if (PrivilegeScope.URI.name().equalsIgnoreCase(
privilege.getPrivilegeScope())) {
appendNonNull(builder, privilege.getURI(), true);
} else if(PrivilegeScope.SERVER.name().equalsIgnoreCase(
privilege.getPrivilegeScope())) {
appendNonNull(builder, "*", true);
} else {
appendNonNull(builder, privilege.getDbName(), true);
}
appendNonNull(builder, privilege.getTableName());
appendNonNull(builder, null);
appendNonNull(builder, privilege.getColumnName());
appendNonNull(builder, roleName);
appendNonNull(builder, "ROLE");
appendNonNull(builder, privilege.getAction());
appendNonNull(builder,
TSentryGrantOption.TRUE.equals(privilege.getGrantOption()));
appendNonNull(builder, privilege.getCreateTime() * 1000L);
appendNonNull(builder, "--");
}
LOG.info("builder.toString(): " + builder.toString());
return builder.toString();
}