use of com.evolveum.midpoint.util.TreeNode in project midpoint by Evolveum.
the class EvaluatedTriggerGroupDto method initializeFromRules.
public static EvaluatedTriggerGroupDto initializeFromRules(List<EvaluatedPolicyRuleType> rules, boolean highlighted, UniquenessFilter uniquenessFilter) {
List<AugmentedTrigger<HighlightingInformation>> augmentedTriggers = new ArrayList<>();
for (EvaluatedPolicyRuleType rule : rules) {
for (EvaluatedPolicyRuleTriggerType trigger : rule.getTrigger()) {
augmentedTriggers.add(new AugmentedTrigger<>(trigger, new HighlightingInformation(highlighted)));
}
}
List<TreeNode<AugmentedTrigger<HighlightingInformation>>> triggerTrees = arrangeForPresentationExt(augmentedTriggers, uniquenessFilter);
return new EvaluatedTriggerGroupDto(null, triggerTrees);
}
use of com.evolveum.midpoint.util.TreeNode in project midpoint by Evolveum.
the class CaseManagementHelper method addChildren.
private void addChildren(TreeNode<CaseType> tree, OperationResult result) throws SchemaException {
ObjectQuery query = prismContext.queryFor(CaseType.class).item(CaseType.F_PARENT_REF).ref(tree.getUserObject().getOid()).build();
SearchResultList<PrismObject<CaseType>> children = repositoryService.searchObjects(CaseType.class, query, null, result);
for (PrismObject<CaseType> child : children) {
TreeNode<CaseType> childNode = new TreeNode<>(child.asObjectable());
tree.add(childNode);
addChildren(childNode, result);
}
}
use of com.evolveum.midpoint.util.TreeNode in project midpoint by Evolveum.
the class PolicySituationConstraintEvaluator method createMessage.
private LocalizableMessage createMessage(Collection<EvaluatedPolicyRule> sourceRules, JAXBElement<PolicySituationPolicyConstraintType> constraintElement, PolicyRuleEvaluationContext<?> ctx, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException {
// determine if there's a single message that could be retrieved
List<TreeNode<LocalizableMessage>> messageTrees = sourceRules.stream().flatMap(r -> r.extractMessages().stream()).collect(Collectors.toList());
LocalizableMessage builtInMessage;
if (messageTrees.size() == 1) {
builtInMessage = messageTrees.get(0).getUserObject();
} else {
builtInMessage = new LocalizableMessageBuilder().key(SchemaConstants.DEFAULT_POLICY_CONSTRAINT_KEY_PREFIX + CONSTRAINT_KEY).build();
}
return evaluatorHelper.createLocalizableMessage(constraintElement, ctx, builtInMessage, result);
}
use of com.evolveum.midpoint.util.TreeNode in project midpoint by Evolveum.
the class PolicySituationConstraintEvaluator method createShortMessage.
private LocalizableMessage createShortMessage(Collection<EvaluatedPolicyRule> sourceRules, JAXBElement<PolicySituationPolicyConstraintType> constraintElement, PolicyRuleEvaluationContext<?> ctx, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException {
// determine if there's a single message that could be retrieved
List<TreeNode<LocalizableMessage>> messageTrees = sourceRules.stream().flatMap(r -> r.extractShortMessages().stream()).collect(Collectors.toList());
LocalizableMessage builtInMessage;
if (messageTrees.size() == 1) {
builtInMessage = messageTrees.get(0).getUserObject();
} else {
builtInMessage = new LocalizableMessageBuilder().key(SchemaConstants.DEFAULT_POLICY_CONSTRAINT_SHORT_MESSAGE_KEY_PREFIX + CONSTRAINT_KEY).build();
}
return evaluatorHelper.createLocalizableShortMessage(constraintElement, ctx, builtInMessage, result);
}
Aggregations