Search in sources :

Example 21 with LocalizableMessageBuilder

use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.

the class ModelHelper method determineRootCaseName.

/**
 * Determines the root task name (e.g. "Workflow for adding XYZ (started 1.2.2014 10:34)")
 * TODO allow change processor to influence this name
 */
private LocalizableMessage determineRootCaseName(ModelInvocationContext<?> ctx) {
    String operationKey;
    ModelElementContext<?> focusContext = ctx.modelContext.getFocusContext();
    if (focusContext != null && focusContext.getPrimaryDelta() != null && focusContext.getPrimaryDelta().getChangeType() != null) {
        switch(focusContext.getPrimaryDelta().getChangeType()) {
            case ADD:
                operationKey = CREATION_OF_KEY;
                break;
            case DELETE:
                operationKey = DELETION_OF_KEY;
                break;
            case MODIFY:
                operationKey = CHANGE_OF_KEY;
                break;
            default:
                throw new IllegalStateException();
        }
    } else {
        operationKey = CHANGE_OF_KEY;
    }
    ObjectType focus = ctx.getFocusObjectNewOrOld();
    String time = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).withLocale(Locale.getDefault()).format(ZonedDateTime.now());
    return new LocalizableMessageBuilder().key(APPROVING_AND_EXECUTING_KEY + operationKey).arg(ObjectTypeUtil.createDisplayInformation(asPrismObject(focus), false)).arg(time).build();
}
Also used : ObjectType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType) LocalizableMessageBuilder(com.evolveum.midpoint.util.LocalizableMessageBuilder)

Example 22 with LocalizableMessageBuilder

use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.

the class StateConstraintEvaluator method createBuiltInMessage.

@NotNull
private <AH extends AssignmentHolderType> LocalizableMessage createBuiltInMessage(String keyPrefix, JAXBElement<StatePolicyConstraintType> constraintElement, PolicyRuleEvaluationContext<AH> ctx, boolean assignmentTarget, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException {
    StatePolicyConstraintType constraint = constraintElement.getValue();
    List<Object> args = new ArrayList<>();
    args.add(evaluatorHelper.createBeforeAfterMessage(ctx));
    if (assignmentTarget) {
        addAssignmentTargetArgument(args, ctx);
    }
    String keySuffix;
    if (constraint.getName() != null) {
        args.add(constraint.getName());
        keySuffix = KEY_NAMED;
    } else {
        keySuffix = KEY_UNNAMED;
    }
    LocalizableMessage builtInMessage = new LocalizableMessageBuilder().key(keyPrefix + keySuffix).args(args).build();
    return evaluatorHelper.createLocalizableMessage(constraintElement, ctx, builtInMessage, result);
}
Also used : LocalizableMessage(com.evolveum.midpoint.util.LocalizableMessage) StatePolicyConstraintType(com.evolveum.midpoint.xml.ns._public.common.common_3.StatePolicyConstraintType) LocalizableMessageBuilder(com.evolveum.midpoint.util.LocalizableMessageBuilder) NotNull(org.jetbrains.annotations.NotNull)

Example 23 with LocalizableMessageBuilder

use of com.evolveum.midpoint.util.LocalizableMessageBuilder 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);
}
Also used : SchemaConstants(com.evolveum.midpoint.schema.constants.SchemaConstants) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ConfigurationException(com.evolveum.midpoint.util.exception.ConfigurationException) SchemaException(com.evolveum.midpoint.util.exception.SchemaException) Autowired(org.springframework.beans.factory.annotation.Autowired) ExpressionEvaluationException(com.evolveum.midpoint.util.exception.ExpressionEvaluationException) SecurityViolationException(com.evolveum.midpoint.util.exception.SecurityViolationException) EvaluatedPolicyRule(com.evolveum.midpoint.model.api.context.EvaluatedPolicyRule) EvaluatedAssignmentImpl(com.evolveum.midpoint.model.impl.lens.assignments.EvaluatedAssignmentImpl) LocalizableMessage(com.evolveum.midpoint.util.LocalizableMessage) EvaluatedSituationTrigger(com.evolveum.midpoint.model.api.context.EvaluatedSituationTrigger) AssignmentHolderType(com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentHolderType) ObjectNotFoundException(com.evolveum.midpoint.util.exception.ObjectNotFoundException) JAXBElement(javax.xml.bind.JAXBElement) Collection(java.util.Collection) AssignmentPolicyRuleEvaluationContext(com.evolveum.midpoint.model.impl.lens.projector.policy.AssignmentPolicyRuleEvaluationContext) PolicyRuleEvaluationContext(com.evolveum.midpoint.model.impl.lens.projector.policy.PolicyRuleEvaluationContext) PolicySituationPolicyConstraintType(com.evolveum.midpoint.xml.ns._public.common.common_3.PolicySituationPolicyConstraintType) LocalizableMessageBuilder(com.evolveum.midpoint.util.LocalizableMessageBuilder) TreeNode(com.evolveum.midpoint.util.TreeNode) Collectors(java.util.stream.Collectors) Component(org.springframework.stereotype.Component) List(java.util.List) CommunicationException(com.evolveum.midpoint.util.exception.CommunicationException) NotNull(org.jetbrains.annotations.NotNull) TreeNode(com.evolveum.midpoint.util.TreeNode) LocalizableMessage(com.evolveum.midpoint.util.LocalizableMessage) LocalizableMessageBuilder(com.evolveum.midpoint.util.LocalizableMessageBuilder)

