Description
Objectives are:
- Encapsulate Ranger policy evaluators into a class (PolicyEngine)
- Separate Ranger Policy Engine APIs based on their users (plugin or ranger-admin), and define corresponding wrapper interfaces (RangerPolicyEngine and RangerServicePoliciesAdmin). Provide their respective implementation classes.
- Remove unused functionality (keeping usage-counts, re-ordering policy-evaluators based on their usage, etc.)
- Separate out request preprocessing into a separate interface (RangerAccessRequestProcessor) which wraps context-enrichers and roles for pre-processing/enriching access request.
- Optimize Trie for incremental changes (adds/deletes)
- Assorted code clean-up.