}
if (requiredInputPrivileges.containsKey(getAuthzType(inputHierarchy))) {
EnumSet<Action> inputPrivSet =
requiredInputPrivileges.get(getAuthzType(inputHierarchy));
if (!authProvider.hasAccess(subject, inputHierarchy, inputPrivSet)) {
throw new AuthorizationException("User " + subject.getName() +
" does not have privileges for " + hiveOp.name());
}
}
}
// Check write entities
Map<AuthorizableType, EnumSet<Action>> requiredOutputPrivileges =
stmtAuthPrivileges.getOutputPrivileges();
for (List<Authorizable> outputHierarchy : outputHierarchyList) {
if(isDebug) {
LOG.debug("requiredOutputPrivileges = " + requiredOutputPrivileges);
LOG.debug("outputHierarchy = " + outputHierarchy);
LOG.debug("getAuthzType(outputHierarchy) = " + getAuthzType(outputHierarchy));
}
if (requiredOutputPrivileges.containsKey(getAuthzType(outputHierarchy))) {
EnumSet<Action> outputPrivSet =
requiredOutputPrivileges.get(getAuthzType(outputHierarchy));
if (!authProvider.hasAccess(subject, outputHierarchy, outputPrivSet)) {
throw new AuthorizationException("User " + subject.getName() +
" does not have priviliedges for " + hiveOp.name());
}
}
}
}