/** * Checks the keys in the Map on the model against a Set to ensure there are no values in the * Map that aren't also in the Set */ protected void checkAttributesMap( MessageContext context, String basePath, Set<String> swappableAttributes, Map<String, Attribute> attributesToCopy) { for (final String attribute : attributesToCopy.keySet()) { if (!swappableAttributes.contains(attribute)) { final MessageBuilder messageBuilder = new MessageBuilder(); messageBuilder.error(); messageBuilder.source(basePath + "[" + attribute + "].value"); messageBuilder.code("x.is.not.a.valid.attribute"); messageBuilder.arg(attribute); final MessageResolver errorMessage = messageBuilder.build(); context.addMessage(errorMessage); } } } }
final MessageResolver resolver = new MessageBuilder().source(CODE).info().code(CODE).arg(personId).build(); messageContext.addMessage(resolver);
/** * Checks if is valid login ticket. * * @param context the context * @param messageContext the message context * * @return true, if is valid login ticket */ protected final boolean isValidLoginTicket(final RequestContext context, final MessageContext messageContext) { final String authoritativeLoginTicket = WebUtils.getLoginTicketFromFlowScope(context); final String providedLoginTicket = WebUtils.getLoginTicketFromRequest(context); if (!authoritativeLoginTicket.equals(providedLoginTicket)) { logger.warn("Invalid login ticket {}", providedLoginTicket); final String code = "INVALID_TICKET"; messageContext.addMessage(new MessageBuilder().error().code(code).arg(providedLoginTicket).defaultText(code).build()); return false; } return true; }
/** Ensures all passed attributes are part of the valid query attribute set. */ public void validatePersonLookup(PersonQuery personQuery, MessageContext context) { final RequestContext requestContext = RequestContextHolder.getRequestContext(); final ExternalContext externalContext = requestContext.getExternalContext(); final Set<String> queryAttributes = personLookupHelper.getQueryAttributes(externalContext); final Map<String, Attribute> attributes = personQuery.getAttributes(); for (final String attribute : attributes.keySet()) { if (!queryAttributes.contains(attribute)) { final MessageBuilder messageBuilder = new MessageBuilder(); messageBuilder.error(); messageBuilder.source("attributes[" + attribute + "].value"); messageBuilder.code("personLookup.invalidQueryAttribute"); messageBuilder.arg(attribute); final MessageResolver errorMessage = messageBuilder.build(); context.addMessage(errorMessage); } } } }
public void testBuildArg() { MessageResolver resolver = builder.error().code("bar").arg("baz").build(); Message message = resolver.resolveMessage(messageSource, locale); assertEquals("baz", message.getText()); assertEquals(Severity.ERROR, message.getSeverity()); assertNull(message.getSource()); }
public void testResolveMessageWithArgs() { context.addMessage(new MessageBuilder().error().source(this).code("argmessage").arg("Keith") .defaultText("Hello world fallback!").build()); Message[] messages = context.getAllMessages(); assertEquals(1, messages.length); assertEquals("Hello world Keith!", messages[0].getText()); assertEquals(Severity.ERROR, messages[0].getSeverity()); assertEquals(this, messages[0].getSource()); }
public void testResolveMessageWithMultipleCodes() { context.addMessage(new MessageBuilder().error().source(this).code("bogus").code("argmessage").arg("Keith") .defaultText("Hello world fallback!").build()); Message[] messages = context.getMessagesBySource(this); assertEquals(1, messages.length); assertEquals("Hello world Keith!", messages[0].getText()); assertEquals(Severity.ERROR, messages[0].getSeverity()); assertEquals(this, messages[0].getSource()); }