Example 24 with LocalizableMessageBuilder

use of com.evolveum.midpoint.util.LocalizableMessageBuilder 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);
}
Also used : SchemaConstants(com.evolveum.midpoint.schema.constants.SchemaConstants) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ConfigurationException(com.evolveum.midpoint.util.exception.ConfigurationException) SchemaException(com.evolveum.midpoint.util.exception.SchemaException) Autowired(org.springframework.beans.factory.annotation.Autowired) ExpressionEvaluationException(com.evolveum.midpoint.util.exception.ExpressionEvaluationException) SecurityViolationException(com.evolveum.midpoint.util.exception.SecurityViolationException) EvaluatedPolicyRule(com.evolveum.midpoint.model.api.context.EvaluatedPolicyRule) EvaluatedAssignmentImpl(com.evolveum.midpoint.model.impl.lens.assignments.EvaluatedAssignmentImpl) LocalizableMessage(com.evolveum.midpoint.util.LocalizableMessage) EvaluatedSituationTrigger(com.evolveum.midpoint.model.api.context.EvaluatedSituationTrigger) AssignmentHolderType(com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentHolderType) ObjectNotFoundException(com.evolveum.midpoint.util.exception.ObjectNotFoundException) JAXBElement(javax.xml.bind.JAXBElement) Collection(java.util.Collection) AssignmentPolicyRuleEvaluationContext(com.evolveum.midpoint.model.impl.lens.projector.policy.AssignmentPolicyRuleEvaluationContext) PolicyRuleEvaluationContext(com.evolveum.midpoint.model.impl.lens.projector.policy.PolicyRuleEvaluationContext) PolicySituationPolicyConstraintType(com.evolveum.midpoint.xml.ns._public.common.common_3.PolicySituationPolicyConstraintType) LocalizableMessageBuilder(com.evolveum.midpoint.util.LocalizableMessageBuilder) TreeNode(com.evolveum.midpoint.util.TreeNode) Collectors(java.util.stream.Collectors) Component(org.springframework.stereotype.Component) List(java.util.List) CommunicationException(com.evolveum.midpoint.util.exception.CommunicationException) NotNull(org.jetbrains.annotations.NotNull) TreeNode(com.evolveum.midpoint.util.TreeNode) LocalizableMessage(com.evolveum.midpoint.util.LocalizableMessage) LocalizableMessageBuilder(com.evolveum.midpoint.util.LocalizableMessageBuilder)

Aggregations

LocalizableMessageBuilder (com.evolveum.midpoint.util.LocalizableMessageBuilder)24 LocalizableMessage (com.evolveum.midpoint.util.LocalizableMessage)17 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)11 StringLimitationResult (com.evolveum.midpoint.model.api.validator.StringLimitationResult)7 NotNull (org.jetbrains.annotations.NotNull)7 SchemaException (com.evolveum.midpoint.util.exception.SchemaException)4 PolyStringTranslationType (com.evolveum.prism.xml.ns._public.types_3.PolyStringTranslationType)4 PolyStringType (com.evolveum.prism.xml.ns._public.types_3.PolyStringType)4 PrismObject (com.evolveum.midpoint.prism.PrismObject)3 SchemaConstants (com.evolveum.midpoint.schema.constants.SchemaConstants)3 CommunicationException (com.evolveum.midpoint.util.exception.CommunicationException)3 ConfigurationException (com.evolveum.midpoint.util.exception.ConfigurationException)3 ExpressionEvaluationException (com.evolveum.midpoint.util.exception.ExpressionEvaluationException)3 ObjectNotFoundException (com.evolveum.midpoint.util.exception.ObjectNotFoundException)3 EvaluatedPolicyRule (com.evolveum.midpoint.model.api.context.EvaluatedPolicyRule)2 EvaluatedSituationTrigger (com.evolveum.midpoint.model.api.context.EvaluatedSituationTrigger)2 EvaluatedAssignmentImpl (com.evolveum.midpoint.model.impl.lens.assignments.EvaluatedAssignmentImpl)2 AssignmentPolicyRuleEvaluationContext (com.evolveum.midpoint.model.impl.lens.projector.policy.AssignmentPolicyRuleEvaluationContext)2 PolicyRuleEvaluationContext (com.evolveum.midpoint.model.impl.lens.projector.policy.PolicyRuleEvaluationContext)2 PolyString (com.evolveum.midpoint.prism.polystring.PolyString)2