use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.
the class OrphanedConstraintEvaluator method createBuiltInMessage.
@NotNull
private <AH extends AssignmentHolderType> LocalizableMessage createBuiltInMessage(String keyPrefix, JAXBElement<OrphanedPolicyConstraintType> constraintElement, PolicyRuleEvaluationContext<AH> ctx, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException {
OrphanedPolicyConstraintType constraint = constraintElement.getValue();
List<Object> args = new ArrayList<>();
args.add(evaluatorHelper.createBeforeAfterMessage(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);
}
use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.
the class AssignmentModificationConstraintEvaluator method createMessage.
private <AH extends AssignmentHolderType> LocalizableMessage createMessage(JAXBElement<AssignmentModificationPolicyConstraintType> constraint, AssignmentPolicyRuleEvaluationContext<AH> ctx, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException {
String keyPostfix = createStateKey(ctx) + createOperationKey(ctx);
QName relation = ctx.evaluatedAssignment.getNormalizedRelation();
LocalizableMessage builtInMessage = new LocalizableMessageBuilder().key(SchemaConstants.DEFAULT_POLICY_CONSTRAINT_KEY_PREFIX + CONSTRAINT_KEY_PREFIX + keyPostfix).arg(ObjectTypeUtil.createDisplayInformation(ctx.evaluatedAssignment.getTarget(), false)).arg(relation != null ? relation.getLocalPart() : null).build();
return evaluatorHelper.createLocalizableMessage(constraint, ctx, builtInMessage, result);
}
use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.
the class AssignmentModificationConstraintEvaluator method createShortMessage.
private <AH extends AssignmentHolderType> LocalizableMessage createShortMessage(JAXBElement<AssignmentModificationPolicyConstraintType> constraint, AssignmentPolicyRuleEvaluationContext<AH> ctx, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException {
String keyPostfix = createStateKey(ctx) + createOperationKey(ctx);
QName relation = ctx.evaluatedAssignment.getNormalizedRelation();
LocalizableMessage builtInMessage;
if (relation == null || relation == prismContext.getDefaultRelation()) {
builtInMessage = new LocalizableMessageBuilder().key(SchemaConstants.DEFAULT_POLICY_CONSTRAINT_SHORT_MESSAGE_KEY_PREFIX + CONSTRAINT_KEY_PREFIX + keyPostfix).arg(ObjectTypeUtil.createDisplayInformation(ctx.evaluatedAssignment.getTarget(), false)).arg(ObjectTypeUtil.createDisplayInformation(ctx.getObject(), false)).build();
} else {
// non-default relation = print relation to short message
builtInMessage = new LocalizableMessageBuilder().key(SchemaConstants.DEFAULT_POLICY_CONSTRAINT_SHORT_REL_MESSAGE_KEY_PREFIX + CONSTRAINT_KEY_PREFIX + keyPostfix).arg(ObjectTypeUtil.createDisplayInformation(ctx.evaluatedAssignment.getTarget(), false)).arg(ObjectTypeUtil.createDisplayInformation(ctx.getObject(), false)).arg(relation.getLocalPart()).build();
}
return evaluatorHelper.createLocalizableShortMessage(constraint, ctx, builtInMessage, result);
}
use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.
the class LocalizationTest method assertTranslation.
private void assertTranslation(LocalizationService service, String key, String defaultValue, String expectedValue) {
Locale locale = new Locale("sk");
String real = service.translate(key, null, locale, defaultValue);
AssertJUnit.assertEquals("Expected translation for key '" + key + "' was '" + expectedValue + "', real '" + real + "'", expectedValue, real);
LocalizableMessage msg = new LocalizableMessageBuilder().key(key).fallbackMessage(defaultValue).build();
real = service.translate(msg, locale);
AssertJUnit.assertEquals("Expected translation for localization message key '" + key + "' was '" + expectedValue + "', real '" + real + "'", expectedValue, real);
}
use of com.evolveum.midpoint.util.LocalizableMessageBuilder in project midpoint by Evolveum.
the class LocalizationTest method localizationParams.
@Test
public void localizationParams() {
Object[] params = new Object[3];
params[0] = 123;
params[1] = new LocalizableMessageBuilder().key("someunknownkey").fallbackMessage("fallback").build();
params[2] = "Joe";
String real = service.translate("joekey", params, new Locale("sk"));
String expected = "User Joe with id 123 tried to translate fallback";
AssertJUnit.assertEquals(expected, real);
}
Aggregations