private boolean hasSituationConstraint(EvaluatedPolicyRule policyRule) { return hasSituationConstraint(policyRule.getPolicyConstraints()); }
@Override public String toDiagShortcut() { return super.toDiagShortcut() + sourceRules.stream() .map(sr -> PolicyRuleTypeUtil.toShortString(sr.getPolicyConstraints())) .distinct() .collect(Collectors.joining("+", "(", ")")); }
@Override protected boolean checkApplicability(Event event, GeneralNotifierType generalNotifierType, OperationResult result) { PolicyRuleEvent ruleEvent = (PolicyRuleEvent) event; PolicyConstraintsType policyConstraints = ruleEvent.getPolicyRule().getPolicyConstraints(); return policyConstraints != null && policyConstraints.getObjectTimeValidity() != null && !policyConstraints.getObjectTimeValidity().isEmpty(); }
LOGGER.trace("Evaluating policy rule {} in {}", ctx.policyRule.toShortString(), ctx.getShortDescription()); PolicyConstraintsType constraints = ctx.policyRule.getPolicyConstraints(); JAXBElement<PolicyConstraintsType> conjunction = new JAXBElement<>(F_AND, PolicyConstraintsType.class, constraints); EvaluatedCompositeTrigger trigger = compositeConstraintEvaluator.evaluate(conjunction, ctx, result);
EvaluatedPolicyRule rule1 = rules.get("rule1"); assertNotNull("no rule1", rule1); PolicyConstraintsType pc1 = rule1.getPolicyConstraints(); assertEquals(1, pc1.getAnd().size()); PolicyConstraintsType pc1inner = pc1.getAnd().get(0); PolicyConstraintsType pc2 = rule2.getPolicyConstraints(); assertEquals("mod-description-and-riskLevel-and-inducement", pc2.getName()); assertEquals("mod-riskLevel-and-inducement", pc2.getAnd().get(0).getName()); PolicyConstraintsType pc3 = rule3.getPolicyConstraints(); assertEquals("mod-riskLevel-and-inducement", pc3.getName()); assertEquals(2, pc3.getModification().size()); PolicyConstraintsType pc4 = rule4.getPolicyConstraints(); assertEquals(1, pc4.getModification().size()); assertEquals("mod-inducement", pc4.getModification().get(0).getName());