@Override public String[] resolveMessageCodes(String errorCode) { return getMessageCodesResolver().resolveMessageCodes(errorCode, getObjectName()); }
@Override public String[] resolveMessageCodes(String errorCode, @Nullable String field) { return getMessageCodesResolver().resolveMessageCodes( errorCode, getObjectName(), fixedField(field), getFieldType(field)); }
@Override public String[] resolveMessageCodes(String errorCode) { return getMessageCodesResolver().resolveMessageCodes(errorCode, getObjectName()); }
@Override public String[] resolveMessageCodes(String errorCode, @Nullable String field) { return getMessageCodesResolver().resolveMessageCodes( errorCode, getObjectName(), fixedField(field), getFieldType(field)); }
@Test public void webBindingInitializer() throws Exception { RequestMappingHandlerAdapter adapter = this.config.requestMappingHandlerAdapter(); ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) adapter.getWebBindingInitializer(); assertNotNull(initializer); BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(null, ""); initializer.getValidator().validate(null, bindingResult); assertEquals("invalid", bindingResult.getAllErrors().get(0).getCode()); String[] codes = initializer.getMessageCodesResolver().resolveMessageCodes("invalid", null); assertEquals("custom.invalid", codes[0]); }
/** * @see MessageCodesResolver#resolveMessageCodes(String, String) */ public String[] resolveMessageCodes(String errorCode, String objectName) { int prefixIndex = errorCode.lastIndexOf(ModelAwareErrorCodeConverter.ERROR_CODE_SEPERATOR_PREFIX); int suffixIndex = errorCode.lastIndexOf(ModelAwareErrorCodeConverter.ERROR_CODE_SEPERATOR_SUFFIX); if (prefixIndex < 0 || suffixIndex < 0 || suffixIndex != errorCode.length() - 1) { return internalResolver.resolveMessageCodes(errorCode, objectName); } String basicCode = errorCode.substring(prefixIndex + 1, suffixIndex); String[] basicCodes = internalResolver.resolveMessageCodes(basicCode, objectName); String[] codes = new String[basicCodes.length + 1]; System.arraycopy(basicCodes, 0, codes, 1, basicCodes.length); codes[0] = errorCode; return codes; }
protected MessageResolver createMessageResolver(MappingResult error) { String model = getModelExpression().getExpressionString(); String field = error.getMapping().getTargetExpression().getExpressionString(); Class<?> fieldType = error.getMapping().getTargetExpression().getValueType(getModelObject()); String[] messageCodes = messageCodesResolver.resolveMessageCodes(error.getCode(), model, field, fieldType); return new MessageBuilder().error().source(field).codes(messageCodes).resolvableArg(field) .defaultText(error.getCode() + " on " + field).build(); }
/** * @see MessageCodesResolver#resolveMessageCodes(String, String, String, Class) */ public String[] resolveMessageCodes(String errorCode, String objectName, String field, Class fieldType) { int prefixIndex = errorCode.lastIndexOf(ModelAwareErrorCodeConverter.ERROR_CODE_SEPERATOR_PREFIX); int suffixIndex = errorCode.lastIndexOf(ModelAwareErrorCodeConverter.ERROR_CODE_SEPERATOR_SUFFIX); if (prefixIndex < 0 || suffixIndex < 0 || suffixIndex != errorCode.length() - 1) { return internalResolver.resolveMessageCodes(errorCode, objectName, field, fieldType); } String basicCode = errorCode.substring(prefixIndex + 1, suffixIndex); String[] basicCodes = internalResolver.resolveMessageCodes(basicCode, objectName, field, fieldType); String[] codes = new String[basicCodes.length + 1]; System.arraycopy(basicCodes, 0, codes, 1, basicCodes.length); codes[0] = errorCode; return codes; } }
/** * Resolve the given error code into message codes. * Calls the MessageCodesResolver with appropriate parameters. * @param errorCode the error code to resolve into message codes * @return the resolved message codes * @see #setMessageCodesResolver */ private String[] resolveMessageCodes(String errorCode) { return messageCodesResolver.resolveMessageCodes(errorCode, getObjectName()); }
@Override public String[] resolveMessageCodes(String errorCode) { return getMessageCodesResolver().resolveMessageCodes(errorCode, getObjectName()); }
@Override public String[] resolveMessageCodes(String errorCode, @Nullable String field) { return getMessageCodesResolver().resolveMessageCodes( errorCode, getObjectName(), fixedField(field), getFieldType(field)); }
public void testRejectUsesObjectName() { EasyMock.expect(resolver.resolveMessageCodes(errorCode, objectName)).andReturn(new String[] {}); EasyMock.replay(resolver); Object object = new Object(); MessageContextErrors errors = new MessageContextErrors(context, objectName, object, null, resolver, null); errors.reject(errorCode, "doesntmatter"); EasyMock.verify(resolver); }
private String[] resolveMessageCodes(String errorCode, String field) { String fixedField = fixedField(field); Class<?> fieldType = getFieldType(fixedField); return messageCodesResolver.resolveMessageCodes(errorCode, getObjectName(), fixedField, fieldType); }
public void testRejectValueUsesObjectName() { EasyMock.expect(resolver.resolveMessageCodes(errorCode, objectName, "field", null)).andReturn(new String[] {}); EasyMock.replay(resolver); MessageContextErrors errors = new MessageContextErrors(context, objectName, new Object(), null, resolver, null); errors.rejectValue("field", errorCode, new Object[] {}, "doesntmatter"); EasyMock.verify(resolver); }
public void testRejectValueEmptyField() { EasyMock.expect(resolver.resolveMessageCodes(errorCode, objectName)).andReturn(new String[] {}); EasyMock.replay(resolver); MessageContextErrors errors = new MessageContextErrors(context, objectName, new Object(), null, resolver, null); errors.rejectValue(null, errorCode, new Object[] {}, "doesntmatter"); EasyMock.verify(resolver); }
public void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage) { field = fixedField(field); Class<?> fieldType; if (StringUtils.hasLength(field) && (expressionParser != null)) { FluentParserContext parserContext = new FluentParserContext().evaluate(boundObject.getClass()); fieldType = expressionParser.parseExpression(field, parserContext).getValueType(boundObject); } else { fieldType = null; } String[] messageCodes; if (StringUtils.hasLength(field)) { messageCodes = bindingErrorMessageCodesResolver .resolveMessageCodes(errorCode, objectName, field, fieldType); } else { messageCodes = bindingErrorMessageCodesResolver.resolveMessageCodes(errorCode, objectName); } messageContext.addMessage(new MessageBuilder().error().source(field).codes(messageCodes).args(errorArgs) .defaultText(defaultMessage).build()); }
public void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage) { field = fixedField(field); Class<?> fieldType; if (StringUtils.hasLength(field) && (expressionParser != null)) { FluentParserContext parserContext = new FluentParserContext().evaluate(boundObject.getClass()); fieldType = expressionParser.parseExpression(field, parserContext).getValueType(boundObject); } else { fieldType = null; } String[] messageCodes; if (StringUtils.hasLength(field)) { messageCodes = bindingErrorMessageCodesResolver .resolveMessageCodes(errorCode, objectName, field, fieldType); } else { messageCodes = bindingErrorMessageCodesResolver.resolveMessageCodes(errorCode, objectName); } messageContext.addMessage(new MessageBuilder().error().source(field).codes(messageCodes).args(errorArgs) .defaultText(defaultMessage).build()); }
public void reject(String errorCode, Object[] errorArgs, String defaultMessage) { String[] messageCodes = bindingErrorMessageCodesResolver.resolveMessageCodes(errorCode, objectName); messageContext.addMessage(new MessageBuilder().error().codes(messageCodes).args(errorArgs) .defaultText(defaultMessage).build()); }
public void reject(String errorCode, Object[] errorArgs, String defaultMessage) { String[] messageCodes = bindingErrorMessageCodesResolver.resolveMessageCodes(errorCode, objectName); messageContext.addMessage(new MessageBuilder().error().codes(messageCodes).args(errorArgs) .defaultText(defaultMessage).build()); }
protected MessageResolver createMessageResolver(MappingResult error) { String model = getModelExpression().getExpressionString(); String field = error.getMapping().getTargetExpression().getExpressionString(); Class<?> fieldType = error.getMapping().getTargetExpression().getValueType(getModelObject()); String[] messageCodes = messageCodesResolver.resolveMessageCodes(error.getCode(), model, field, fieldType); return new MessageBuilder().error().source(field).codes(messageCodes).resolvableArg(field) .defaultText(error.getCode() + " on " + field).build(); }