private boolean invokeDefaultValidateMethod(Object model) { // preferred Method validateMethod = ReflectionUtils.findMethod(model.getClass(), "validate", ValidationContext.class); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking default model validation method 'validate(ValidationContext)'"); } ReflectionUtils.invokeMethod(validateMethod, model, new DefaultValidationContext(requestContext, eventId, mappingResults)); return true; } // mvc 2 compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), "validate", Errors.class); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking default model validation method 'validate(Errors)'"); } MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); ReflectionUtils.invokeMethod(validateMethod, model, errors); return true; } return false; }
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 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); }
public Object getFieldValue(String field) { field = fixedField(field); // requires boundObject and expressionParser to be set to work if (mappingResults != null) { List<MappingResult> results = mappingResults.getResults(new PropertyErrorMappingResult(field)); if (!results.isEmpty()) { MappingResult fieldError = results.get(0); return fieldError.getOriginalValue(); } } return parseFieldExpression(field).getValue(boundObject); }
public void addAllErrors(Errors errors) { Iterator it = errors.getAllErrors().iterator(); while (it.hasNext()) { ObjectError error = (ObjectError) it.next(); if (error instanceof FieldError) { FieldError fieldError = (FieldError) error; rejectValue(fieldError.getField(), error.getCode(), error.getArguments(), error.getDefaultMessage()); } else { reject(error.getCode(), error.getArguments(), error.getDefaultMessage()); } } }
public Object getFieldValue(String field) { // requires boundObject, and expressionParser to work if (mappingResults != null) { List results = mappingResults.getResults(new PropertyErrorMappingResult(field)); if (!results.isEmpty()) { MappingResult fieldError = (MappingResult) results.get(0); return fieldError.getOriginalValue(); } } return parseFieldExpression(field).getValue(boundObject); }
public void testGlobalError() { errors.rejectValue(null, "bar", new Object[] { "boop" }, null); Message msg = context.getAllMessages()[0]; assertEquals("", msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); }
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 testReject() { errors.reject("foo"); errors.reject("bogus", "baz"); errors.reject("bar", new Object[] { "boop" }, null); Message msg = context.getAllMessages()[0]; assertEquals(null, msg.getSource()); assertEquals("bar", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[1]; assertEquals(null, msg.getSource()); assertEquals("baz", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[2]; assertEquals(null, msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); }
public void testAddAllErrors() { MapBindingResult result = new MapBindingResult(new HashMap<>(), "object"); result.reject("bar", new Object[] { "boop" }, null); result.rejectValue("field", "bar", new Object[] { "boop" }, null); errors.addAllErrors(result); Message msg = context.getAllMessages()[0]; assertEquals(null, msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[1]; assertEquals("field", msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); }
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 Object getFieldValue(String field) { field = fixedField(field); // requires boundObject and expressionParser to be set to work if (mappingResults != null) { List<MappingResult> results = mappingResults.getResults(new PropertyErrorMappingResult(field)); if (!results.isEmpty()) { MappingResult fieldError = results.get(0); return fieldError.getOriginalValue(); } } return parseFieldExpression(field).getValue(boundObject); }
public void testRejectValue() { errors.rejectValue("class", "foo"); errors.rejectValue("class", "bogus", "baz"); errors.rejectValue("class", "bar", new Object[] { "boop" }, null); Message msg = context.getAllMessages()[0]; assertEquals("class", msg.getSource()); assertEquals("bar", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[1]; assertEquals("class", msg.getSource()); assertEquals("baz", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); msg = context.getAllMessages()[2]; assertEquals("class", msg.getSource()); assertEquals("boop", msg.getText()); assertEquals(Severity.ERROR, msg.getSeverity()); }
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()); }
private boolean invokeValidateMethodForCurrentState(Object model) { String methodName = "validate" + StringUtils.capitalize(requestContext.getCurrentState().getId()); // preferred Method validateMethod = ReflectionUtils.findMethod(model.getClass(), methodName, ValidationContext.class); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking current state model validation method '" + methodName + "(ValidationContext)'"); } ReflectionUtils.invokeMethod(validateMethod, model, new DefaultValidationContext(requestContext, eventId, mappingResults)); return true; } // web flow 2.0.3 or < compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), methodName, MessageContext.class); if (validateMethod != null) { ReflectionUtils.invokeMethod(validateMethod, model, requestContext.getMessageContext()); return true; } // mvc 2 compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), methodName, Errors.class); if (validateMethod != null) { MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); if (logger.isDebugEnabled()) { logger.debug("Invoking current state model validation method '" + methodName + "(Errors)'"); } ReflectionUtils.invokeMethod(validateMethod, model, errors); return true; } return false; }
MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); + ".validate(" + ClassUtils.getShortName(model.getClass()) + ", Errors)'"); MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); ReflectionUtils.invokeMethod(validateMethod, validator, model, errors);
+ ClassUtils.getShortName(model.getClass()) + ", Errors)'"); MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); ReflectionUtils.invokeMethod(validateMethod, validator, model, errors);
private boolean invokeDefaultValidateMethod(Object model) { // preferred Method validateMethod = ReflectionUtils.findMethod(model.getClass(), "validate", ValidationContext.class); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking default model validation method 'validate(ValidationContext)'"); } ReflectionUtils.invokeMethod(validateMethod, model, new DefaultValidationContext(requestContext, eventId, mappingResults)); return true; } // mvc 2 compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), "validate", Errors.class); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking default model validation method 'validate(Errors)'"); } MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); ReflectionUtils.invokeMethod(validateMethod, model, errors); return true; } return false; }
private boolean invokeDefaultValidateMethod(Object model) { // preferred Method validateMethod = ReflectionUtils.findMethod(model.getClass(), "validate", new Class[] { ValidationContext.class }); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking default model validation method 'validate(ValidationContext)'"); } ReflectionUtils.invokeMethod(validateMethod, model, new Object[] { new DefaultValidationContext( requestContext, eventId, mappingResults) }); return true; } // mvc 2 compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), "validate", new Class[] { Errors.class }); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking default model validation method 'validate(Errors)'"); } MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, mappingResults); ReflectionUtils.invokeMethod(validateMethod, model, new Object[] { errors }); return true; } return false; }
private boolean invokeValidateMethodForCurrentState(Object model) { String methodName = "validate" + StringUtils.capitalize(requestContext.getCurrentState().getId()); // preferred Method validateMethod = ReflectionUtils.findMethod(model.getClass(), methodName, ValidationContext.class); if (validateMethod != null) { if (logger.isDebugEnabled()) { logger.debug("Invoking current state model validation method '" + methodName + "(ValidationContext)'"); } ReflectionUtils.invokeMethod(validateMethod, model, new DefaultValidationContext(requestContext, eventId, mappingResults)); return true; } // web flow 2.0.3 or < compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), methodName, MessageContext.class); if (validateMethod != null) { ReflectionUtils.invokeMethod(validateMethod, model, requestContext.getMessageContext()); return true; } // mvc 2 compatibility only validateMethod = ReflectionUtils.findMethod(model.getClass(), methodName, Errors.class); if (validateMethod != null) { MessageContextErrors errors = new MessageContextErrors(requestContext.getMessageContext(), modelName, model, expressionParser, messageCodesResolver, mappingResults); if (logger.isDebugEnabled()) { logger.debug("Invoking current state model validation method '" + methodName + "(Errors)'"); } ReflectionUtils.invokeMethod(validateMethod, model, errors); return true; } return false; }