39 Policy parentPolicy = evaluation.getParentPolicy();
40 ResourcePermission permission = evaluation.getPermission();
42 if (parentPolicy != null) {
43 if (parentPolicy.equals(evaluation.getPolicy())) {
44 results.computeIfAbsent(permission, permission1 -> {
45 for (Result result :
results.values()) {
46 Result.PolicyResult policyResult = result.getPolicy(parentPolicy);
48 if (policyResult != null) {
49 Result newResult =
new Result(permission1, evaluation);
50 Result.PolicyResult newPolicyResult = newResult.policy(parentPolicy);
52 for (Result.PolicyResult associatePolicy : policyResult.getAssociatedPolicies()) {
53 newPolicyResult.policy(associatePolicy.getPolicy(), associatePolicy.getEffect());
56 Map<String, Set<String>> claims = result.getPermission().getClaims();
58 if (!claims.isEmpty()) {
59 permission1.addClaims(claims);
67 }).policy(parentPolicy);
69 results.computeIfAbsent(permission, p ->
new Result(p, evaluation)).policy(parentPolicy).policy(evaluation.getPolicy(), evaluation.getEffect());
72 results.computeIfAbsent(permission, p ->
new Result(p, evaluation)).setStatus(evaluation.getEffect());
final Map< ResourcePermission, Result > results
Definition: AbstractDecisionCollector.java:35